特此声明,此篇文章向万维钢老师致敬。
程序员这个群体也有阶级,简单说是分为“精英程序员”和“普通程序员”,虽然都是程序员,但这两类人实际是IT圈里的两个物种。
“精英程序员”和“普通程序员”不是在工作经验、职位高低、智商层面有多大差距,最重要的是这两类人的思维模式差异巨大,底层认知完全不同,精英程序员看透问题和达成目标的能力是普通程序员难以企及的。
他们之间到底有何认知层面的差异,且听我慢慢道来
1、尊重规则
精英程序员更懂得尊重规则,比如每个研发团队几乎都会定考核规则,这些规则有些近乎严苛,两类程序员对待规则的态度,截然不同。
精英程序员即便觉得这些规则可能对自己不利,但如果组织上已经定下来,就会接受并执行,真得触犯了规则,也会坦然接受惩罚。
普通程序员,从内心无法接受这些对自己看似不利的考核规则,只选择性的相信并执行那些对自己有利的规则。
当自己因为某条规则受到组织奖励时,便会竖起大拇指说,这个规则定的好,当受到惩罚时,便会想各种各样的办法逃避规则,甚至找规则的漏洞,想办法逃过惩罚。
世界上没有绝对公平的规则,只能坦然的接受并尊重,否则这世界便没了规矩,任何人都可以挑战规则,挑战权威,真得就乱套了。
2、面对压力的反映
任何人面对压力都难免会产生焦虑、慌张和无助,这都是正常的反应,然后呢?
精英程序员脑子里只有六个字“不去做,然并卵”,他们认为只有快速的行动起来,分析问题,找到问题的解决方案,并调用资源去实施,这样才是摆脱焦虑的最好方法。
普通程序员的应激反应是,到处找人唠叨,找人诉苦,仿佛说出去压力也就被分担,或抛出去了,实际毫无用处,看似在减压,实际是在消耗时间,不但听你诉苦的人帮不了你,可能心里还会小小的鄙视你一下。
面对压力是做个行动派,还是做个抱怨派,这是精英程序员和普通程序员的又一大区别。
3、没有对错,只有强弱
小孩子才分对错,大人只讲利益,精英程序员认为这世界没有谁对谁错之分,只有强弱之分。
精英程序员从来不刻意讨好他的老大或者其它利益相关者,他们会竭尽全力让自己变得更强大,只有这样才能有更多的话语权。
普通程序员会更加注重同事关系,他们会特别在意自己的老大或者同事对自己的看法,做错了事希望他们能够理解,写了一个漂亮的算法又渴望得到老大的表扬,总是患得患失。
所以普通程序员看似更加友善,实际是不够强大,没有足够的话语权,希望通过这种看似友善的交往,抱团取暖,排除异己。
精英程序员只在乎自己的感受,只要我足够强大,我可以选择告诉你这个精妙的算法,也可以选择不搭理你,因为这是我的权利。
4、面向目标工作
精英程序员面向目标工作,领导交办的任务不是想着如何交付给领导,而是目标导向,先确定做这件事的目标,再针对目标进行任务分解,这样久而久之就养成了以终为始的习惯,工作能力会逐步提高。
普通程序员面向职能工作,让我写个页面,我就写个页面,让我改个BUG,我就改个BUG,工作是被动的,总感觉永远就是个打杂的,上不了更高的台阶。
精英程序员为了完成目标而工作,总能超出领导预期,普通程序员面向完成一个个具体任务工作,领导也说不出啥,但境界高低,一看便知。
5、深度思考和独立思考
当现场提了一个软件BUG,普通程序员会想尽各种办法,排除故障恢复软件服务,随后便不在追踪了,即使这个排除BUG的手段不那么高明,不那么彻底。
精英程序员,不但要想快恢复服务,而且要找到BUG发生的根本原因,还会关联分析近期发生的故障,是否有类似故障,也会一并考虑,作为一类问题,给出彻底的解决方案。
如果只是解决了当下的BUG,可能只是头痛医头,脚痛医脚,无法去除病根。
精英程序员不迷信权威,他们甚至会怀疑权威,可能是底层架构出了问题才会导致这个bug经常出现,而普通程序员都会迷信权威,不敢怀疑,所以解决问题的时候也不会往那方面想。
精英程序员也不从众,总是有自己独特的见解,老大开个会提了一个技术架构改进意见,大部分都说好的,一定是普通程序员,只有精英程序员才会站出来说不。
精英程序员不迷信权威,不从众,善于从根本上解决问题,这都是源于他们拥有深度思考和独立思考的能力。
6、学习力超强
精英程序员,脑子里都有一张自己的技术架构图,这张技术架构图,就像是一个数据库,可随时被检索,关联、更新。
他们对新技术非常敏感,总是能快速的将新技术和已有的技术架构体系建立关联,并融入进去,这样如此技术架构体系不断完善,越来越强大。
普通程序员掌握的技术点都是离散的,像一个个孤岛,无法贯通,也就没办法产生聚合效应,所以他们学习新技术的效率比较低。
超强的学习力是精英程序员的一大法宝,拥有它,是成为技术大牛的不二法门。