一个优秀程序员应具备的品质

一个优秀程序员应具备的品质_第1张图片
图片发自App

如何成为一个杰出的程序员?

1. 学会看代码

大多数程序员都只愿意用自己写的代码,但高手一般可以轻易调用别人写的代码。表面看上去是工作习惯不同, 但实际上是能力上的差别。看代码要比写代码难很多倍。

我建议上班时多给队友们作 code review,下班后试着阅读 github 上的开源代码。

2. 复习与总结

程序员一般都很忙, 手上有永远也做不完的活儿。但在某些公司里, 你只是在反复做同样的事。偶尔放下手上的活儿,留下一部分时间来分析自己的弱点,给自己的知识与技能做总结。不断发现和更改坏习惯,看新书, 或学习新语言。

3. 做个人项目

工作中的编程一般只能让你熟悉一部分技术, 导致漏洞的形成。这就好像你长期一个人在自己后院练习投篮, 但第一次打比赛才(在惨败中)发现原来还需要传球, 防守, 抢篮板这些概念。

Facebook 喜欢雇佣所谓的 「full stack programmer」,就是一个人从设计,到交互,到 html,css,javascript, server,sql, 架构和数据统计都能做。成为 full stack programmer 最好的方式就是不断做个人项目。

4. 问答网站

问问题和回答问题都是很好的学习方式。 有的时候写出一个好问题, 比写出解答此问题所需要的代码还难。写问题可以帮你整理自己的思维逻辑。你可以试着每周在 http://stackoverflow.com 上问一个好问题或写一个好答案。

5. 加入一个好团队

最好的进步方式就是跟比自己强的人一起做事。高手都愿意聚在一起,所以很多会选择去优秀的早期创业公司。我在硅谷和创新工场创业时遇到了很多神人, 跟他们学了不少东西。

程序员的美德

Perl语言的发明人Larry Wall说,好的程序员有3种美德: 懒惰、急躁和傲慢(Laziness, Impatience and hubris)。

1. 懒惰:

是这样一种品质,它使得你花大力气去避免消耗过多的精力。它敦促你写出节省体力的程序,同时别人也能利用它们。为此你会写出完善的文档,以免别人问你太多问题。

2. 急躁:

是这样一种愤怒----当你发现计算机懒洋洋地不给出结果。于是你写出更优秀的代码,能尽快真正的解决问题。至少看上去是这样

3. 傲慢:

极度的自信,使你有信心写出(或维护)别人挑不出毛病的程序

你可能感兴趣的:(一个优秀程序员应具备的品质)