原作者调查了数以百计的程序员,询问作为开发者应该提升的方向。这里的十倍速并非仅仅指开发能力方面,程序员的核心业务技能是开发能力,但这并非卓越工程师的唯一能力。
没有人是天生的卓越开发者,大牛们通过专注和大量的刻意练习来成为大牛。
原作者在Twitter上做了一个调查问卷,收集人们关于卓越开发者和糟糕开发者之间分别喜欢用什么形容词。
卓越开发者的特质
让我们来关注卓越开发者被提到最多的五个特质:
- 解决问题 对于大多数项目而言,总会有某些谁都不愿意碰的逻辑代码。如果你愿意深入研究相关代码并重构一把,你会让所有相关开发人员的工作都轻松很多。对于需要手动重复操作的事情,使用工具做成自动化流程。永远关注产出大的工作。
- 熟练 技能通过两种方式习得:理解和练习。首先,充分理解概念,之后把概念落实到实际工作中,学习编程最好的方法就是写代码。
- 指导他人 单个开发者的生产力是有限的,能够帮助同伴提升生产力是卓越开发者的必备特质。常见的code review,结对编程就是很好的提升生产力的形式。
- 良好的学习能力 由于技术发展迅速,卓越开发者既能够将自己掌握的能力教授给其他人,还能够较快的学习新的技术。
- 激情 富有激情的开发者拥有主人翁意思,能够主动去推动和把控项目的进展。如果缺乏激情,很少有人能够坚持长时间的刻意练习。
糟糕开发者的特质
- 无法解决问题 某种程度上来讲,程序员就是为了解决问题,薄弱的问题解决能力几乎是一个糟糕开发者的标签。索性这个问题可以通过主观刻意练习提解决。
- 骄傲自满 骄傲自满的开发者通常习惯于抬高自己或者贬低别人。但是很快所有人都会发现他并没有自己所吹嘘的那么厉害。解决的方法在于需要勇敢承认自己的弱点。
- 缺乏协作能力 这和骄傲自满有一定的关系,骄傲自满的人通常无法轻易接受别人的意见。在协作过程中应该尽量保持和善友好。
- 缺乏激情 永远被动工作,缺乏完成具有挑战性工作的动力。参考上面激情的条目。
- 固执 固守己见,听不进他人意见。
网友评论