【IT168 编译】年纪较大的程序员无法像毕业生那样工作很多小时,他们还有小孩和配偶、贷款等;他们也不会在办公室整夜玩Xbox和乒乓球;他们不会每周工作80小时,会使用休假时间;还有,他们的成本比年轻的程序员更高。尽管所有这些原因都在告诉企业不要雇佣老程序员,但企业还是愿意聘请他们,为什么呢?其实原因很简单:他们是值得的。
经验
老程序员可能无法像25岁时那样记住尽可能多的代码,但他们有着丰富的经验。并且,大脑存储代码有限,这并没有你想象的那么重要。老程序员可接受任何新语言,因为他们已经使用过很多语言。他们也知道这些不同语言的共同之处,经过这么多年,他们早已可发现语言之间的相似之处以及差异。
判断力
老程序员有判断力。他们知道在什么地方将系统分隔成模块最可靠且可测试,他们可以从架构图看出可能出现的瓶颈问题,他们还可以告诉你哪些技术可用于特定项目以及如何优化可靠性、性能或开发速度。他们知道如何做出很好的权衡,即使他们从来没有为你的项目编写一行实际的代码,但老程序员非常重要,他们了解如何构建质量,从长远来看,质量意味着降低支持成本。
丰富知识
老程序员在具体领域拥有深度知识,这些知识可让他们知道在哪里寻找漏洞,如何完全避免漏洞。例如笔者非常了解GUI工具包,已经使用几十个,他也是Swing、JavaFX及SubArctic的核心工程团队成员。他曾因为兴趣从零开始构建自己的工具包,他甚至可编写过去40年工具包的详细历史。
笔者的知识专长是UI工具包,对于其他人来说,这可能使内核驱动程序、数据库索引或编译器。深层次的知识非常重要。
广泛的知识
老程序员还拥有广泛的知识,例如,笔者专门从事应用程序和前端开发,但他也熟悉整个堆栈,并为无内存限制系统编写代码,还构建解析器、数据库和固件;甚至还有内核驱动程序。他不是可聘请来构建数据库或编写固件的人,但他知道这些系统的工作原理。这意味着他可与数据库及固件领域的专家沟通,以及与其他领域的人有效沟通。这种沟通能力让笔者成为富有成效的团队成员,而不是原始编码能力。
沟通能力
那些40多岁仍然是程序员的人必然培养了良好的沟通能力,这种能力与编程技能一样重要。如果新API无法有效传达给使用它的开发人员,这个API就没有价值。大多数大型软件项目失败不是因为代码不正确,而是因为沟通问题。
对于老程序员,也许企业需要支付更高工资,但他们可给企业带来很大价值,他们可正确估计以及按时交付程序,他们构建的软件错误更少,且具有更高的性能。他们可能编写较少的代码,但他们产生更多的业务价值。