编者按:原文作者John D. Cook是一位数学教授、程序员、顾问、经理人和统计学家,善于并享受结合运用这些技能来解决问题。
最高产程序员的生产力是普通程序员的好几倍。但是在任何公司,薪水通常在相当小的范围内变动。即使在整个行业,工资也相差不是很大。如果一些程序员的产量是别人的十几倍,那为什么得到的薪水不是别人的十几倍呢?
对这个问题,Joel Spolsky在他的播客中给出了两个解释。第一,整个行业中,程序员的生产力可能大不相同,但在同一个公司内部,这种差别却不大。那些比他的同事多产十几倍的程序员有可能离开公司,或者与其他很有才华的程序员共事,或者自立门户;第二,极端的多产可能不明显。这条播客详细说明第二个原因。
如果一个程序员的生产力比他同事高十几倍,他怎么会不被注意到呢?在一些职业这样的差别可能会很明显。销售量是同事十几倍的销售员会受到关注,并会得到相应的报酬。销售量是容易衡量的,而且一些销售比其他人多赚成倍的钱。如果一位砖瓦匠比同事有十几倍的能干,这也会很明显,但是这并没有发生:最好的砖瓦匠也不能比普通的砖瓦匠多垒十几倍的砖。软件的产出不像美元和砖那样容易衡量。最优秀的程序员也不能编写十几倍于他人的代码,而且工作时间也达不到他人的十几倍。(编注: “一个优秀程序员的效率会是一个普通程序员的十倍之上”,参见《一些鲜为人知的编程真相》。)
当程序员不用写代码时是他们最有效率的时候。他们可能发现,待解决的问题根本不需要解决,因为用户所要求的实际上并非用户想要的。他们可能知道在哪里找到能解决问题的可复用代码或重新编辑的代码。他们可能会使用现成的代码。但是,就在他们编写代码最富有成效的时候,也没有人说:“哇!比起用那种困难的方式去解决,你高效100多倍。你理应加薪。”他们最多会说:“好主意!”然后继续工作。这可能需要花费一小段时间去认识到一些人照例地提出这种节省时间的意见。或者消极的说,要认清一些人编程过程中动作很大,但办不了什么实事儿可能需要花费一段时间。
顶级程序员的完美形象是,Ta在开发项目时,打开编辑器(Emacs),像机关枪一样快速编写代码,从零开始最终给出一个完美的产品。一个更为精确的形象是,Ta静静地凝视空白处,几分钟然后说:“嗯,我想我曾经看过与这类似的。”
分享到:
相关推荐
如何在技术领域保持专业,同时又能处理好与他人的关系,是程序员生涯中不可或缺的一环。这就像菜肴中的盐,虽然看似微不足道,但却是味道的关键。 总的来说,“程序员的酸甜苦辣”是对IT从业者生活状态的生动描绘。...
在IT行业中,程序员是至关重要的角色,他们负责创建和维护软件、应用程序以及各种技术解决方案。那么,什么样的人适合成为程序员呢?程序员应具备哪些素质?同时,又有哪些禁忌需要避免呢? 首先,程序员需要耐得住...
虽然外界可能误解程序员是孤独的码农,但实际情况是,他们通常在团队中工作,与设计师、产品经理、测试工程师甚至客户密切合作。结对编程的实践进一步强调了协作的价值,两位开发者共同解决问题,互相学习,提高效率...
【程序员的缺点与无法忍受的事】 ...了解并解决这些缺点和问题,不仅有助于改善程序员的工作环境,还能提升整个团队的生产力和满意度。通过有效的沟通、培训和管理,可以缓解程序员与他人间的冲突,促进项目的成功。
心流状态是一种极度专注的心理状态,在这种状态下,程序员的效率和创造力都会得到极大的提升。然而,一旦被打断,他们不仅需要花费额外的时间来重新集中注意力,而且在很多情况下,还难以恢复到被打扰之前的工作状态...
个人品牌与市场价值方面,文档指出,一个程序员的价值不仅在于其技术能力,还在于他能够为雇主创造多大的利益,以及他的不可替代性。即个人的职业发展不应该仅仅基于技能的提升,还要考虑与市场的需求相匹配。程序员...
标题“程序员助手解密版”揭示了这是一款专为程序员设计的工具,它可能包含了帮助程序员进行日常工作的各种实用功能和资源。...它通过整合各种实用工具和资源,大大简化了程序员的工作流程,提升了他们的生产力。
这款记事本不仅仅是一个记录日常工作的工具,它更是程序员高效工作、精确时间追踪和科学管理个人生产力的得力助手。 首先,“程序员记事本”的第一个亮点是支持自定义分类。程序员在日复一日的工作中,会涉及到多个...
《C#与.NET程序员面试宝典》附带1张光盘,内容为书中面试题的多媒体教学视频和免费赠送的.ASP.NET入门教学视频。 《C#与.NET程序员面试宝典》中的面试题不但以实例代码和流程图的形式对答案进行了详细解析,还对问题...
在编程领域,代码是程序员与计算机对话的语言,而程序员记事本则是程序员与代码对话的桥梁。随着技术的不断迭代和项目的日益复杂,代码片段的有效管理成为提升开发效率的关键。程序员记事本应运而生,它不仅仅是一个...
标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...
然而,桌面背景图片在为程序员的工作环境增添趣味的同时,也在无形中增强了程序员社区的凝聚力。它们成为了程序员之间交流的媒介,促使他们分享彼此的喜好,相互启发和激励。通过分享和讨论这些图片,程序员们不仅...
首先,我们来探讨为什么程序员应该成为导师。导师制度能为团队储备人才,提升团队整体的技术水平。同时,作为导师,不仅可以使自己的工作更加轻松,因为新手在成长的过程中可以逐渐承担更多的工作,而且还能促进技术...
在软件开发的世界中,程序员的经验是历经无数代码行与项目挑战所铸就的宝贵资产。经验丰富的程序员往往在技术深度、解决问题的能力以及与团队的协作上有着独到之处。本文将详细探讨程序员成长过程中的关键经验,以及...
总的来说,"程序员个性电脑桌面壁纸"是一种将个人兴趣与职业特点相结合的体现,它不仅展示了程序员的个性,还反映了他们对待工作的态度和对生活的热爱。在日常工作中,选择一张合适的壁纸,既能为枯燥的编程生活增添...
在IT行业中,程序员是软件开发的核心,他们使用各种工具来提高生产力、提升代码质量并确保项目的顺利进行。标题“程序员的必备工具”暗示了我们将会探讨一些程序员日常工作中不可或缺的资源和应用程序。描述中提到这...
《卓有成效的程序员》讨论的是程序员个体的生产力,而不是团队的生产力问题,所以它不会涉及方法论(好吧,可能总会在这里或那里谈论到一些,但肯定不会深入讨论)。同时《卓有成效的程序员》也不会讨论生产力对整个...
"程序员是这样炼成的"这个主题,旨在揭示程序员的成长之路,包括他们所需掌握的关键技能、解决实际问题的方法以及持续学习的重要性。 1. **基础知识构建**:成为一名程序员的第一步通常是学习一门或多门编程语言,...
从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人的进阶策略,既有求职攻略的按图索骥,又有入职后生产环境的破解揭秘。 本书中浓缩了...