毋庸置疑,职场中决定程序猿价值的绝不只是编程的技能,作为程序猿的你,如果在职场中只拼编程技术能力,那路肯定走不远,为什么?从我的工作经验和认知理念认为决定程序猿价值的个体能力=编程能力x专业的工作习惯x态度。当然,我的眼界和经历有限,我说得不一定全对,欢迎大家拍砖和交流。
1.程序猿的编程能力只是基础和前提
编程技能的重要性无需赘述,是程序猿入行的基础和前提,我们每次找工作每家公司的面试官都会重点考察你的编程技能,它决定了我们在工作中编码解决问题的能力,如果这种专业技能方面都不行其他无从谈起。然而很多童鞋认为只要我的编程的技术能力强就可以了,这种认识不全面的,我们除了关注专业技能的提升外,还要重视培养专业的工作习惯和较真的态度,我觉得工作中这两大方面被忽视了就造成程序猿感觉很苦逼的原因。
2.专业的工作习惯让你的价值配增并成为职场上升的推力引擎
什么是专业的工作习惯?即是能体现你专业的职业素养的工作习惯,下面我列举一些专业的工作好习惯供大家认知下。
1)良好的编程习惯
基本上每个软件公司都有自己的编程规范和指南之类的,这些规范大同小异,主要是一些编码格式、命名、注释、api和sql用法等等,但是在编码过程中能将其完全执行并形成工作习惯的却非常少,我觉得如果能做到其中的百分之六、七十都算很不错了,但达到这种程度也不多,这些规范和标准没有多大的技术含量,但很大程度体现了行业标准,增加代码的可读性、健壮性和可维护性等等,做到了就体现了你专业的职业素养。
2)坚持编写文档习惯。
很多程序猿在开发过程中害怕写文档,更别谈坚持编写文档当作工作习惯了,文档的重要性不言而喻,如果缺乏文档项目中需要注意的地方或一些重要的实现逻辑等,随着人员的更替而失去了传承,定时炸弹埋得越来越多,最后造成项目的维护成本大于开发成本。也有人认为代码就是文档,这个其实是装B的借口,很明显让一个新人去熟悉一个全新的项目,如没什么文档可想而知,靠口口相传和阅读代码的学习熟悉的曲线是很陡的,有时遇到一些问题一时不知如何入手。所以不要再拿代码就是文档来装B了。
3)积极主动遵循各种开发流程的习惯。
每家软件公司都有成文的或不成文的开发流程,所以遵循这些流程的习惯很重要,大家到任何一家公司首先要充分了解该公司的开发流程并去执行,遵循这些流程能提高各个环节的整体效能,减少不必要的重复劳动或沟通或冲突误会什么的。如果你还没有流程意识那就要抓紧梳理自己所在公司的各种流程了,不然你总会被上级盯住提醒你这的那的。
4)乐于帮助他人和分享的习惯
在我看来,乐于帮助他人和分享的习惯更能体现出你对团队的贡献,乐于分享不仅限于别人需要你帮助时积极协助,而更多的是在你的工作中坚持对他人有帮助的角度出发来做事情,比如将工作中解决某难题的思路或方案写下来与大家分享,这有助于其他人避免犯同样的错误,再比如在维护项目中把经常遇到的问题整理成维护文档提高沟通的效率和方便他人维护等等。真正学习型的团队会重视技术的积累和知识的分享,这就需要每个人有意识持续地将自己所掌握的有助于他人更高效完成工作的知识形成文档、wiki等形式进行传承和流转,也只有这样,才能在团队中建立起“我为人人,人人为我”的良好协作氛围。
5)注重团队协作的习惯
由于团队协作太重要了,不得不把他列上来讲下,工作中不是你一个人在战斗,团队不需要个人英雄,一个编程技能很强的人,如果他喜欢单打独斗而非互相协作,那他的能力就大打折扣了,所以一定要有团队协作的习惯。
如果你拥有这些专业的工作习惯,这肯定让你的价值配增,这些也成为你职场上升的推力引擎,大家可以在工作中细心地观察下,这样的例子比比皆是,我就不再举例了。
3.态度决定一切
态度决定一切,这句话我觉得一点都不言过其实,专业的工作习惯形成需要我们拥有较真的态度。较真态度一旦缺失就很容易导致做事情降低要求或不到位,从而助长一些工作上的不良作风,能不做的就不做,能少做就少做,能将就的就将就,总能找到各种理由推脱,所以一个人编程技能再高,但没有专业的好习惯往往给人的感觉是能做事情但总让人不放心、做事不专业,其工作的结果很不稳定而难以预测,因此这类人的整体能力还不如技能一般但有专业的工作习惯的人;所以培养较真的态度是形成各种专业工作习惯的先决条件,工作中高标准严格要求自己,尽可能用心负责任地多做一些。
是的,程序员如只拼技术则路肯定走不远。希望程序猿们提高编程技能的同时多多培养好的专业习惯,相信你的职场会走得顺风顺雨些。
文/阿青(倾力原创),写代码写诗写职场的程序猿大叔,转载此文章请联系阿青。