Table of Contents:

0.怎样算是优秀的

对于大部分的软件开发团队都有这样的一个现象,那就是团队中的少数(一般来说,小于总人数 的20%)开发人员具有更快的开发效率、更好的程序设计、更好的代码质量、更善于 debug、更能 够解决技术难题......(总之就是让 team leader 事事省心)。而且这一小撮开发人员的贡献总 和可能与另外那一大撮人(大于总人数的80%)的贡献总和不相上下(甚至可能超过)。那么, 这一小撮开发人员,就是我所谓的优秀开发人员。

1.关于兴趣

因为物理学超级大牛爱因斯坦曾说过:兴趣是最好的老师。俺对此深以为然。所以咱们先从兴趣这个话题聊起。 兴趣这玩意是心理学层面的东西,据说人在本能上有一种“构建”的快感(例如小朋友喜欢搭积木就是)。有些人天生喜欢写程序,就是因为能够从中体会到构建的快感。 有兴趣的开发人员和没兴趣的开发人员,差别怎么就这么大捏?这主要是因为有兴趣的人,比较有动力去学习新东西、碰到新鲜玩意喜欢去刨根问底、碰到开发过程中的困难(比如一些难调试的bug)也显得比较有耐心、......久而久之,两种人的差别就渐渐地体现出来鸟。

2.关于自学能力

根据自学的主动性分为以下几种:
* 抗拒自学者
这类人不愿意自学(部分人是由于懒惰、另一些是由于抵触新事物)。当工作中要用到某项新技术而需要自学时,他/她就找若干理由推诿

自学的常用招数: 网站,视频,书(可习惯于电子书和英文书),综合的小项目

3.设定个人发展目标和计划

大部分人从来没有【明确】地设定自己的发展目标,每天都是得过且过。等到几年过去了,才发现自己这些年啥也没学会,还是老样子,然后就感叹时光飞逝、岁月如梭。

  1. 要把目标设置得【难易适中】。太容易的目标对自己的成长帮助不够大;而太难的目标则容易中途放弃或者超出时间(导致打乱计划)。
  2. 设定的目标要尽量容易评估(否则到时候连自己也搞不清楚到底目标算不算已达到)。

4.做正确的事

优秀的开发人员往往具有较高的效率。俺这里提到的【效率】包括两方面:“做正确的事”和“正确地做事”。并且“做正确的事”比“正确地做事”更加重要。

一些不好的习惯:
* 先做自己喜欢的事情,再做自己不喜欢的事情
* 先做紧急的事情,再做不紧急的事情
* 先做容易做的事情,再做不容易做的事情
* 先做自己了解、熟悉的事情,再做自己不了解、不熟悉的事情
* 先做有趣的事情,再做枯燥的事情
* 先做易于告一段落的事情,再做不易于告一段落的事情
* 先做自己熟悉的人托付的事情,再做自己不熟悉的人托付的事情

如何克服?

5.正确地做事

“正确地做事”主要讨论的是有关工作效率和工作质量的关系(也就是如何“多、快、好、省”地完成工作)。

1.善用工具

假如一个开发团队从来不做代码基线或者代码分支,仅仅是把 RCS 当成一个源文件的备份工具来用,那至少说明这个团队的 Team Leader 在软件工程管理方面非常失败。