根据我的观察,软件企业内训效果不好的最主要原因是没有好的师资,工程师的一大特点是不爱表达,没有授课经验,让他们授课显然效果不理想。
在我们企业内部经常做的内训是Tech Talk,定期将个人在工作中所掌握的新技术,或个人在某一领域内掌握的特殊知识,讲出来让大家分享,以期共同提高。Tech Talk不拘泥形式,可以是一边吃饭一边听课,可以是一边发问一边解释,体现了一种轻松、自由、民主和融洽的研发文化。Tech Talk在美国硅谷的软件公司得到大力推崇,效果很好,一方面讲课者不用花很多时间做特殊准备,因为讲的都是他本人熟悉的内容,二是员工有表达的机会,能借此提高口头表达能力,第三,听众从中接触了很多新技术和新知识。
第二种内训方式是导师带徒弟。给每个新来的员工配一个导师,导师的责任是教会徒弟企业工作流程、代码书写规范等,帮助徒弟转换角色,尽快适应公司环境和文化。这种方式目标明确,不需要特殊的时间和形式,潜移默化地帮助了新人,也有利于互相增进理解和感情。
第三种形式是通过评审(review)达到互相培训的目的。例如,代码检查(Code review),就可以让参加会议的人互相取长补短,经验欠缺的程序员可以从中向经验丰富的程序员学习编程经验、好的编码规范和风格。Code review不仅能检查出代码错误和遗漏的问题,也能在很大程度上互相提高。
以上三种形式的内训,都不需要专门的培训讲师,避免了由于程序员不擅表达而引起的效果问题。
除此之外,我们也经常从公司的其他部门(如质量控制部门)请一些资深人士,到研发中心进行培训、交流和座谈,除了教给员工新的知识和技术,还以其个人丰富的经历,教育员工如何对待工作、如何做一名合格的职业化的软件工程师。