正值创业热,满眼都是《CTO教你XXX》《成为高管的N个条件》……
很多开发人员都不屑于谈论怎么做好一个程序员该做的工作,幻想一夜间升职加薪迎娶白富美走上人生巅峰。
浮躁。眼高手低。
作为某互联网公司的程序员,目前仅4年工作经验,随意聊聊自己对“如何成为一名合格程序员”的看法。
限于眼界与见识,我认为的“合格程序员”肯定与各位同仁的理解有一定差距,欢迎讨论。
什么样的程序员会让人感到厌烦。
1. 技术不过硬
作为技术人员,最基本的要求就是能高质量的完成被分配到的开发任务。漏洞百出的代码,无止尽的bug,这样的程序员无论在哪里都不受欢迎。
2. 不好学,没有好奇心
疯传的一句话“程序员30岁之前必须要转管理”,被国内很多程序员奉为圭臬。急功近利,没有长期的学习计划。
做客户端的学了Android,就把自己陷在了Android这个圈子里,以“没时间、工作忙”为借口,入行三五年都不知道后台Server的实现。学了iOS开发,Swift语言出来一年还不知道是怎么回事。每次Google/Apple公司发布OS新版本,对改动毫不关心。
有的人工作十年是积累了十年的工作经验,还有的人工作十年是把一年的经历重复了十次。
3. 自视甚高,技术大于一切
一副“什么**PM、UE,还不得靠老子把需求做出来,什么都不懂就知道瞎bb”的嘴脸。对非技术岗的同事换着姿势的看不起,认为其他角色都是可以随意替代的,只有开发人员才是核心。在工作中毫无道理的强势。
4. 难以沟通
认死理,以技术标准作为最高标准,完全不懂得变通。在日常工作中,丝毫不顾及他人的感受,EQ负值。
需求没有数据支撑——PM需求不明确,不接;代码没有100%达到规范要求——功能不能上线;需求开发完UE同学提出替换两个图标——已经没有排期了,不能换……
5. 关注过程大于关注结果
在和组内很多程序员沟通的时候,这是让我最无语的,不光是刚入职的新人,很多工作4、5年的老人在这个问题上都很容易犯错误。分配下去一个需求或bug,到了最终节点check进度,会给出一堆主观的、客观的理由,解释自己的困难。遇到明显自己搞不定的问题,不能及早暴露出来,自己憋着做,最后无力收尾。
更让我哭笑不得的是,这类人往往还意识不到自己的问题,one-one的时候会反问:“我都做到这样了,连周末都自愿来加班解决问题,还要我怎么做?”
如果把初级程序员-高级工程师-CTO作为一个技术岗的发展路径,90%的人在还没成为高级工程师之前就已经倒下了。平时工作中,能做好开发工作,与其他团队的角色合作愉快,能够站在整个项目高度看待、解决问题的工程师绝对是凤毛麟角。