今天是2016年的农历冬月22,离我30岁的生日只有4天。子曰:“吾十有五,而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”在孔夫子的眼里,“三十而立”是指他在这个时候懂得了礼,言行都很得当;而在现代社会,“三十而立”更多的是指一个人成家立业,有了稳定的工作,有了自己的家庭。不管是按照孔夫子的看法,还是现代的观点,我都似乎已经达到了“三十而立”的标准。
光阴飞逝,2016年还剩下10天左右的时间就要结束了。在这一年里,一个活泼可爱的小公主降临到了我们这个家庭里;在这一年里,一套属于我们一家三口的新房已装修完毕待入住;在这一年里,我在照顾家庭的同时也兼顾了工作,两者都没有落下。如果用几个字来形容我在2016年的最大的感受,那便是:痛并快乐着!
趁着CSDN举办“我的2016”主题征文活动之际,我也来对自己在这一年的工作、学习和生活进行一个总结,希望在未来的2017年里能够扬长避短,不断进步。
第一部分 有关工作
在这一年里,因为家里添丁,我难免会花一些时间在家庭上,因此放在工作上的时间没有2015年多,这也直接导致失去了争夺部门年度之星的机会。不过,凡事有得必有失,看到家里的小公主那么可爱,在工作上失去一点荣誉也是值得的。
花在工作上的时间少了,但并不表示我没有干多少活,也不表示工作的质量降低了。我大致统计了一下,我在2016年一共开发了大大小小将近20个版本,有全新开发的,也有在已有版本之上修改的。由于部门面临产品的转型,因此有很多人员被抽调去做一些新产品去了,维护之前产品的人手实际上是很紧张的。在这种情况下,我主动承担起了其他几位同事所负责的版本的开发,并且很快上手,保质保量地完成了任务。因此,对于自己在2016年的总体表现,我还是很满意的。
下面,我主要想给大家分享一下自己在开发工作中的几点心得体会(或者说是经验),希望能够对大家的工作有所帮助。
不要太过于迷信前人的代码
很多时候,我们开发一个产品的时候,并不是从零开始地编写代码,而是在前人的代码的基础上进行修改,也就是有了一个参照。如果自己所参照的代码已经商用了,也就是已经获得了市场上的成功,那么,我们就更加有理由相信这些代码是完全正确的了。这也就会导致很多人(包括我)会将代码拿过来直接用,而不考虑代码的逻辑是否正确。
例如,我今年开发了一个版本,其中涉及到向另一个模块发消息的功能,而这个功能的代码是之前的版本就有了的,这次我是直接拿来就用。但是,当所有的代码都编写好并开始集成测试之后,我发现不管怎么设置参数,发消息的地方始终有问题。经过不断地调试,并认真阅读每一行代码,我才发现之前的代码所调用的发消息函数是错误的。可能是之前对这个功能没有进行严格的测试,所以没发现这个问题。修改代码之后,发消息的功能才正常。
因此,对于一个合格的程序员来说,他们不会盲目地对代码采取“拿来主义”的政策,不会太过于迷信前人的代码(即使这些代码是大牛写的),而是会仔细阅读代码,看代码在逻辑及功能上是否有问题,是否能够满足自己的需求。所谓的“尽信书不如无书”就是这个道理。
不要盲目相信架构师(需求工程师)的需求
在很多软件公司,用户需求是由一批被称之为架构师或需求工程师的人写的,而程序员只需要实现这些功能即可。这样做的好处是开发人员只需要专心编码即可,免去了大量和客户打交道的时间,提高了开发效率;当然,这样做的坏处也是很明显的,那就是开发人员并不了解客户的真正需求,而按照“二道贩子”(架构师或需求工程师)对需求的了解来做,就可能和客户的需求脱节。
例如,今年上半年我新开发了一个版本,用于和客户现有的系统进行对接。在开发之前,需求工程师拿出了一份需求文档,让我按照上面的需求条目来开发,并且说客户要得很急。在评审需求的时候,我明显发现协议中有几个字段的值有问题,并当场提了出来。需求工程师说这是按照客户的要求写的需求,没有问题,让我完全按照需求文档来做。
开发得倒是很快,但和客户系统调试花了很多的时间,原因就是我认为有问题的字段真的是有问题,并非需求文档所描述的那样。最后,通过临时修改了几个版本,终于对接成功了。
对于一个有责任感的程序员来说,他们不会盲目地相信需求描述中的所有条目,而是会根据自己的经验、常识、原有程序功能等提出一些合理的实现方案,最终开发出满足客户需求的产品。
凡事尽自己的最大努力,对于结果不要太过于苛求
在工作中,我们所能够把控的实际上是很小的部分,大部分的环节是我们无法把控的。具体而言,作为一位开发人员,我们只能够确保程序版本的质量,让代码中的bug尽量少,但是我们无法控制产品规划、需求、现场部署、版本升级等很多环节。也就是说,我们要尽最大的努力来开发产品,但是对于最终的结果就只能抱着“尽人事,听天命”的态度。
例如,今年我通宵支持了好几个局点的版本升级及系统割接。在升级或割接之前,我们都在测试环境上进行了严格的测试验证,并且为现场的操作人员提供了详尽的操作流程文档,只要他们按照文档的描述来操作,就不会出现问题。但是,“理想很丰满,现实很骨感”,现场人员总会在某些步骤出现操作上的错误,从而引发一连串的问题。这个时候,我们就要通过各种方式指导他们如何修复已经出现的问题。当现场操作出问题的时候,我总是在心里默默地想着:“要是我来操作,肯定不会出现问题。”但是,现实就是这样,我们也不能对他人要求太高,不要对结果太过于苛求。
另外,虽然我在某一个月里连续通宵支持了好几次割接,并且也开发了好几个版本,但当月仍然没有被评为优秀员工,其他我认为做的事情比我少,并且也没有我做的事重要的人却被评为了优秀员工。在这种情况下,虽然有点蓝瘦,香菇,我也只能对自己说“呵呵”了,但愿以后自己做了事情之后能够得到部门的认可。这也说明了我们做事情要尽最大的努力,并做最坏的打算。
第二部分 有关学习
今年虽然在工作上和家庭中的事情都比较多,但我还是利用空余时间阅读了数十本书。现在我读书的方式有三种:第一种,读传统的纸质书;第二种,读在kindle上买的书;第三种,在罗辑思维的得到APP上付费阅读。大多数的书都是我在上下班的地铁上读完的。
读书的重要性我就不说了,读书的方法也因人而异,在这里,我向大家推荐5本个人觉得读后很有收获的书。
第一本:《智能时代》
这本书的作者是大名鼎鼎的吴军老师,这也是他继《数学之美》、《浪潮之巅》、《文明之光》、《大学之路》和《硅谷之谜》之后的第六本书,全书依然延续了他通俗流畅的写作风格,将大数据和智能革命的浪潮清晰地展现在了读者的面前,读后让人热血澎湃。
不管你学习的是什么专业,也不管你是否准备创业,我都推荐你仔细阅读一下这本书。
第二本:《浪潮之巅》(第三版)
这本书的作者仍然是吴军老师。自从《浪潮之巅》第一版于2011年出版之后,深受广大读者,尤其是IT从业者的喜爱,我也是通过此书了解到吴军老师的。鉴于IT行业的快速变化,吴军老师每隔两到三年就会对全书的内容进行更新,以适应IT行业的现状,今年出了第三版。
吴军老师就像是一个文字“魔术师”,总是能够把一个问题或者是一个事情用他独有的方式讲述清楚,让即使是非IT行业的读者也能够从阅读中收益。在叙事的过程中,吴军老师也会穿插一些小故事或者是个人的一些亲身经历,让读者阅读起来津津有味,丝毫不会有阅读很多IT类或历史类书籍所带来的厌倦感。
我写了一篇有关本书的书评《To be or not to be–读<浪潮之巅>第三版有感》,大家可以阅读参考。
第三本:《小岛经济学》
这本书是一本有关经济学的通俗读物,是罗辑思维推荐的,据说是下至九岁的儿童,上至七八十岁的老人都能够读懂。我读后,感觉写得确实通俗易懂,通过本书也能够看出现在全球出现各种各样的经济问题的原因。
如果大家不想阅读像《经济学原理》那样的大部头书籍,本书就是一个不错的替代品。
第四本:《人类简史》
在网上,有人称这本书为“奇书”,作者是牛津大学的历史学博士。在这本书中,作者按照人类发展的时间顺序,将整个人类的文明进程以风趣幽默的方式展现了出来,读后让人感慨万千。
人类并不是什么很神奇的物种,那么他们为什么会发展到现在而成为了地球的主宰呢?本书给出了答案。
第五本:《非洲三万里》
这本书是我在kindle上阅读的,它是毕淑敏老师根据她在非洲的游记而写成的,全书将非洲的很多具有代表性的景点、建筑、人物、历史事件以生动活泼的语言描述了出来。本书的主要篇幅虽然在描述作者的所见所闻,但我认为重点还是在展现作者的人文关怀及对人生的思考。
在当今这样一个浮躁的社会,多读读像《非洲三万里》这类好书,对于安抚内心、提升个人修养很有好处。
第三部分 有关家庭
如我前面所说的,今年我们家最大的变化就是女儿的降临。古语云:“十年修得同船渡,百年修得共枕眠”,那么,也不知道是哪辈子或哪几辈子修来的福分,让我成了女儿的父亲。
当然,升级之后,也意味着我这个做父亲的多了一份责任,多了一丝牵挂。当女儿哭闹或生病的时候,我也经常会坐立不安。以前,我会花相当多的时间在工作上,但现在,每到下班时间,我自然地就会想到该回家带娃了,虽然很多时候仍然要加班,仍然要在大部分时间里一周工作六天。
小宝贝马上就九个月了,来一张可爱的照片吧。
另外,通过这四五年的奋斗,我们一家三口终于拥有了一套属于自己的房子,目前已装修好,明年即可搬入。虽然在二三线城市工作的工资远没有一线城市高,但还是有一个优势就是房价相对来说比较便宜。对于在小地方工作的人来说,这也算是“失之东隅,收之桑榆”吧。
写在最后
眨眼之间,2016年已接近尾声。相比2015年,2016年的我还是之前的我,我工作积极主动、认真负责,且不乏灵活性和创造性;相比2015年,2016年的我已不再是之前的我,我已步入“三十而立”的年龄,我已成为了一位可爱的小公主的父亲,我已站在了新的人生的起点上。
对于即将到来的2017年,我想奉上自己的三个愿望:第一,希望自己的家人身体健康、平平安安;第二,希望自己及家人工作顺利、如意吉祥;第三,希望每位正在奋斗中的人都能够实现自己的理想!