程序员的气质
4228 views
2016-09-17 13:50:52
是性格选择了职业,还是职业塑造了性格?
因为选专业、找工作时存在严重的信息不对称,所以能找到符合自己性格的职业是一种莫大的幸运。
所以,在这个看气质的时代,你的气质决定了你是否能成为一个一流的程序猿,也决定了你的职业发展究竟是技术型,还是管理型。
这篇文章主要供应届生和职场新人求职参考,当然了,对在职人士的职业规划也能有帮助。
1、做一流开发必备的气质,你有没有?
技术岗是互联网中对硬技能要求最高的岗位。入门门槛高,需求量大,平均工资也居冠。很多冲着高收入而不考虑性格匹配度入行的人,看在薪水的面子上,过得还算不错,但持续发展方面容易遇到严重问题。
高智商是技术人员必备的第一特质。用加倍努力来弥补智力的不足,多数情况是行不通的,甚至会适得其反,为后续工作带来无穷尽的麻烦,严重拖垮整个团队的效能。智商在这里的主要体现在逻辑思维和抽象思维能力。
创造力是技术最大的快乐源泉。工程师本就应该是以创造为乐,以造福他人的成就感为回报。如果不爱创造,不喜动手,那在这个行当里肯定是生不如死。
懒惰是技术进步的第一推动力。我曾见过很多“勤快”的程序员,不厌其烦地一遍遍手敲命令,一坨坨地拷贝、粘贴代码,一次次地手工运行、测试。这种低效导致加班严重,看上去好像很“勤快”,但事实上是典型的能力不足体力凑。拼脑力的岗位如果变成体力导向,是非常有破坏力的。一名好的技术不会本分地面对机械重复工作的,而是会通过写脚本、重构、自动化测试等手段让自己可以“偷懒”。
以上是基本气质。在不同的发展路线,还需要不同的气质。
2、入了行,未来怎么走,还是看气质。
刚入行的技术,基本都是“码农”。按照别人的要求,把功能如约实现就好。这个阶段是积累经验、了解行业的过程,也是为自己寻找发展方向的过程。
未来的你走什么路线,归根到底还是气质问题。
技术发展(这里只谈我了解的软件)不外乎三条路:算法、底层和业务。能在一条路上精通,就很不错了。而厉害的人可以同时兼顾两条路。三条都牛的人,蛮罕见的。
技术 1:算法路线
走算法路线,对智商的要求是高于其它路线的。但也不能说高到哪里去了。毕竟在企业里做算法工作,更多的是应用成熟算法,而不是自己设计算法。
算法路线比较适合耐得住寂寞的人,因为做算法常常是站在产品的幕后,好的结果又往往需要慢慢“熬”出来。算法往高走,对基础的要求就比较高了。不是博士出身,没在顶尖研究机构混过,在企业里也很难做出特牛成果。所以一般本科生不太建议走这个方向。
技术 2:底层路线
底层路线,是围绕着操作系统、编译原理、分布式系统、数据库、软件工程这些理论,用各种工具搭建出酷酷的应用开发、运行环境。把各种复杂的工具跑起来,不仅和谐共处,还能发挥各自的长处,弥补各自的短处,并不是个简单工作。如果能再自己开发一些好用工具,就更不简单了。
极客、黑客范儿的人,是最适合走这条路线的。爱折腾,爱尝鲜,崇尚开源文化,细致缜密,是做好这一行的标签。
运维、DevOp、云计算、大数据、架构师,这些岗位或领域的人,多是能呼云唤雨的底层高手。
技术 3:业务路线
大多数技术都是在业务线生存和创造价值的。如果论技术光环,这条线是比不过前两条的,容易产生“对技术能力要求不高”的感觉。从某些角度看,确实如此,但这条线也有自己独步天下的技术,那就是复杂业务建模能力。
修炼这项能力,除了技术的通用要求外,还需要比其它路线更强的沟通能力和抽象能力。或者说,对情商的要求最高。
有经验的工程师可以成长为技术 leader。
leader 更多的是关注普通员工的技术成长,用言传身教来培养新人,严格来说这并不是一种管理。不再从事一线生产了,才是真的走上管理路线。
我一直认为,技术精湛的工程师转做管理是一种浪费。只有两种情况适合转管理:
A:技术已经登峰造极,实在难有更大挑战,到管理岗上挑战自己一下;
B:技术还行,没兴趣继续发展,但情商出众。
前一种转型成功的都是人中之龙,因为在理性领域积累越多,感性层面就越容易欠缺。多数技术出身的优秀管理者是后一种,这是明智的选择。也有不少这两种都不是,但被“管理”的光环诱惑,过早离开一线。对这种人,我只想说:自作孽。
当然了,我相信大多数阅读此文的同学,都还在技术的门口徘徊,可能还有很多人在犹豫,自己究竟应该做前端,还是做 iOS,还是安卓……