正值创业热,满眼都是《CTO教你XXX》《成为高管的N个条件》……
程序员
不少开发人员都不屑于谈论怎么作好一个程序员该作的工做,幻想一晚上间升职加薪迎娶白富美走上人生巅峰。app
浮躁。眼高手低。学习
做为某互联网公司的程序员,目前仅4年工做经验,随意聊聊本身对“如何成为一名合格程序员”的见解。spa
限于眼界与见识,我认为的“合格程序员”确定与各位同仁的理解有必定差距,欢迎讨论。开发
什么样的程序员会让人感到厌烦。产品
1. 技术不过硬后台
做为技术人员,最基本的要求就是能高质量的完成被分配到的开发任务。漏洞百出的代码,无止尽的bug,这样的程序员不管在哪里都不受欢迎。iOS开发
2. 很差学,没有好奇心扩展
疯传的一句话“程序员30岁以前必需要转管理”,被国内不少程序员奉为圭臬。急功近利,没有长期的学习计划。互联网
作客户端的学了Android,就把本身陷在了Android这个圈子里,以“没时间、工做忙”为借口,入行三五年都不知道后台Server的实现。学了iOS开发,Swift语言出来一年还不知道是怎么回事。每次Google/Apple公司发布OS新版本,对改动绝不关心。
有的人工做十年是积累了十年的工做经验,还有的人是把一年的经历重复了十次。
3. 自视甚高,技术大于一切
一副“什么**PM、UE,还不得靠老子把需求作出来,什么都不懂就知道瞎bb”的嘴脸。对非技术岗的同事换着姿式的看不起,认为其余角色都是能够随意替代的,只有开发人员才是核心。在工做中毫无道理的强势。
4. 难以沟通
认死理,以技术标准做为最高标准,彻底不懂得变通。在平常工做中,丝绝不顾及他人的感觉,EQ负值。
需求没有数据支撑——PM需求不明确,不接;代码没有100%达到规范要求——功能不能上线;需求开发完UE同窗提出替换两个图标——已经没有排期了,不能换……
5. 关注过程大于关注结果
在和组内不少程序员沟通的时候,这是让我最无语的,不光是刚入职的新人,不少工做四、5年的老人在这个问题上都很容易犯错误。分配下去一个需求或bug,到了最终节点check进度,会给出一堆主观的、客观的理由,解释本身的困难。遇到明显本身搞不定的问题,不能及早暴露出来,本身憋着作,最后无力收尾。
更让我啼笑皆非的是,这类人每每还意识不到本身的问题,one-one的时候会反问:“我都作到这样了,连周末都自愿来加班解决问题,还要我怎么作?”
6. 没有认识到“螺丝钉”的定位
做为拿钱干活的程序员,公司的重点必定是咱们能为产品作什么,而不是公司能帮助咱们提升什么。幸运的,遇上工做用到的知识和我的发展须要学习的知识高度匹配,一边工做一边学习,提升很快。但多数人多是类似的模块和功能作了又作,感受枯燥乏味。聪明人应该知道先找到根本矛盾,看看到底是上级分配任务不合理,仍是本身没有作好代码的抽象和扩展致使上级不敢给本身分配更有挑战性的任务。而一直闷头去作,又从不反思,就会出现作了很长时间,但仍然只能作一个最不起眼的“螺丝钉”的状况。
另外一种情形,以前团队的一个工程师,利用本身时间开发了一个很炫酷的控件,但和app风格不搭,应用不到产品上,就三番两次吐槽UE同窗不能慧眼识珠。太以自我为中心,认为整个团队要围着本身转。实在不可取。
若是把初级程序员-高级工程师-CTO做为一个技术岗的发展路径,90%的人在还没成为高级工程师以前就已经倒下了。平时工做中,能作好开发工做,与其余团队的角色合做愉快,可以站在整个项目高度看待、解决问题的工程师绝对是百里挑一。