Colin走到我的办公室门口叫我去看他最新的研究成果。他拆解了他的显示器切换器(用来在两台PC之间切换显示器的设备),拆开的设备就摊放在他的桌子上。他用从RadioShack网站上淘来的部件重新组装了它,并用VB6开发了一套管理它的服务器和客户端程序,经过这样的改造,他实现当鼠移动到屏幕边缘时显示器就能自动切换的功能。Colin在做这个项目时获得了很大的乐趣,并且正在变成我们团队里最强大的程序员。这发生在Arduino创建之前一段时间,那时硬件Hacking的门槛还很高。VB6正在衰退,使用它的人被认为只能维护那些烂的LOB程序。从Colin身上,我看到了好的创造者都会有的精神:享受创造的过程而不管使用什么样的工具。
我很确信,人们开始编程时好多是受到类似与Colin一样的一些事情的激发。很多人编程生涯的开始是为了设计我们自己的游戏,自己的网站,自己解决一个问题的方法并执着于编写成代码以给项目生命。很多人会在自己以后的职业生涯中继续这种精神——通过项目,通过失败,通过检讨,甚至通过一个LOB程序。
这些年来,程序员的第一要务是谋生而不是通过分享代码或公开博客的开放。现在有了在工作中看到出色程序员的机会,同时我们可以加入目前越来越流行的趋势:将我们自己和我们的作品与其他人做比较。在GitHub和StackOverflow之前我讨厌除了我同事之外的其他人阅读或点评我的代码,我也不喜欢阅读书籍或API文档之外的代码。现在我可以看世界上几乎任何一个程序员的代码,他们也可以看我的。必须谦虚因为世界上的牛人太多了。我能靠这点信息做什么?可以有机会学习或因不足而感到沮丧?或者相反这些代码没有自己完成度好?会留下意见同时增强了自信心吗?我看到那些用VB写的代码会乐起来吗?
如何一直保持编码的乐趣?这是我尝试的方法:
- 维护一个自己的项目,并倾注你的热情同时与人分享
- 持续学习-多学点并没什么不好
- 给你的同事积极的回应(特别是竞争对手)
- 感谢帮助和影响过你的人们
我想我不会成为像DHH,Pike,Stroustrup或Resig这样的编程大牛,但我可以获得和他们的同样多的乐趣。是的,你也可以成为世界上最优秀的程序员。