偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员需要做的一些事情。记住,想成为一名程序员,很多条路可走,这里列出的只是我的方法。
1. 解决你自己的问题 —
从外面获取答案和自己解决问题、找到答案,这两种方式是有区别的。当你自己解决一个问题时,你不仅解决了这一个问题,也意味着解决了跟它类似的数百万问题。这是一个先投资后收获的过程。有时,你可能需要花2到3天的时间解决一个问题,这没什么;这是你的前期投资。
2. 从做小程序开始 —
我说的小程序,是指100行左右的。目前为止,《Java程序设计教程实验手册(Deitel and Deitel)》这本书是我见过的最好的编程书。从第一章到第十章,里面的所有习题都做一遍。当你做完了这些,你就对编程有了相当的掌握了。
3. 仿造软件 —
找一个你喜欢的网站或游戏,把它仿造出来。在你真正的想做一件项目前,先做完这个。这个能促使你学到前沿的编程技术,而且能让你更容易的被招聘公司选中。做3-5个这样的仿制项目后,你就能实现任意的你想要的东西了。
4. 每个项目都要学到新东西 —
每次项目都努力使用一些听到过但从未使用过的新东西。没有使用过Jquery,那下次项目中就使用它;没有试过测试驱动开发,下次项目就是你的实验品;你明白我的用意,对吗?
5. 说行 —
如果有人请求你为他做些什么东西,记得要说“行”——如果你从来没有给别人做过什么东西的话。我知道你可能会想,我自己还有无数的东西要做呢,但从经验来看,除了把主要时间花在自己有利可图的项目上外,你也应该花一些时间做一些慈善项目。这样做你会得到人们的认可,人们会想着你,如果有机会的会话,他们就会引荐你。
6. 交结程序员朋友 —
这是另外一个获得引荐机会的方法。总有机会,你的程序员朋友的盘子装满了,他们需要有人把多余的商业机会接下来。这时他们需要你出现。同样,当你的盘子装不下时,你也需要有人帮你把活接走。
7. 成为一个领域专家 —
广闻博识,同时要至少精通其中一项。编程世界很大,没有人能掌握所有东西,所以,要有一个专长。例如,成为一个本地应用或金融软件方面的专家。
1. 解决你自己的问题 —
从外面获取答案和自己解决问题、找到答案,这两种方式是有区别的。当你自己解决一个问题时,你不仅解决了这一个问题,也意味着解决了跟它类似的数百万问题。这是一个先投资后收获的过程。有时,你可能需要花2到3天的时间解决一个问题,这没什么;这是你的前期投资。
2. 从做小程序开始 —
我说的小程序,是指100行左右的。目前为止,《Java程序设计教程实验手册(Deitel and Deitel)》这本书是我见过的最好的编程书。从第一章到第十章,里面的所有习题都做一遍。当你做完了这些,你就对编程有了相当的掌握了。
3. 仿造软件 —
找一个你喜欢的网站或游戏,把它仿造出来。在你真正的想做一件项目前,先做完这个。这个能促使你学到前沿的编程技术,而且能让你更容易的被招聘公司选中。做3-5个这样的仿制项目后,你就能实现任意的你想要的东西了。
4. 每个项目都要学到新东西 —
每次项目都努力使用一些听到过但从未使用过的新东西。没有使用过Jquery,那下次项目中就使用它;没有试过测试驱动开发,下次项目就是你的实验品;你明白我的用意,对吗?
5. 说行 —
如果有人请求你为他做些什么东西,记得要说“行”——如果你从来没有给别人做过什么东西的话。我知道你可能会想,我自己还有无数的东西要做呢,但从经验来看,除了把主要时间花在自己有利可图的项目上外,你也应该花一些时间做一些慈善项目。这样做你会得到人们的认可,人们会想着你,如果有机会的会话,他们就会引荐你。
6. 交结程序员朋友 —
这是另外一个获得引荐机会的方法。总有机会,你的程序员朋友的盘子装满了,他们需要有人把多余的商业机会接下来。这时他们需要你出现。同样,当你的盘子装不下时,你也需要有人帮你把活接走。
7. 成为一个领域专家 —
广闻博识,同时要至少精通其中一项。编程世界很大,没有人能掌握所有东西,所以,要有一个专长。例如,成为一个本地应用或金融软件方面的专家。