译:Derry Zhang/2006-04-12
原文:http://www.codeproject.com/gen/bookreview/careerprogammer.asp
公司竞争生存实用指南
Practical Guide To Survival In The Corporate Jungl
你写着很棒的代码,日复一日的。突然有一天你老板走进来告诉你说,你还有一小时的时间清理你的办公桌-你被炒掉了,并且一头雾水不知所以然。你一直在写很棒的代码。人们对你设计、编码,并且你和你的家人为之废寝忘食的系统的信任和赞誉如同黄河入海一去不复返了。这两件事儿看起来似乎并不经常发生,然而它们却是令人惊讶的相似。
程序员是属于那种聪慧,热情并且以自己努力的工作去帮助他人的一类人。在总体上来说,这些显著的特征对于程序员以及这个职业所带来成功起了很大作用,但同时也可能会起到反作用。个中原因,盖莫如程序员经常很关注他们自己的工作而忽略了围绕在他们身边的其它看起来似乎并不重要的因素。《游击程序员》这本书给一些程序员必须深入研究的“黑暗区域”带来了光明,而这些“区域”往往看起来和编程是无关的,同时也包括了完成公司生存和成功的方方面面。
该书总体上分为两大块:缺憾世界的软件开发以及一线程序员的游击战术。本书第一部分可被看作是对那些新老开发人员的一次警醒,而第二部分则描述了一些非同寻常的关于在你的敌对方以及看起来不符逻辑的商业世界中管理你的职业生涯的战术。
第一章通过对程序员终日浸淫的典型工作场所,他们在其团队中所扮演的角色,以及在团队成员的日常交流的实际描述,为全书奠定了基调。邓肯(译者注:本书作者)熟练的描述了程序员以及其工作的企业之间那种紧密而又敏感的关系。许多程序员都深信他们受到了公司控制,因为他们得生产出那些象征着大部分企业收入的软件产品而负责(直接或间接的)。邓肯认为这个想法是危险而错误的。他描述道,软件仅仅是一种达到目的的手段-一种让客户掏腰包的途径,并且是由程序员对制造这种手段会产生很大影响。软件简单来讲就是较大规模的公司模型中的一部分-由经营者创建并且支付程序员工资,因而就明确的把老板推导了潜水员的位子上。本章从本质上确立了程序员到底适合到哪儿去,以及他们的才干能带来什么样的影响。
作者在第二、三两章里描述了哪些因素会影响程序员的职业生涯,并且介绍了三种定位这些因素的方法。这些因素包括:内在政治倾向、测试前装载工作优先级的评估(prioritizing shipping ahead of testing)、别太把管理当会事儿、信任他人(例如项目经理)能够为你管理好时间、提交过分乐观的进度评估表,以及过分关注代码而对其他“烦心事儿”抛之脑后(例如和其他非技术同事之间的沟通)。为了完成讨论,邓肯指出程序设计职业中的“非技术”因素为什么是重要的(例如创建潜能赚取更多回报)并详细的介绍了其中的几个因素:组织性、花更多时间来设计而不是编码、改进同他人的交流以及在你所要达到的职业生涯目标。本书第一部分潜在的主题就是:如果你没能控制你自己的命运,而它就潜藏在你可以改变的职业生涯的所有因素当中,那么其他人将会顶替你-经常的情况是,我们程序员们往往还感到有些始料不及。
这本书给人留下了一样东西:态度。工作被炒,与晋级擦肩而过,或者没有得到合同可以既是一种难堪,又是一种学习经验。这本资料丰富但又不失趣味性的书讨论了为什么技术能力并不足以能够保住你现在手中的饭碗,或者帮你得到梦寐以求的工作并且针对如何在公司竞争中生存提供了大量细节和实用的建议。