程序员的修行之路 - 培养工作兴趣
你是为钱而工作还是为理想而工作?看中国好声音的时候,里面导师问的最多的问题就是“你的理想是什么?”,歌手们千篇一律的回答,无非就是坚持音乐,拥有更大的舞台,拥有更多的粉丝。可是我想问,我们真的能为理想而活。考大学的时候,我的理想是学物理,可偏偏被数学录取,考研的时候,觉得自己还有点天赋,希望在数学方面继续深造,可阴差阳错被分到了算法(模式识别图形处理)方向,到了毕业找工作,觉得我这个方向以后会有不错的发展,而且自己刚刚上手,结果大失所望,这个领域很难找到饭吃,最终做个普普通通的程序员。是不是觉得相当的苦逼,其实这不只是我的经历,也许有很多人跟我一样,有着相似的命运,这就是现实和理想的冲突,面对现实我们其实没有多余的选择而已。但是,反过来想,理想总是太高远,有时候飘忽不定,很多时候人很难对自己有准确的定位,随着不断的成长,你会对生活又有了新的想法,最初的理想早已被抛在九霄云外,所以,回到我最初的问题,你是为钱而工作还是为理想而工作?我想大多数人会选择最务实的答案,经济社会本来就是务实的。但是我如果将问题稍微修改一下,你是想为钱而工作还是想为兴趣而工作?你会有什么样的答案呢。
社会太务实,我们谈不了理想,只能退而求其次,谈谈兴趣咯。想想看,如果没有找到自己理想的工作,工作中又没有自己的兴趣点,那这样的工作会变的何等的乏味枯燥。因此在工作中,要注意培养自己的兴趣,带着兴趣工作,你会发现工作不再枯燥乏味,反而会增加你工作的动力,同时也会拓展你的视野,学习到新的东西。IT领域日新月异,更新换代很快,不断有新的技术涌现,程序员只有不断的学习,补充新知识,才能紧跟科技潮流的步伐。因此,程序员必须培养自己对技术的热衷和好奇心,学会不断的探索,才能不断的完善自己,增强技能和战斗力。
如何培养自己在技术方面的兴趣?我可以结合我自己的经历来讲述。记得读研的时候,我一个纯数学方向的本科生转到了模式识别图像处理算法方向读研,对于编程,除了考计算机二级时的那点皮毛,真的是一点基础都没有,虽然因为有比较好的数学背景,对于理论的学习相对比较容易,但是对于算法实现,感觉自己非常吃力。为了补计算机及编程基础,除了自学C及C++编程基础的书来读以外,就是每周都会选几节本科生的计算机课去听,一学期下来,总算有一些收获,感触最深的是,对C++的学习,C还是一知半解的情况下,学C++真的是非常吃力,c++primer我至少读了两三遍。学了这么多,最重要的其实还是实践,一直觉得自己对理论的理解是比较快的,但是动手编程的能力比较差,后来在学习机器学习的时候,专门选了几个典型的算法,在网络上找了很多参考的例子,自己动手实现了,影响最深的是使用前馈神经网络识别阿拉伯数字,最终识别率只能达到89%左右(我那个时候好的算法能达到95%左右),虽然不算高,但是对我来说已经算非常兴奋的事情了,就这件事情本身来说,让我对编写程序,产生了极大的兴趣,这就是成就感所产生的化学作用。
刚工作的一年多,感觉自己在工作上的压力非常大,不断有新的东西要学习,同时又经常被项目经理劈头盖脸的批评搞的很受挫,那段时间曾经怀疑过自己,是否真的不适合这个行业。不过还是坚持了下来,一年多的时间,不断的在项目上得到认可,同时在软件的分析和设计上有了很快的成长,最终我在离开我第一家公司之前,从设计到开发,由我单独负责一个子系统。有时候人需要在压力下,不断挖掘自己的潜力,你才能对自己有新的发现。后来跳槽进了华为,原因当然是为了钱啊,当初给我开的工资是当初的两三倍,不来才傻缺呢,不过还有个根本的原因就是,我在第一家公司能够学到的东西感觉已经就那么多了,再呆下去,我能看到自己还是干着类似的活,做类似的产品,进步的空间太有限。来华为后,我从windows 界面开发,转向了linux云计算,对我来说完全是全新的领域,而且也颠覆了我对软件开发的认识,在华为的几年时间里,我做过很多项目,从开发到维护,同时也拿到过专利,抛开工作的艰辛外,我想我的收获是满满的,尤其是逐渐培养了我高效的工作方法,和分析问题的能力,同时让我接触到了开源软件,可以在开源软件里找到自己感兴趣的项目进行学习。从我个人的经历来说,如果你想进步,首先需要得到自己的认可,并且能够从自己工作的项目中找到成就感,同时拓展自己的兴趣视野,这样才能不断的激发自己的工作热情。因此我觉得如果你要热爱程序员这个行业,最重要的就是不断培养自己的兴趣和好奇心。
版权声明: 本文为 InfoQ 作者【牧马人】的原创文章。
原文链接:【http://xie.infoq.cn/article/c09931a3d2edb5e0244118633】。文章转载请联系作者。
评论 (2 条评论)