source
来自Quora的一个问题“What can I learn to be a successful programmer?”,来自Jonas Gauffin的回答。
正文
别去管各种各样的编程语言。当你能够熟练的使用一种语言,那其他的语言都不会是问题。至少学好一门动态语言和一种强类型语言。
别去管各种技术。你是不是知道如何使用某种ORM(对象关系映射)或者某种反转依赖容器,其实都不重要。
上面说的技术或语言只在你的软件的第一年能体现出重要性。而你需要关注的是软件接下来的十年,或者更长时间。
因此,如何成为一个成功的程序员实质是理解如何你的代码的内在本质。例如,你使用X模式而不是Y模式,那么
一年之后会对代码产生什么影响?代码仍旧可以保持易于维护吗?
这,才是真正最重要的。任何程序员都学得会X语言、Y框架、Z类库,不过很少人能够哪里理解他们写的代码从长远来看会有什么影响。
所以你该怎么做?参与维护历史代码的项目,或者反思你旧的代码。下次你写出你认为蹩脚的代码时,不要将就着放过它。研究它,找出为什么它看起来那么烂,如果其他程序员会怎么做等等。
以下是我认为成为一个成功的程序的的操作列表:
1. 理解你写的代码的内涵。
2. 写出干净、可读的代码。
3. Pattern, principle, 和architectural风格。
4. 学习了解其他的语言。
5. 学习了解类库或框架。
如果你擅长做到1~3,那么4~5肯定也不难。