投递人 itwriter 发布于 2012-01-12 14:03 评论(20) 有5612人阅读  原文链接  [收藏]  « »

  英文原文:Five Pervasive Myths About Older Software Developers

  最近我刚过完 40 岁生日,一个朋友向我开玩笑地说“嘿,你已经老了,不适合做程序员了!”我虽然附和地笑了笑,但是却有所感触。在我们这行,年龄歧视已经司空见惯。COBOL 那些人在若干年前就已经遇到了这个问题,随着 Java 的流行和上升,我们这些写 Java 程序的人嘲笑他们留下的代码以及面对新技术时的顽固不化。

  现在同样的事情降临到我的头上。也许你也是。即使现在还没有,很快就会轮到你的。现在你还笑得出来吗?是的,我是这么认为的。

Computer Science Degree Trends 1996-2008

  来自:CRE Taulbee 调查[译注],2007-2008,5月 9 日发布

  译注:Taulbee 调查:CRA 计算机研究组织针对北美计算机行业(计算机科学 CS、计算机工程 CE)从业人员就业、工作及薪资的调查,调查依据学位、性别等进行分类。往年信息可以参见 CRA 网站

Computer Science Enrollment Trends, 1995-2008

  来自:CRE Taulbee 报告

  我们这行在很多方面都有年龄歧视。我们热衷热门的新技术,用从未听说过的速度学习新东西,疯狂地工作,将产品推向市场,这些在我们这行总被认为是年轻人干的事情。我说过年轻的工人会更便宜对吧?真的便宜很多。但是计算机学位趋势调查并不支持我们的经理可以永远拥有大量便宜的工人随意指挥。事实上,所有的数据都指向一个结论:在几乎 10 年的时间里,学习计算机科学(CS)学生数量略有下降或者与往年持平。甚至于如 Jeff Atwood 所言,雇佣程序员的选择也选来越少。你的下一个项目可能需要雇人来完成了,与此同时外包面临强烈抵制,Egon,你会向谁寻求帮助?

  如果你以为能够避免软件开发的“灰质”问题,请三思而行。在 IT 行业里,有一些关于程序开发老手的误传根深蒂固,莫名其妙地让年长的、有经验的工人在行业中处于不利的境地。这些误传大部分都是无稽之谈,说什么每个人过了 40 岁以后都会不同程度地因为年纪太大而变得愚蠢。让我们一个个地击穿这些误传的真相。

  误传1:年长程序员比新手要价更高,因而年轻的开发人员更受欢迎。

  事实:有经验的开发人员之所以被打上“昂贵”的标签,是因为在任何软件公司里员工的薪水永远是最大的支出。事实上,年轻就意味着廉价。但是,尽管年轻但没有什么经验的开发人员能够帮你节省掉一些预算,但是如果你的团队里只有年轻人长远来看你要付出的会更多。年轻的开发人员并没有经历过失败的历练。他们甚至还没有足够的时间来经历失败。猜猜他们会用谁的钱来教学费?你的。错过截止时间并且交付没有完工的项目会给你带来多大的损失?请再好好想想吧。

  的确,年长程序员比年轻人的工资要高一些。但是你多花的钱究竟花到哪里了呢?一个经验丰富的软件开发人员,你付出的薪水买到的是他从过去项目开发中学到的经验与教训。这些就是在你成为他的经理期间需要付出的昂贵的学费。但是如果你招入一名有经验的工人,你就不会重复项目管理和软件开发过程中常犯的错误。也就意味着在年底的考核中你会因为雇佣了会做事的员工而得到良好的评价。

  误传2:年长程序员受到他们已有知识的限制,灵活性和学习新技术的能力不及年轻的开发人员。

  事实:事实上正是因为他们过去的经验,年长程序员能够在更深入的层次转向新技术、框架以及系统。例如,如果了解C/C++编写的 GUI 框架,你会对消息传递、事件处理、MVC 模式有概念,而这些知识能够帮助你在设计系统时把表示层和底层的逻辑进行分离。当你第一次接触 GUI 框架的时候,除了学习代码的文法,你还需要掌握示例以及相关的代码库,不仅如此,与之相关的所有概念也都需要了解。当第二次、第三次或者以后的更多次实现 GUI 框架时,你会发现在代码文法之外更深的地方它们有着相似之处。你甚至可能会注意到,新的 GUI 框架会克服以前你花费很大力气才能解决的潜在限制。这些领悟会以你不能直接衡量的方式提高生产率。

  误传3:年长程序员有家庭以及其他因素的影响,因此不能承担艰苦的软件开发任务(解读:长时间、艰苦地工作),而年轻人没有这些负担。

  事实: 公平地讲,有经验的软件开发人员较少会长时间、艰苦地工作,因为他们从实践(失败)中学到连续数月每周工作 80 个小时最终会到达生产率的极限。这种情况会让你精疲力尽,我敢打赌任何曾经历过这种情况的人都不想再尝试。即使有这样的倾向,所谓的“家庭负担”是不存在的。有经验的高效的软件工程师是无情的时间管理者,那些已经有家庭的工程师会更积极地在分配的时间内完成工作。他们也许会参加舞会或者足球赛,但是他们会把这些时间安排在业余时间,在每个礼拜的 40 个小时工作中他们会高度专注在自己的工作上。已经成家的优秀软件工程师必须高效地管理自己的私人时间,否则他们很快就会被蜂拥而来的工作埋掉。

  传说4:年长程序员不如年轻人思路敏捷。

  事实:时光的确会对大脑产生影响,有很多证据显示年长的工人在思考速度上会稍逊一筹。但是思路敏捷只是判断标准的一部分。思考得更快并不总是代表考虑得更好。对于判断力情况又是如何呢?有句老话:好的判断来自经验,而经验则是从错误的判断得来。想想他们具备比年轻人更多的见识、完成的工作以及经历的成功和失败,就知道以思维不再敏捷作为不雇佣年长的软件工程师是一个糟糕的借口。有经验的开发人员可以从大量的项目中汲取经验来为今天的项目避免错误的决定。年轻的开发人员有很多重要的新点子,但是却没有经过测试和验证。同时具备这两个方面会给你的团队带来巨大的价值。

  误传5:年长程序员对于工作感到厌倦并且不屑一顾,因此在公司不如年轻人受欢迎。年轻的开发人员比他们对工作更有热情。

  事实:说这些话的人可能不喜欢自己的观点被别人批评,批评他们的人已经在这个行业里面久经考验,一次又一次看到愚蠢的决定被付诸行动。有经验的软件开发人员会很早就发现问题。对于你所说的这个产品不会受到市场欢迎这样的说法,他们不会买帐。因为他们与客户打了多年的交道,并且知道你这么说只是为了不在将来某个时候被公司解雇。他们不会因为客户希望软件下个月交货就接受经理每周工作 80 个小时的要求。他们会告诉你要实现与客户定好的特性还需要 3 个多月。

  年轻的开发人员并不经常遇到那样的情形,因此,对糟糕的管理习惯也没有什么抵抗力。管理者在这种情况下需要的只是天真的新手。如果你希望拥有一个伟大的团队和伟大的产品,那么有可以在你作出错误决定的时候能够提醒你的人会为你一次又一次地避免遭受损失。但这得在你有勇气承认自己并不是无所不知的前提下才会发生。

  热情会逐渐散去,所以你不能说是年纪抑制了热情。如果事实真是如此,Donald Knuth, Ward Cunningham, Bill Joy, Bill Gates 以及其他数以百计的突破 40 岁魔咒的人就应该因为年纪的关系而对软件行业不再有兴趣。但是他们不是。热情就是热情。如果在你 40 岁的时候具有热情,你还是可以爱上你所在的领域。这种热爱不是一夜情。年轻的开发人员仍然能够以短暂的热情开始他们的事业,但是如果面对困难和挑战的时候短暂的热情会很快消退。

  最后,请让我澄清几件事:年轻不都是坏事,年长也不都是好事。最重要的是,一个人如果编程能力不行,那么无论年纪大小都不会被录用。保持团队年龄和经验的多样性。有差异存在,就能学习和进步。但是如果你是需要雇人的老板,请不要马上把坐在你对面有白头发的兄弟拒掉。忘掉你对年龄的偏见,看看他们能否打动你。

  有一天那位兄弟(姐妹)可能就是你。

  英文原文:Dave Rodenbaugh    编译:伯乐在线 – 唐尤华

