牛逼的程序员与平庸的程序员的区别在哪?
-
学习新知识的能力
比如有的人可以在3天内 给3D建模,有的人一个星期却只能下载出这个软件。 -
对基本知识对掌握能力。
牛逼的程序员写一句helllo world知道会占用CPU什么,虚拟机如何加载,能占用多少内存,如何调用IO,但是平庸的程序员只知道这可以打印出一行字而已。
他们调用一行API的时候不是考虑一个功能而是考虑了它怎么实现,影响的性能问题,可以适用的范围。会对其他方面的影响等。 -
大局的能力
牛逼的程序员写代码的时候可以将代码将调试、后续维护都考虑进去了,他们打上正确的log, 给出profier可以监控程序的健康状态。而平庸的程序员则只是完成好表面上的功能而已。 -
团队合作的能力
牛逼的程序员重视团队,而非个体,可以激励、配合团队的合作。而平庸的程序员则只是在乎自己是否开心。 -
提升业务的能力
平庸的程序员认为编程只需要完成PD的需求,老板的意思就可以了,牛逼的程序员可以识别出当前需求的合理性并且和PD老板沟通,并且根据业务发展情况和团队当前的状态定下当前的技术架构以及技术方案实现的优先级。
程序员应该有哪些素质
- 框架设计能力,例如Rest Client交互框架设计
- 专业领域的能力,例如如果做Android客户端的话,就是要了解Android图形系统
- 底层知识,例如常用算法,进程通信方法,内存管理
- 产品的品味,业务逻辑的理解 。在产品中贡献自己的想法。
- 学习新技术的热情和能力
应该如何改善
- 反思,每次做完一个项目和功能后反思一下哪里不足,然后有意识地改善
- 留出固定时间学习新知识,例如操作系统,算法等
- 总结并且记录已经做过的事情
- 关注最新的可以新闻与开源项目,熟悉最先进的行业解决方案
网友评论