《告别失控:软件开发团队管理必读》一一2.4 程序员的工作要求与能力

简介:

本节书摘来自异步社区出版社《告别失控:软件开发团队管理必读》一书中的第2章,第2.4节,作者: 【美】Mickey W. Mantle(米奇 W.蒙托) , Ron Lichty(罗恩•利克蒂),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 程序员的工作要求与能力

要想成功地招聘和管理程序员,首先要认识到每个程序员都有其独特的能力。就像雪花一样,任何两个程序员都不会是完全一样的。我们常常会说,程序员之间写代码的能力可能相差一个数量级。这种差异是怎么出现的呢?教育、经验、天赋以及直觉,还有其他无形的因素,都有可能导致这样的差异。

多数程序员不需要借助显式的排名或者头衔,从直觉上就能理解同行之间的差异。但是如果能把程序员的类型与等级正式记录下来,并简要描述每种类型与等级的职位要求与能力(见表2-1),那么管理工作将会轻松很多,项目经理将更容易找到各种任务和项目的最佳人选,高级管理层也将能对组织及其构成有更深刻的认识。

image

每个程序设计等级[3]都关联着一组评价标准,程序员必须符合相关条件才能被录用或者提拔到该等级。当然,对工作年限的要求不是绝对的,但可以用于粗略地指出相应程序设计等级所需要的经验。每个程序员都有自己独特的技巧和经验,上述提法并不意味着很有天分和经验的程序员会因为工作年限不够而受到压制。最后,评价程序员不能看他们在入职时能带来什么,而要看他们在入职后能产出什么。

根据Ron和Mickey的经验,最优秀的程序员往往并不是最有经验的,也不是薪酬最高的。希望大家不要把这种情况看成一个问题,而要将其视为一种机会——用更高的薪水或更好的特殊待遇对出类拔萃的程序员进行奖励的机会。一旦有了程序员等级,这样的奖励将会更加恰当。我们为明显很优秀的程序员争取奖励时极少会遭遇来自高级管理层的阻力,不过这样做也会影响对表现欠佳的程序员的处理。

表2-2展示了前面讨论过的不同程序员类型,应当如何安排程序设计等级。

image

制定一组能够与程序员的成长相适应的、要求逐步提高的程序设计等级评判标准是非常重要的。表2-3给出了针对客户端程序员的等级评判标准。本书最后的“工具”部分提供了一份完整的等级系统示例,读者可在修改后应用于自己所在的组织。
image
image
image

image
image

当然,对于这个程序设计等级的描述来说,你真正想要的是每种职位的详细职位描述。程序员以崇尚自由和轻视正式文件而闻名,但根据我们的经验,程序员也非常希望获得职位描述,非常希望清晰地了解所在组织的晋升之道。尽管也存在一些例外,但绝大多数程序员在有了这套体制,并清晰地知道你和组织中的其他管理层对其所处等级的看法之后,会干得更好。

制订详细的职位描述是一项非常艰巨的任务。在过去的15年中,Mickey探索出了一组能反映前述程序设计等级的结构化的职位描述。图2-1以程序员3为例,给出了这些职位描述的基本格式。

image

如该例所示,职位描述包含以下三部分内容:

基本信息,包括头衔、部门、直接领导、状态、工作地点;
职位概述,包括工作职责和预期表现;
岗位最低要求。
这一格式稍作改动之后,几乎可用于任何职位描述。但我们建议大家不要只写一份职位描述,而要多写几组,以体现不同工作的能力要求。根据我们的经验,写一组职位描述所需要的时间比只写一份职位描述多不了多少。如果每个职位都有一组职位描述,就能很容易地回答职业发展和晋升方面的问题了。前期多花几分钟,后期能节省好多个小时的时间。这样做的话,你不仅会成为HR部门眼中的英雄人物,还能获得一件有助于管理程序设计团队的优秀工具。

本书最后的“工具”部分提供了一些职位描述的示例,你可以根据所在组织、部门和职位的具体需求加以修改使用。

相关文章
|
9天前
|
敏捷开发 数据可视化 安全
疑问:哪 6 款办公软件能攻克设计团队协作的难关?
本文深入介绍了6款可视化团队协作软件,特别推荐了国内的板栗看板,强调其简洁的操作界面、精准的任务管理、便捷的团队协作、丰富的模板资源及高效的数据统计功能,适合倾向于有计划、有条理工作的J型团队。同时,也分析了Trello、Asana、Jira、Monday.com和Basecamp等国际知名软件的特点,帮助不同规模和需求的软件设计开发团队选择最合适的协作工具。
15 1
|
网络协议 Linux C语言
让你提前认识软件开发(4):破除几个有关软件开发的错误观念
让你提前认识软件开发(4):破除几个有关软件开发的错误观念
88 0
|
开发工具 开发者 UED
五种关键的软技能可以让软件开发人员脱颖而出
五种关键的软技能可以让软件开发人员脱颖而出
156 0
开发人员生产力指南,细节决定成败!
众所周知,“做决定” 对我们的成功有多么重要。然而,我们经常做出一些错误的决定。并且,“大”决定容易做,“小”决定却很难。但是,我们没有意识到的是,这些细小决定的累加总和决定了我们人生的成功。
|
Java 开发者 开发工具
如何做好干系人管理?知己知彼,百战百胜! | 开发者必读(080期)
最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》!
594 0
|
程序员
项目难做,程序员难当,软件开发中的 9 大难题
是什么让项目变糟?何时起我们下班回家时开始盘算:“见鬼,我得离开”?下面是我们程序员不时要面对的一个问题清单,这些问题让我们筋疲力尽。
986 0