31
0
博问,解决您的技术难题 分享到: 新浪微博 腾讯微博 搜狐微博
相关标签: 程序员
已经有 20 位园友对此新闻发表了看法。 发表评论

热门评论

  • 素雨轩 发表于 01-12 14:56
    得让程序员们的BOSS认识到这点才是王道,就作为程序员的立场,这里说的大部分都是对的,可BOSS意识不到,依旧是一文不值
    支持(4) 反对(0)
  • 无色 发表于 01-12 19:38
    我觉的一个好的团队,应该是“五湖四海 宽以容才” 一个理想的团队应该是不同年龄,不同学历,不同地区,不同学校,不同性别,不同方言,不同出身,不同工资,不同水平. 这样管理人员才能找到管理的抽象类,而不只是做头痛医头,脚痛医脚的的面向过程管理方法。 实事证明,杂交改良的团队比纯种的团队生存力更强。近亲繁殖会导致管理难题。 亲一色的年轻人,可能做导致离职率高。 亲一色的男程序员,会导致找对象问题而离职。 亲一色的本科生,会导致经验不足,没人愿意打杂。 亲一色的大牛,没人愿意干小活。 亲一色的地区,会公司方言化。 亲一色的老年者,没人愿意加班,没人愿意创新。 大多数程序员经过2年的工作其技术能力就已经到顶了, 剩下的时间不过是增加熟练度或者混工龄 做crud不需要两年,两个月就够了。而学习计算机如果识别txt文件里内容含义学20年也不知道有没有入门。
    支持(4) 反对(0)
  • 老神仙 发表于 01-12 16:42
    很正确,年龄结构合理(知识结构合理),才是王道!我基本不会使用太小的程序员做主要任务,一般会倾听老程序员的想法,因为他们的经验太宝贵了。老程序员会相对固执一些,这是两个方面,一方面他们是魏征,另一方面,是你的方案没有说服他,总之,中国的程序员发展到今天,40岁的程序员是最珍贵的
    支持(3) 反对(0)
  • 叶鹏 发表于 01-12 17:33
    即使国外的40的程序员也很少找工作,他们在做重要的事和创造一些东西,而不是每天写企业站
    支持(2) 反对(0)
  • 七公 发表于 01-13 09:23
    @傻瓜力量大
    引用@无色 怎么2年就到顶了?
    他的意思是2年敲键盘的速度已经达到极限,不可能再敲得更快了。
    支持(2) 反对(0)
  • peterormike 发表于 01-13 13:56
    @assiwe
    引用这个纯粹是老家伙的YY, 事实是, 除了少数超级宅(过劳死基本都是这伙的)以外, 大多数程序员经过2年的工作其技术能力就已经到顶了, 剩下的时间不过是增加熟练度或者混工龄. 而且那些超级宅们就算不打算换工作也会有猎头找,就算打算换工作也会被老板拉住,就算真换工作了也会往大公司跑. 所以一个程序员要是在40岁还在"找"工作, 基本就可以断定他是个garbage了.
    2年就到顶了………… 还有脸说别人是garbage………………
    支持(1) 反对(0)
  • assiwe 发表于 01-12 17:27
    这个纯粹是老家伙的YY, 事实是, 除了少数超级宅(过劳死基本都是这伙的)以外, 大多数程序员经过2年的工作其技术能力就已经到顶了, 剩下的时间不过是增加熟练度或者混工龄. 而且那些超级宅们就算不打算换工作也会有猎头找,就算打算换工作也会被老板拉住,就算真换工作了也会往大公司跑. 所以一个程序员要是在40岁还在"找"工作, 基本就可以断定他是个garbage了.
    支持(1) 反对(6)