软件工程领导者需要新技能时,常常指望招聘已具备这些技能的人。然而说到现代云架构和语言,这类人才却很难找到。
Gartner最近的研究发现,具备高级开发技能的人面前有大量的空缺岗位,但适合每个岗位的求职者比较少。软件开发领导者常常在职位描述中列出一长串所需技能,这使得求职者更难找到。所有这些因素都要求组织开出更高的薪水,并推迟关键的工作。
为了克服开发技能短缺这个问题,软件工程领导者需要培训和提升新老员工的技能。应致力于提前发展每个员工的技能,以便他们可以扮演更广泛的角色,并继续提升组织的技术能力。软件工程领导者可以利用六步人才培养计划来提升开发团队的技能。
第一步:确定现在和以后所需的技能
培训和提升技能的第一步是识别和细分对您团队和组织的成功至关重要的软件开发技能。比如说,列出与现有技术格局相关的核心技能以及新兴技术和架构所需的技能。
识别老化的系统或数字服务,预料未来的需求和可能进行的改进。与业务领导者、产品经理和解决方案架构师合作,了解未来更新改造产品所需的一系列技能。此外,软件工程领导者还可以要求人力资源学习及开发部门为软件工程制作技能矩阵。
考虑四个方面:
- 能力——比如业务敏锐度和设计思维
- 工作方法——比如敏捷和看板。
- 架构和设计——比如SOA、MASA、云原生、数据架构和用户体验。
- 技术技能——比如特定的编程语言、开发平台和工具。
第二步:盘点当前的开发者技能
接下来,评估现有开发者的技能组合和能力,以确定当前学习和开发体系方面的不足。
在调查员工以评估技能和能力之前,确保传达这项工作的目的是评估组织的能力,而不是比较员工。员工应觉得放心,那样不会做出有偏见的回应。
还可以将技能培训和提升作为组织文化的一部分,以此激励开发者拓宽技能和角色。软件工程领导者可以公开表明倡导在职学习,以身作则。员工应认识到需要不断提升软件开发技能,无需任何手把手指导。
第三步:激励员工拓宽技能
软件工程领导者应激励员工学习,鼓励他们主动做事情。绩效方面的讨论由“你做了什么?”转为“你学到了什么?”员工应学会识别和认准将改变游戏规则的技术技能和管理技能。
动机的三个要素是培养人才的关键:
- 自主:避免过度干扰;让您的团队搞清楚完成工作的最佳方式,并消除阻碍员工进步的障碍。
- 精通:确保员工在掌握软件开发技能方面得到认可——不仅来自经理的认可,还来自同仁的认可。
- 目的:确保员工将使命感与工作联系起来——他们的工作是否对组织的发展和技术格局产生积极影响?
第四步:接受基本技能水平,但计划提升技能
在寻找新员工的同时提升现有开发者的技能。寻找技能娴熟的人可能有挑战,因此要愿意招聘具备基本技能水平的人,并立即创造学习机会,确保他们成为组织的宝贵资产。招聘入门级员工时,优先考虑协作观念和适应能力等素质。一旦他们的核心软件开发技能在组织得到验证,就可以拓宽视野,培养更强的业务敏锐度。
还可以考虑让从事技术或客户支持的员工从事软件开发职位,因为他们非常了解产品和客户,能够学习新技能。
结合敏捷学习,鼓励技能开发的短期迭代,以实现可调整的结果。敏捷学习还向员工灌输成长理念,那样他们不仅获得知识,还可以运用知识获得重要的业务价值。这有助于营造这种环境:大家共同学习和成长,而不是注重个人能力,从而实现效益在整个组织最大化。
第五步:创造在职学习机会
在评估不同的开发方法时,考虑为开发者提供低成本、耗时短的在职学习机会。旨在让员工进入动态环境,他们可以快速学习和运用新技能。同仁联系、360度反馈以及小组活动(比如黑客马拉松、创新实验室和午餐学习)可以为新老员工建立宝贵的知识共享渠道。
第六步:花时间学习
从长远来看,学习和培养计划应该使企业更高效,但要实现这一点,您需要在面临一大堆工作的情况下分配时间来学习。可以在一个工作周中抽出专门的时间用于学习和跨职能部门活动,可能包括大师班、讲师指导的在线辅导、指导计划、新技术概念验证项目以及实践社区。
原文标题:6 steps to upskill developers,作者:Bill Swanton