软件行业角色和技能趋势:对软件人员能力提升的启示

举报
云上有未来 发表于 2019/10/17 16:16:46 2019/10/17
【摘要】 行业间老死不相往来的时代已经一去不复返了,新技术和新方法层出不穷,我们需要不断学习,实时学习,正像MIT 著名科学家Peter Senge所说的-公司整体学习的速度是公司竞争优势的唯一可持续来源。通过人员能力提升的变革,最终的效果应该是学习成长的文化全面落地生根,不断完成学习(learn)-》开发(develop)-》成长(grow)的螺旋上升, 来迎接挑战。

1. 总体趋势:角色融和,一人多能

很多研究结果显示,企业间争比拼的焦点逐渐演变成谁能更快的获得产品反馈,从而迭代上升,占得竞争先机。 行业的传统角色逐渐加速融合正是为了顺应这一趋势,如AT&T的角色种类由250缩减到80,微软很多团队角色融合, 例如产品经理和项目经理融合,统称PM。开发和测试融合统称Engineer。开发和运维融合为DevOps工程团队。人的能力上也是要求一人多能(如下图所示),工程师是全栈的,可以做开发,测试,部署,服务支持,工程师对前台,中台,后台技术都要有一定的能力。其目的就是为了减少沟通,协调,决策等成本,context switch和信息流失,也就是提升信息反馈速度。

总体趋势:角色融和,一人多能.jpg

各公司也纷纷在招人上更多的希望工程人员具备多项能力,不仅希望更加敏捷运作,还因为未来充满着不确定性,现在的竞争很多是跨行业的竞争,你可能都不知道你的竞争对手会从哪个行业出来,例如大家熟知的传统CT行业被IT行业的冲击(SMS业务被腾讯微信的冲击等)。具备多项能力的工程人员在就业市场上也更加具备竞争力,炙手可热。


业界一直有是通用型人才(Generalist)还是专项人才(Specialist)更为符合行业发展趋势的争论,其实理想的人才应该是 Generalizing Specialist, 两者需要兼备, 有较宽的知识面同时有所侧重和专长,是所谓的T字型人才,或更全面的人才 (Pi型,梳子型)

T字型人才.jpg   G字型人才.jpg   

  m字型人才.jpg

这样的Generalizing Specialist在有所需要时,能够很快的在相关General领域和子领域向下挖井汲取成为Specialist,前提是在相关领域有扎实的功底,和有开放和成长心态,愿意学习新知识和新领域。Steve Tockey (前IEEE的软件认证委员会主席)之前讲学时提到懂多项编程语言的工程师通常比只懂一门编程语言的工程师解决问题的能力和编程能力要强,因为不同知识和技能的更丰富的输入和激发,看问题常更全面,有助于我们解决问题的思路和视野的拓展。


耶鲁大学的维克拉姆·曼萨拉马尼教授认为通才Generalist可能比纯粹的Specialist更适应未来。首先是"蝴蝶效应"的增加,在"蝴蝶效应"中,看似不直接相关的发展会影响另一种发展,Generalist 有天然的优势。其次,纯粹Specialist面临的风险,即对可能不像我们期望的那样明确定义的情况采取教条和僵硬的反应, 因为可能只会用锤子。第三,通才Generalist可能比纯粹的Specialist更善于判断结果,因为信息输入评判更综合全面。管理大师彼得·德鲁克也认为在未来,Generalizing Specialist对工程行业的益处可能比许多其他专业学科都大。

2.对软件人员能力提升的启示

(1)要和业界标准和趋势对齐,以未来能力要求为牵引,造就Generalizing Specialists


软件开发人员的能力提升借鉴业界权威SWEBOK(Software Engineering Body of Knowledge)指南,其内容源自学术来源和企业的最佳实践,由来自33个国家的150多名教授学者和企业界的专家的贡献, 有很详尽明确的KA(Knowledge Area)和子KA,前瞻性的计划培养Generalizing Specialist 类型的工程人员:

SWEBOK(Software Engineering Body of Knowledge)指南.jpg

(2) 软件基础能力(Fundamentals)是根基,能走多远在于根基有多牢靠,根深则叶茂


在某个领域专项的纵深发展在于你的基础的扎实,我们在那个领域的基础扎实了,就能很快上手,纵深汲取,从那个领域的Generalist变成Specialist。对软件行业,基础通用(General)能力,如算法,数据结构,系统性分析,逻辑性处理等是能力大厦的磐石根基,具有普适性和不随时间改变的,要有深入理解掌握才能为日后成为Generalizing Specialist 和有效解决问题打好基础,最近看到的认证试点的一些数据显示,好的程序员编程题思路非常清晰,短短几十行代码,问题解决的干脆利落,代码让人读的神清气爽,你可以透过代码看到深厚的功底,而有的程序员同样的问题写了几百行代码还是没有写到点子上,逻辑不清,漏洞明显,让人看着冒汗,干着急。其中道理和武术是相通的,就像武术的基本功(如蹲马步等)最重要,以后学啥招式才会快而其扎实。没有根基,一味图块和“实用”,就会花拳绣腿,不堪一击,漏洞百出也走不远。所以这些通用基础能力是应是认证培训中反复强调的重中之重。


(3) 实行人员能力实质性提升的变革(Transformation)和学习文化的落地生根。


变革(Transformation)表达的核心意义是根本和本质上的改变,就像蚕到蝴蝶的演变

变革(Transformation).jpg


目前有时听到一些人反应反映:人员能力认证的内容,工作中不大能用到,是不是可以不考。我们如果要实行人员能力实质性提升的变革和业界对齐,在人员能力的广度,深度,理念和文化认知上都要有所突破和根本性变化, 否则就是在现状上盖章,失去意义。最近有欧洲客户去松研走访,提出了很尖锐的问题:公司以前也有技术任职考试等,和现在的人员认证有啥本质上的不同?我想这次变革一个核心变化点就应该是培养出一批能自我驱动,主动学习,拥抱变化,通过不断学习,与时俱进的人。每个人都不能再满足于自己现有或平时工作所用的一亩三分地所需的技能。


最近听一个朋友说起他们招了一个CS本科的新员工,此人擅长Java编程,想让他从事C++编程,结果他死活不愿意。我们需要的文化应该是愿意Learn it all 的人 和不断更新自己充实自己的人。行业间老死不相往来的时代已经一去不复返了,新技术和新方法层出不穷,我们需要不断学习,实时学习,正像MIT 著名科学家Peter Senge所说的-公司整体学习的速度是公司竞争优势的唯一可持续来源。通过人员能力提升的变革,最终的效果应该是学习成长的文化全面落地生根,不断完成学习(learn)-》开发(develop)-》成长(grow)的螺旋上升, 来迎接挑战。


本文来自作者吴昊

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。