1.在电脑上写代码应该是最后的才去做的事了,而更多重要的事将在思考与讨论中完成,”他说,“在写码之前,你就应该想好你要做些什么,你想要达成怎样的效果,然后通过哪些方法去做,做的更好。而不是在那儿不过脑子的敲键盘,以至于你都不知道你的逻辑是不是在有效的。一定要记得,你是否优秀不是通过代码行数来决定的,而是通过你的逻辑,你的思想。而你的逻辑和思想,将在你所写的代码中体现。
2.公开发布到Github或其他公共代码平台上。
即使你不认为有人会使用它,喜欢它,或者甚至看上一眼,还是要发布你的代码,一旦你觉得它达到生产标准的话。你的项目可能不会改变世界,但它可以让你脱颖而出,让你可以坦然对待别人查看和批评你的工作。此外,它可以让你的简历增色不少。
4.写博客,展示你正在学习的东西,怎么学习以及为什么。
向世界(以及将来的雇主)展示你正在学习,以及你有主动的学习意愿,就可以让你领先于95%以上的同行业开发人员。你也可以练习你的写作技巧,这个过程也能让你学到很多关于自我方面的东西——你如何处理问题,如何分解和解决。你还需要整理一下你常用的思考方式,如何学习和成长,以及如何取得进步。
5.在软件开发社区中表现活跃。
解决问题,看别人怎么解决问题,说出自己的声音和意见。我通过Stack Overflow和编程社区做到这些。这还不是最宽容的文化,因为你将会遇到一些非常眼尖的开发者咆哮你怎么在伪代码中忘记了后面那个括号,但这能让你与其他的开发者交流,使得具备接受诚实(有时是残酷)批评的经验,并知道其他人可能会如何处理问题,从而打开思考问题的新思路。
6.学会如何简明扼要地解释给技术和非技术人员听。
我总是听到大家说沟通是实现职业成功时,要掌握的最难和最重要的事情之一。在早期,我认为这是无稽之谈——只是跟人讲电话,会议期间交谈,发送电子邮件能有多难?任何有着专业沟通经验的人都会对这种看法嗤之以鼻,我现在也会。你会惊讶地发现误解的快速突然出现,工作流程是如此之复杂,以及项目进程的拖延。
要真正掌握高效的沟通,你需要对实际工作中你需要工作于什么有一个基本的了解(我强烈推荐Charles Petzold的《Code》)并彼此交互。写博客,并与编程社区互动有助于有效地提高沟通能力。
如果你能掌握简练,实事求是,通俗易懂(如果需要的话)的沟通方式,并将复杂的问题和解决方案分解为可理解和很小的块,那么你就能在软件开发领域立于不败之地。你会发现项目经理,其他的程序员,以及执行主管等都会争夺你去他们的团队。