工作中的一些感悟

作者: 活成理想中的样子 | 来源:发表于2017-10-22 23:27 被阅读52次

    君子博学而日参省乎己,则知明而行无过矣。——荀子

    今年是自己工作的第三年了,最近一段时间感觉自己工作状态不是很好,于是想对自己的工作做一次深刻的总结,同时也整理了一下自己三年来作为一名程序员对工作感悟,在这里与大家一起分享和讨论。也许若干年后回过头来看,会发现现在的自己是多么对单薄和稚嫩,但这些的确是我当下的想法和感触。

    最近刚好在看暖呼呼写的《画出你的答案:用思维导图理清思路、解决问题、达成目标》,因此本次就用思维导图的方式做了一次整理。主要从工作态度、工作方法、技能成长、生涯规划四个方面展开。

    我的工作感悟

    工作态度

    态度决定一切,良好的工作态度是我们能取得工作成绩,快速成长的基础。

    危机意识

    作为一名程序员,在计算机技术日新月异的今天,也就注定了我们需要不断的学习新技术、新知识,而不能只局限于自己眼下的工作,我的下一份工作可以做什么?如果想跳槽,是否可以获得自己期望的薪水?听起来虽然很残酷,但是现实就是我们不进则退,在一家公司辛辛苦苦干了七八年,出去后发现外面根本给不了之前的薪水,同等待遇的要求自己又达不到,这种情况不在少数。

    说一个我自己的例子,由于在这家公司已经3年了,就想出去面试一下看看,结果面试第一家公司时,就觉得自己离用人单位的要求还是有一定差距,看来钱还真不是那么好赚的,用查理芒格的话说:得到某个事物最好的方法,就是让自己配得上它。

    积极主动

    我觉得一名合格的工作者和一名优秀的工作者的很重要的一个区别,就是他们对待工作是不是积极主动。

    合格的工作者只求把工作完成,然而优秀的工作者不仅仅将工作出色完成,并且在这个过程中追求极致,思考怎样能做得更好(即使领导并没有要求)。

    积极主动还体现在,主动去发现现有系统、现有模块的一些其他人很容易忽视或者已经习以为常的问题,尝试去解决。

    积极主动还体现在,遇到一个问题时,不是逃避,不是敷衍,不是应付,而是真正找出问题的原因,并且考虑如何避免下次出现类似的问题。

    再拿我自己来说,我曾经在做过做过一段时间的数据统计工作,经常写很多统计脚本,虽然也曾尝试做过一些通用统计逻辑以提高效率,但是也只是做到了70分,有一次跟一个同时聊天,他说他正在思考怎样做一个通用的日志统计框架,可以简单开发和配置即可实现自定义的统计任务,显然,他正在思考80分甚至90分的解决方案,而我只停留在了70分。

    owner精神

    对于我们负责的模块,或者领导交给我们的一项任务,我们就要把自己当作owner来对待,不只局限于完成自己那一点点工作,而是关注整个流程的进展和风险,并及时跟领导汇报项目进度。有需要其他团队配合的,则应该定期跟进进度,而不是各干各的,结果临近上线才发现对方delay了,导致上线风险。

    工作方法

    工作方法的重要性丝毫不亚于工作态度。如果将工作比做一次航行,那么工作态度就是我们勇往直前的勇气,而工作方法是我们的风帆,合理利用风向、熟练掌舵,可以让我们扬帆起航、乘风破浪。

    时间管理

    在这方面,我做的很不好,值得大家引以为鉴。

    曾经,工作一多,我就手忙脚乱,丢三落四,经常需要同事提醒。

    曾经,在项目排期时我预估工作量为3天,但是真正开始做了,发现3天根本不够,在实际工作中,你很难集中经历去完全投入需求开发,一会系统有bad case,你需要立刻排查;一会,pm需要一个业务数据,需要你去写脚本统计�……。

    因此在时间管理方面,我觉得一定要学会做好todo list,一方面把需要做的事情列出来避免遗忘,另一方面也便于区分优先级。另外就是在排期时要给自己预留一定的buffer,避免到期完不成任务的尴尬。

    工作总结

    随着时间的积累,我们可能会做越来越多的项目,开发越来越多的需求,如果不能及时进行工作总结,可能很多重要的细节也将随着时间慢慢流逝了,没有转化成自己的经验积累。

    当然了,大部分公司都会每周写周报,但是我觉得只写周报依然不够。周报更多的只是关注项目进度风险和上线效果,但是还是缺少对于项目整体的分析,我们在完成一项较大的工作后,最好能够复盘一下,在完成过程中,遇到过哪些问题,当时是怎么解决的?事后看是不是有更好的办法?项目最后取得了哪些收益?

    如果我们记录了以上这些,那么即使过了很长时间,我们也可以重新回过头来再看之前遇到过的那些问题和解决方法,并知道当时做完的效果,给我们目前的工作提供指导。

    在这方面,我做的完全不及格,工作3年了,能够拿出来回顾和总结的东西却很少。

    多问why

    在我刚工作的时候,领导交给我什么任务,我二话不说就去做,合作团队提出一个需求,我不去想是否合理,就答应下来。后来我们经理找我谈,慢慢教会我工作中要多问几个why:为什么要做这件事情?为什么是我们做这件事情?可能问完以后发现,自己根本不需要去做,甚至这件事压根就是一个伪需求。

    事情做完后,如果不符合我们的预期,我们也要问为什么结果是这样?是不是我们在需求评估阶段根本就没有想清楚?是不是支撑我们做这件事的原因根本就没有这么充分?

    全局观

    我们在一个项目中不能只了解自己做的这一块,而是要对整个项目的背景、架构、重点技术细节有所掌握;在一个团队中,不能只了解自己做的系统,也要了解其他同事正在做什么,对自己的项目是否可以借鉴。

    幸运的是,身边总是有非常优秀的同事值得我去学习:有一个同事没事时就查看其他项目的源码,了解其他项目的技术细节,我想他学到的一定很多,对团队对整体一定有更深刻的认识。

    技能成长

    作为一名程序员,技术是我们安身立命,吃饭的本领,当然需要我们在整个职业生涯都高度重视。

    在实践中,我觉得以下几点是效果比较好的:阅读技术书籍、写技术文章、组内分享、关注业界动态。

    当然,我深知这上面说的每一项要做到都非常不容易,例如阅读技术书籍,我们其实很少有大块的时间用来读技术书籍,但是还是需要对我们要用到的技术多读一些技术书籍,做尽可能系统的学习。当然,也有一些技巧可以来提高效率:先读我们眼下要用到的书,这样可以针对自己不懂的地方有针对性的学习。

    写技术文章也是一种非常好的学习实践,在写作的工程中往往需要强迫自己阅读大量的资料、做系统的整理。

    生涯规划

    以我目前的观察和认知,身边技术体系的同事有三种:

    • 业务领袖:以业务分析、梳理,业务创新见长,往往可以将复杂的业务清晰的梳理、抽象出业务模型,并指导下一步的技术实现,或者具有较强的行业洞察能力,能够提出前瞻性的创新业务。这一类人逻辑思维能力、业务抽象能力、行业洞察能力都非常强,但可能技术一般。
    • 技术架构:以全面、深厚的技术能力见长,能够给出复杂业务系统的技术架构,并提出针对特殊需求的合理解决方案。这一类人需要具有深厚的技术积累和大量的项目开发经验。
    • 管理:协调、整体把控能力见长。需要协调组内资源和组外资源进行项目开发,同时把控项目进度和风险,出现问题及时发现并解决。

    我们需要根据自己的特点,找准自己在团队中的定位,认清自己的优势所在和发展方向,不至于迷失自我,到头来一无所长。

    以上就是我对于自己工作的一些思考和总结,欢迎大家指教,一起讨论,共同进步!

    本文已迁移至我的博客:http://ipenge.com/48656.html

    相关文章

      网友评论

        本文标题:工作中的一些感悟

        本文链接:https://www.haomeiwen.com/subject/ziukjxtx.html