招聘也要 TDD

Published on:

学习做好 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