对每一项提交记录 (日常工作成果) 的态度
有经验的开发者从一个程序员的提交记录里,能读出太多的东西:对于高素质的开发者,你能不费太大力气就能顺畅地读出他近期做了哪些方面的工作;在哪些点上曾遇到了困难,选择的解决方案是什么;当他权衡和折衷时,考虑的最多的是什么因素;在一段时间内,贡献相对均匀 (DPS 能保持在相对稳定的节奏)而相对的,如果你在提交记录里看到不少 “临时方案”,“暂时先注掉”,“先跑起来晚点再改” 这样的句式,或者提交信息简短到像发电报,或者提交一大堆代码却不写提交信息,那么这样的程序员的实际贡献意愿和实际产出结果就要打个问号了。
查看一个程序员的 commit history,一眼扫过去,如果除了 “完成了xx功能” “修复了 xx bug” 等信息之外,还有一些 “改善了 xxx 的内部结构,方便后期维护”,“简化了 yyy 的接口,降低了跟 aaa 和 bbb 的沟通负担”,“自动化或移除了 zzz 的操作,省去了跟 ccc 的额外沟通和确认的步骤” 你就可以知道,这个程序员不仅业务能力过硬 (勉强能完成任务的程序员,是很难有余力去操心这些事的),而且对项目也有足够的责任心和爱心,愿意把自己的真正心血奉献给项目,而不是想方设法总是凑合和应付,“先弄出来再说,哪管之后洪水滔天”。
其实,这也是最快的考察工程师团队的一个方法——一个团队的做事方式,效率,甚至是士气和状态,从 commit message 上能读出大量的细节,而不少信息是从平常的交流里无法提取和判断的。
6. 对待交付的态度
有经验的程序员明白,提交功能的那一刻,只是交付的开始。这一点具体请详见这一篇:不要说谎 (Don’t lie.),这里就不多说了。
7. 对待技术欠债的态度
一个快速前进的团队不可避免地会留下或多或少的技术欠债,这是敏捷所要付出的最大成本之一。并非所有的技术欠债都需要偿还,它们中相当一部分实际上会随着开发风向的变化被直接风干和丢弃。有经验的程序员会时常为自己的日常工作留出处理技术欠债的时间,他们会及时查遗补缺,趁着手头任务的余温,补上因为快速开发而遗漏的东西,同时果断抛弃那些越积越重的包袱,尽量轻装上阵。
如果你观察到一个程序员总是乐于做新东西,他的提交记录里缺乏对已有系统的梳理和重构,那说明他更适合作为突击队员,还不能适应作为一个组织者的角色。
8. 对待人员流失的态度和处理方式
有经验的程序员永远不会故作惊讶,对同事或下属的离职假装出惊讶的样子。他们总是“Work for the best, prepare for the worst”。他们在过去的经历里吃过亏,明白“靠山山会倒,靠人人会跑”,所以早在一个生力军加入自己负责的团队之前,他们就会计划好此人一旦离开时的善后处置工作。他们不会轻易让自己的团队没有原则地进人,也就不会让自己负责的业务因为某一个人的离职变得失控。
但这绝不是在说他们对人员流动无所谓,不会主动捍卫自己团队成员的利益。正相反,他们会重视每一个做出贡献的成员,竭尽所能地为他们争取应得的尊重;他们会把哪怕只贡献过一行代码的离职同事都仔细地整理出来,放在 Credits 里的合适位置,以确保他们的工作得到认可;即使某些成员在自己负责的团队内表现不佳,当这些成员离开时,他们尊重个体的选择,并仍愿意给予力所能及的最大的帮助,因为他们清楚地知道,同一个人在不同的环境下,也有可能激发出完全不同的能量。
进阶阅读
嗯,差不多就是这些吧。对于还在寻觅中的小伙伴,希望这些文字能够帮助你更好地判断,锁定和捕捉适合自己的野生程序猿 O(∩_∩)O~~ 而对想多了解一下工程师的小伙伴,也希望能促进几分彼此的理解和包容
蓝鸥科技西安中心是一家致力于技术研发、技术咨询、技术服务、职业教育、创业孵化及项目投资的集团化公司。教育部产学合作协同育人项目承办企业,蓝鸥长期精研西安Java培训、西安大数据培训、西安VR/AR/Unity3D游戏开发培训、西安HTML5前端开发培训、西安Web安全攻防和西安UI设计培训等技术,是目前国内仅有的一家集苹果AATC、Unity、Oracle“三大官方授权于一身”的移动互联网培训企业。选择蓝鸥,不止高薪更是高起点!