忙碌无需的一周,晚上又想到要整理日记。今天主要是加班完成了一个定制,东西真正开始做才发现也并不像自己想象那么难,只有真正动手行动才能真正缓解内心压力。
如何理解Linus Torvalds的"什么才是优秀程序员"的话说的好:"烂程序员关心的是代码。好程序员关心的是数据结构和它们之间的关系。"
程序员的十大谎言的确经常听到这样的话,甚至有些自己也曾经在说
1. 我以后再给代码加注释。
2. 这只是临时的办法,发布版本中我当然不会这样写。
3. 已经开发完了。只剩下几个小问题需要处理。
4. 这很简单,我几天就能完成。
5. 开发:这需要 10 天。 老板:5天能完成吗? 开发:可以!
6. TODO
7. 在我机器上是好的…
8. 这不需要测试,肯定是好的!
9. 以前就有这个问题。
10. 只需要改一行代码,不会影响其它程序的。
11. 这是硬件问题,跟软件没关系。
程序员的八个级别"五年内你对自己有什么规划?"
- 已经死掉的程序员这是最高级别。你的代码存活了下来,超越了你的死亡。你将在计算机史上记下永恒的一笔。其他 的程序员将会研究你的成果和著作。你也许获得过图灵奖,或写出过有影响力的论文,或发明了一两件重要的、影响到编程史进程的技术。你不仅仅在维基百科上有 条目记录——有专门的网站在致力于研究你的生活和工作。很少有程序员能在有生之年达到这种级别。
例子:艾兹赫尔·戴克斯特拉(获得图灵奖),高德纳(现代计算机科学的鼻祖),艾伦·凯(获得图灵奖)
- 成功的程序员有知名度,而且通过自己的代码创建了公司——甚至开创了整个行业。这种程序员享有绝对的自由度:自由的选择自己想做的事情。并且能把这种自由分享给跟他一起的程序员同伴。这是大多数程序员都向往渴望的级别。达到这种级别通常更多的是依靠商业技巧,而不是编程。
例子:比尔·盖茨,约翰·卡马克(《雷神之锤》视频游戏创始人),DHH ( Ruby on Rails 框架创始人)
- 著名程序员这也是一个很好的级别,但前提是,你有稳定的工作。你在编程界有知名度。但有名并不意味这你可以把它转化成收益或给你带来帮助。有名很好,但成功更好。你可以在一个大的、知名的科技公司工作,或者一个有影响力的小公司工作,或你身处一个规模不大的创业团队里。不管怎样,其他的程序员都听说过你,你在这个领域有积极的影响力。
- 有工作能力的程序员你是一个职业上成功的软件开发人员。你的技术水平让你受欢迎,你永远不愁找到一份很好的工作。你的同事都很敬仰你。你工作过的每个公司都会由于你的到来而在某方面有提高或增强。但你还能怎样?
- 普通程序员处于这个等级的你是个不错的程序员,有自知之明,认识到自己不是个优秀程序员。 也许永远也不是。天才跟成功通常没有多大牵连。如果你会做生意并有人际交往能力,你也许会非常的成功。如果你是个水平一般的程序员但却想以此为生,你应该 聪明的知道,你并不一定需要去编码。不要轻视自知之明的作用。很少人能做到这点。没有天份没什么。要有勇气。弄清你擅长什么,朝这个目标奋斗。坚持不懈。
- 业余程序员业余程序员喜欢编程,而且可以看出来:他们可以成为一个有前途的学生或实习生。他们也许会向开源软 件捐赠代码,或在业余时间开发有趣的"只是为了好玩"的程序或网站。他们的程序和想法展现出一种热情和希望。做业余程序员是件不错的事情;这个级别的人能 很快的跃升成为一名有工作能力的程序员。
- 无名程序员典型的程序员大众。码农。能干(通常)但平凡。也许为大公司、集团工作。只是一份工作,不是生活的全部。无可厚非。
- 烂程序员归入这个角色的人没有任何的技术和能力。对于他的同事们来说,任何他插手的事情都会变成痛苦和折磨 ——可能有一种例外,对另外的烂程序员,因为缺乏基本的技能,辨不清自己正在和另一个烂程序员共事。也许这是所有烂程序员的标准特征。这些人本来跟编程没 有任何关系——但是,他们却在编程。