招聘也要 TDD
学习做好 HR 是一个比较难的过程。HR 一向很少公司做得比较好。
但是如果假设这样一个概念。还人力债 = 还技术债。
那么以技术视角去看人力资源这件事瞬间就变得很清晰了。
初创企业 = 一个档案写几万行代码
在初创企业来说,全部都要求通用型人才 = 一个单档 PHP 文件写到死,需要啥功能就加啥功能。刚开始起步很快,威力很大。
但是企业 20人 以上还这样,那这个档案加功能改功能时就要小心翼翼,可能改一行就大爆炸。
而且比较糟糕的是,人离职 = 这段代码直接没了。
所以当企业跑起来之后,就要进行重构,将这一大段代码切开成几个模块分散职责。
但很多企业只是将代码粗暴的分开几大段。本质上没有处理呼叫相依性问题。于是在分开的过程中,可能整个程式也烂好几次。
如何有效重构代码
如果套用到软件工程上。通常我们会先这样做
- 先写 Test,再重构功能
- 分开模块,先写模块的 Test,再把功能填入
- 写 Test,先写 Integration Test,再补 Unit Test。
- 写代码时就要一并写文件
- 以后写 Code 规定必须 TDD
套用到人力招聘
- 先 "定义职位成功",再重新分派任务
- 清晰定义职位,先写职位需求,以及如何定义成功,再把人换岗
- 补协做任务的"成功条件",再去要求 "个别技能的成功弓件"
- 公司各样任务以后做的时候,要有文件与纪录
- 以后招聘任何人,必须先写"职位成功定义" 再补人
原本作 HR 任务时,我总觉得写这些文件非常讨厌。现在把视角转换成技术架构角度。我觉得变得特别容易了。毕竟是干了整整十年以上的事阿。。。。。。
参考资源
我以前写的重构投影片:https://speakerdeck.com/xdite/refactoring-lesson-from-gpa-1-dot-4-to-gpa-3-dot-0?slide=45