In-House Programmer
http://www.ruanyifeng.com/blog/2007/12/joel_spolsky_talk_at_yale_part_i.html
毕业以后,Joel先在微软公司干了一段日子,然后回到纽约,进入维亚康母公司[Viacom],为这家巨型的娱乐传播公司编写软件,成为IT部门里一个程序员[in-house programmer]。后来,Joel回忆起来,认为这是他一生中最痛苦的日子,并且劝告计算机系的学生尽可能不要去做”in-house programmer”。原因有三个:
- 首先,你永远没有办法正确地编写软件,你不得不用最方便的方法编写软件。因为软件支出非常高昂,所以公司会要求尽可能节省成本,你不可能试用新技术,只能使用现有的最成熟、最保守的技术。
- 其次,你没有办法将一个项目做到尽善尽美。一旦程序可以正常运行,你的工作也就结束了,可以接下去干公司的下一个项目了。你的作用是解决问题,而不是将软件写得尽可能好。如果你是在一个专业的技术性公司,比如Google或Facebook,情况就完全不一样,你的软件写得越好,公司就会越成功,所以公司会支持你在一个项目上不断做下去。
- 最后,传统公司IT部门里的程序员,只属于公司内部的维护人员,而不是直接从事核心业务的人员。因此,你永远办法进入管理层。但是,在技术性公司,程序员会变成CEO。
不幸的是,80%的程序员属于这一类,年复一年,很多人的生命就是这样被耗干的。[it’s frightening because this is what probably 80% of programming jobs are like, and if you’re not very, very careful when you graduate, you might find yourself working on in-house software, by accident, and let me tell you, it can drain the life out of you…]