关于年长程序员的5个误传

英文原文:Five Pervasive Myths About Older Software Developers
最近我刚过完40岁生日,一个朋友向我开玩笑地说“嘿,你已经老了,不适合做程序员了!”我虽然附和地笑了笑,但是却有所感触 。在我们这行,年龄歧视已经司空见惯 。COBOL那些人在若干年前就已经遇到了这个问题,随着JAVA的流行和上升,我们这些写Java程序的人嘲笑他们留下的代码以及面对新技术时的顽固不化 。
现在同样的事情降临到我的头上 。也许你也是 。即使现在还没有,很快就会轮到你的 。现在你还笑得出来吗?是的,我是这么认为的 。

关于年长程序员的5个误传

文章插图
【关于年长程序员的5个误传】来自:CRE Taulbee调查[译注],2007-2008,5月9日发布
译注:Taulbee调查:CRA 计算机研究组织针对北美计算机行业(计算机科学CS、计算机工程CE)从业人员就业、工作及薪资的调查,调查依据学位、性别等进行分类 。往年信息可以参见CRA网站 。
关于年长程序员的5个误传

文章插图
来自:CRE Taulbee报告
我们这行在很多方面都有年龄歧视 。我们热衷热门的新技术,用从未听说过的速度学习新东西,疯狂地工作,将产品推向市场,这些在我们这行总被认为是年轻人干的事情 。我说过年轻的工人会更便宜对吧?真的便宜很多 。但是计算机学位趋势调查并不支持我们的经理可以永远拥有大量便宜的工人随意指挥 。事实上,所有的数据都指向一个结论:在几乎10年的时间里,学习计算机科学(CS)学生数量略有下降或者与往年持平 。甚至于如 Jeff Atwood 所言,雇佣程序员的选择也选来越少 。你的下一个项目可能需要雇人来完成了,与此同时外包面临强烈抵制,Egon,你会向谁寻求帮助?
如果你以为能够避免软件开发的“灰质”问题,请三思而行 。在IT行业里,有一些关于程序开发老手的误传根深蒂固,莫名其妙地让年长的、有经验的工人在行业中处于不利的境地 。这些误传大部分都是无稽之谈,说什么每个人过了40岁以后都会不同程度地因为年纪太大而变得愚蠢 。让我们一个个地击穿这些误传的真相 。
误传1:年长程序员比新手要价更高,因而年轻的开发人员更受欢迎 。
事实:有经验的开发人员之所以被打上“昂贵”的标签,是因为在任何软件公司里员工的薪水永远是最大的支出 。事实上,年轻就意味着廉价 。但是,尽管年轻但没有什么经验的开发人员能够帮你节省掉一些预算,但是如果你的团队里只有年轻人,长远来看你要付出的会更多 。年轻的开发人员并没有经历过失败的历练 。他们甚至还没有足够的时间来经历失败 。猜猜他们会用谁的钱来教学费?你的 。错过截止时间并且交付没有完工的项目会给你带来多大的损失?请再好好想想吧 。
的确,年长程序员比年轻人的工资要高一些 。但是你多花的钱究竟花到哪里了呢?一个经验丰富的软件开发人员,你付出的薪水买到的是他从过去项目开发中学到的经验与教训 。这些就是在你成为他的经理期间需要付出的昂贵的学费 。但是如果你招入一名有经验的工人,你就不会重复项目管理和软件开发过程中常犯的错误 。也就意味着在年底的考核中你会因为雇佣了会做事的员工而得到良好的评价 。
误传2:年长程序员受到他们已有知识的限制,灵活性和学习新技术的能力不及年轻的开发人员 。
事实:事实上正是因为他们过去的经验,年长程序员能够在更深入的层次转向新技术、框架以及系统 。例如,如果了解C/C++编写的GUI框架,你会对消息传递、事件处理、MVC模式有概念,而这些知识能够帮助你在设计系统时把表示层和底层的逻辑进行分离 。
当你第一次接触GUI框架的时候,除了学习代码的文法,你还需要掌握示例以及相关的代码库,不仅如此,与之相关的所有概念也都需要了解 。当第二次、第三次或者以后的更多次实现GUI框架时,你会发现在代码文法之外更深的地方它们有着相似之处 。你甚至可能会注意到,新的GUI框架会克服以前你花费很大力气才能解决的潜在限制 。这些领悟会以你不能直接衡量的方式提高生产率 。
误传3:年长程序员有家庭以及其他因素的影响,因此不能承担艰苦的软件开发任务(解读:长时间、艰苦地工作),而年轻人没有这些负担 。
事实: 公平地讲,有经验的软件开发人员较少会长时间、艰苦地工作,因为他们从实践(失败)中学到连续数月每周工作80个小时最终会到达生产率的极限 。这种情况会让你精疲力尽,我敢打赌任何曾经历过这种情况的人都不想再尝试 。即使有这样的倾向,所谓的“家庭负担”是不存在的 。


推荐阅读