1. 建立自己的身份并获得社会认可。
我坚定的认为,作为一名开发者应当建立独立的“工作身份”。我有一个博客,可以说我的工作非常繁忙,但是我发现只有博客能真正激发我的创造力。我可以自由谈论任何感兴趣的话题并且发表看法。我经常浏览曾经写的文章,并深知作为一名开发人员我是如何一步步进步的。
2.努力,再努力!
无论是谁,如果他没有在编程上下功夫,没有花费大量的时间,那么他不会成为编程高手。这就意味着,当别人都已入睡或者在Happy时,而你需要日以继夜的工作,为你的职业生涯努力奋斗。
3. 伟大的程序员是天生的,不是后天造就的。
起初我很犹豫是否要进入编程领域,这是因为有太多的负面信息,比如书呆子(恐龙,住在地下室)等等形容词的出现。
如果你来观察我的团队,你会发现他们都有一个相同的性格……与他们相比,也许我真的不适合这个领域。但是我不能骗自己,我天生就是一个伟大的程序员,因为这个行业需要这一类特殊的人——他能解决代码质量问题并且掌握每一个环节以及开发环境中的每一处细节。
平心而论,在我见过的职业生涯中,大概只有8名程序员适合这项工作。这绝对是最顶尖的职位,如果你的团队有这样的人,那么你是幸运的——他能有助于提高大家的技能水平。
4. 我们需要更多的业务分析师及女性程序员。
在过去的五年里,有两类技术人员正在崛起——业务分析师(项目没有因为“坏”程序员失败,而因编程团队未能理解项目成功的意义失败)。类似“瑞士军刀”型的开发人员能够做好每件事——包括人员对接和需求解释。这就意味着需要考虑群体思维及写作方式,坦白来讲,男性很难做到这一点,因此,这就迫切需要更多的女性程序员加入该领域。
5. 管理即是培养。
有一种很老派的教学方式把软件管理比喻成:“我的孩子很懒惰,我必须站在他们后面强迫他们工作。” 可以说,这种建议+控制的方式在程序员行业根本行不通。优秀的程序员是能够主动解决这些问题的。如果你给予他们足够的自由,告诉他们做什么而不是如何去做——通常他们能超出预期的完成任务。
6. 注重培养学习文化。
伟大的团队都相类似——拥有高度的自主权(选择以任何方式解决问题),掌握(意味着需要具备工具和经验)及目标。
最后:
伟大的程序员不是在旦夕之间就可以成就的。有些人可能要花上数年,有些人则需要十几年。好的公司当发现你有成为伟大程序员的潜质时会帮助你,为你提供舞台。而你会通过努力工作让团队进步来证明自己,通往伟大程序员的道路会很长。