软件行业人才供需调查报告(二)

作者:软件行业协会教育与培训委员会 发布时间:2021-08-31

人才体系矩阵的新内涵




探索型人才

探索型企业包含阿里巴巴、腾讯、华为等国内企业,和微软、苹果、亚马逊、谷歌等国际企业。在各自领域具有决定性影响力,拥有领先的技术优势。这类企业的市值通常在2000亿美元以上,业务范围广,在多个领域建立了较为繁荣的合作生态,为保持行业领先地位,长期投入大量资源用于技术研发,通过组建大规模技术研究团队,保持企业的技术优势。

探索型企业对技术人才的学习能力、逻辑思维、解决问题能力与创新能力需求最高,渴求复合型人才,重视招聘海内外名校和双一流院校最优秀的毕业生,看重人才的潜力。企业通常拥有完善的培训体系和充足的学习资源来支持员工的成长,对他们在校期间所学专业与已经掌握的技能关注度不高。

前沿型人才

前沿型企业包括百度、京东等知名大型企业,和拼多多、字节跳动等超级独角兽企业,市值通常在300亿美元以上。这类企业科研实力强,在各自的领域处于技术领先地位,积极以自身为核心建设生态体系。与探索型企业相比,前沿型企业的市值与生态规模较小,商业领域较少。

前沿型企业对人才创新能力需求高,渴求复合型人才,对校园招聘的重视程度与社会招聘相当,前沿型企业比探索型企业更重视员工的工作经验,对员工的交付能力要求更高,同时也期待员工在组织内部快速成长。企业拥有充足的学习资源,但通常不会开设长周期的培训,期待员工在工作之余自己学习成长。

成熟型人才

成熟型的企业拥有竞争力强的产品和服务,并占据了一定的市场份额,市值通常在10亿美元以上。这类企业的研发重心在于将新技术投入到自身的产品和服务中,提升核心竞争力,并有一定资源来对新技术进行研发,探索新的商业模式。

成熟型企业更青睐具备一定工作经验的员工,除技术能力外,需要员工具有场景化思维方式,强调技术与行业相结合,为不同行业用户提供适合的解决方案。大部分成熟型企业的校招比率较低,具有工作经验的年轻人是成熟型企业的主力军。规模较大的成熟型企业会招收应届生,对他们进行在岗培训,部分企业会建设内部学习平台来为员工提供学习资源。

成长型人才

成长型企业也包含大量的科技型中小企业,如独立软件开发商、APP与游戏开发商等。拥有优秀的创始团队与技术积累,开发了产品或服务,正在创建商业模式,积累用户。

成长型企业通常只招收经验丰富的员工,期待新员工可以快速上手工作。对技术人才除技术应用能力外,重视员工解决问题、团队合作和项目管控的能力。大部分成长型企业不会对新员工开展专门的培训环节,经验较少的新员工通常由老员工带领,熟悉工作流程。

服务型人才

服务型企业以完成客户项目作为主要盈利模式,软件外包类企业和解决方案提供商是典型的服务型企业。

服务型企业专注于为客户解决特定的问题,需要人才具有很强的实践、应用能力,并且需要技术人员根据以往项目经验为客户提供解决方案,往往要求技术人员在客户处驻场并同客户的业务团队协同工作,对沟通与应变能力要求较高。服务型企业人力资源管理多采用项目团队方式,由于员工流动率较高,对应聘者学历背景重视程度较低。企业青睐一本院校毕业生,大多数企业也愿意接受二本院校与高职院校的优秀人才。

自由型人才

自由型组织包含各类开发工作室、自媒体、自由工作者。随着项目对接渠道、微信公众号、短视频应用等平台的发展,大量个人或小微组织可以利用这些互联网资源开展业务,丰富了软件和信息服务业生态。

这类组织没有固定的形式,人员类型多样,包含程序员、平面和视频设计师、自媒体创作者、应届毕业生、主播等。


前端技术岗位要求


前端技术岗位普遍的技能要求

前端开发以HTML、CSS与JavaScript技术为核心。在网站构建方面,HTML5受到主流浏览器的支持与各大厂商的推广,成为中国使用率最高的技术。.NET技术在中国已处于被淘汰状态,但在全球范围仍有较大份额。目前在传统企业与部分外企中仍有ASP.NET与PHP运行。CSS3已经被大部分浏览器支持和应用,目前蓬勃发展的封装与组件技术使得页面开发越来越便捷,而快速掌握开发工具需要工程师对CSS技术原理有深入了解。

JavaScript也有多种简化开发框架,JSON与JQuery具有简化Web开发功能,目前JQuery由于其低效,正在被市场逐渐淘汰,但在运行的项目中仍具有较大份额。

ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。支持三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体),但由于ASP.NET多次出现严重安全漏洞,在国内的使用份额在迅速缩小。

PHP作为开源脚本语言,可以嵌入到HTML中进行Web开发,并适合编写Web中间层,曾被广泛使用。但PHP在构建大型网站与完成当前流行的微服务项目方面没有优势,国内对PHP工程师的需求量在逐渐缩小。



Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台的 JavaScript 运行环境。对于掌握JavaScript的工程师,Node.js易学易用。一方面,Node.js允许前端开发工程师进行一系列服务器端的操作,另一方面Node.js的非阻塞和事件驱动功能大大提升了服务器与前端交互的性能。

MySQL是当前国内应用最广泛的关系型数据库,具有性能高、成本低、可靠性好的特点。搭配Spring逻辑开发,可以使前端工程师初步具有全栈技能雏形。其他类型数据库、信息安全技术、版本管理、模型与消息中间件相关知识,前端开发初级工程师可根据具体工作内容,按照职业规划进行安排学习。

Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。Vue是轻量级框架,具有简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等特性,在国内占据较高市场份额。另外,从发展角度看,React性能高,适用大型项目开发,市场份额一直呈上涨趋势。在国内特有的小程序前端开发领域,不同厂商也推出了适配自身业务的小程序开发框架。

此外,企业对前端框架的应用偏好还取决于技术负责人的经验领域、项目性质和公司技术积淀。企业在实施大型项目时往往更加看重稳定性,不会贸然实践新技术。值得指出的是,某些特定行业技术人员愿意对新技术做二次封装,形成特殊框架来适应行业特点。

目前来看,毕业生最值得掌握的前端技术框架仍为Vue,应尽量熟练掌握原理和应用,在此基础上,锻炼解决实际问题的能力,以便在工作中对新的技术框架实现快速学习和应用。

全栈型开发人才受到欢迎

数字化转型时代下,全栈开发工程师受到广泛欢迎。成长型企业与部分成熟型企业通常没有管理大量后台数据的任务,期待一位工程师可以完成前端开发并管理数据库。大型企业业务复杂,期待拥有全栈知识的人才进入项目团队降低前后端沟通成本,提高开发效率。

在开发复杂项目过程中,需要全栈工程师的全局性思维,如设置全栈的开发环境和工作流、构建后端服务API和微服务、数据库操作、能够独立开发应用、部署到云端。这类工作中全栈工程师的地位目前无可取代。

软件和信息服务技术人员更换工作较为频繁,高职毕业生进行职业规划时,将自己培养成全栈型人才有利于提高自己的个人价值,在职业发展上拥有更多选择空间。


上图为当前主流Web开发全栈技术,通常Web全栈开发工程师的工作重心依然是前端开发,对其他方面的技术有较为全面的了解。拥有三年以上经验的全栈开发工程师年薪可以普遍达到30万元以上。

大前端开发受到企业青睐

目前,Windows、iOS、Android是主流操作系统。通过一次开发来适用所有平台,开发者不需要多次进行原生开发即是大前端开发的特点。大前端的设计核心为通过跨平台开发来消除不同平台开发的差异,避免因各个平台使用的技术栈不一样而导致代码无法复用,进而增加成本的问题。

发展较早的跨平台开发技术为HTML5与原生混合开发,又称Hybrid开发,微信、淘宝、美团、爱奇艺等知名移动应用均使用这种模式开发。这类框架主要原理就是将App的一部分需要动态变动的内容通过HTML5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(iOS),HTML5部分是可以随时改变而不用发版,这样就解决了动态化的需求。

另一种跨平台开发解决方式为JavaScript开发配合原生渲染。这类开源框架的代表主要是Facebook的React Native、阿里的Weex,也有未开源的美团Picasso,以及最新推出的快应用。原生渲染使得性能与动态化程度大幅度超出HTML5,并且支持热更新。

还有两种发展势头迅猛的解决方式为Google推出的Flutter与PWA(Progress Web App)。Google的品牌效应为Flutter吸引了大量开发者,提供了相当规模的生态内容,开发者可以通过Dart语言开发App,一套代码同时运行在iOS和Android平台。Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加原生扩展。Flutter既不使用WebView,也不使用操作系统的原生控件,相反,Flutter使用自己的高性能渲染引擎来绘制widget,这样不仅可以保证在Android和iOS上UI的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。

PWA本质上是Web App,借助一些新技术也具备了Native App 的一些特性,比如离线能力、本地缓存和通知推送。PWA兼具Web App和Native App的优点,看起来更像一个原生App。PWA完全使用前端技术栈,不过它需要手机和浏览器的支持,目前支持Service Worker和Google Play Service的Android手机,以及搭载11.3以上的iOS手机可以使用PWA。PWA在国内受关注较少,但PWA的设计思路最符合大前端理念,具有良好的发展前景。

小程序的火爆带动了一套独特的跨平台解决方案。小程序HTML5内嵌开发方式自带跨主流平台能力,性能与功能受到少量限制。Taro和Uni-App采用跨多端的实现方式,支持一次开发,自动生成能运行在微信、百度、支付宝、字节跳动、QQ、小程序、快应用、H5、React Native等的应用,比较适合那些功能需要同时满足多个小程序应用的场景的项目。

大前端相关的跨平台开发技术可以为企业显著降低开发成本,未来会持续受到追捧。优秀的高职毕业生可根据自身情况选择一到两种解决方案进行学习和掌握。

TypeScript和WebAssembly等热门和潜力技术

TypeScript是有类型定义的 JavaScript 的超集,包括ES5、ES6和其他一些诸如反射、泛型、类型定义、命名空间等特征的集合,为了大规模JavaScript应用开发而生。

TypeScript在开源社区的关注度迅速升温,大量重量级前端开源项目如Angular、Vue3.0采用TypeScript开发。TypeScript在编码时可以规避JavaScript易出现的类型错误,受到程序员喜爱。强类型约束和静态检查,以及智能 IDE可以规避因不同程序员注入程序时遗留的隐患,可以降低软件腐化的速度,提升可维护性。此外,TypeScript理论上可以支持JavaScript现有代码,对于前端工程师而言学习成本低,易于解决版本兼容问题。

WebAssembly是一种新的字节码格式,目前主流浏览器都已经支持 WebAssembly。

和JavaScript需要解释执行不同的是,WebAssembly字节码和底层机器码很相似,可以快速装载运行,因此性能相对于JavaScript 解释执行而言有了极大的提升。有了WebAssembly,在浏览器上可以跑任何语言。

如TypeScript原本需要转译为JS才能被执行的,而WebAssembly是在浏览器里嵌入虚拟机,直接执行,不需要转译,执行效率大幅提高。

WebAssembly是一门不同于JavaScript的语言,但是,它不是用来取代JavaScript的。相反,它被设计为和JavaScript一起协同工作,从而使得网络开发者能够利用两种语言的优势。与JavaScript是一种高级语言相对,WebAssembly是一门低级的类汇编语言。它有一种紧凑的二进制格式,使其能够以接近原生性能的速度运行,并且为诸如C++和Rust等拥有低级的内存模型语言提供了一个编译目标以便它们能够在网络上运行。

高级工程师需要掌握程序优化技能,WebAssembly有潜力成为前端工程师职业发展道路上突破上升瓶颈的关键技术。



未完待续...

智城外包云平台

智城外包网,连接企业需求与专业开发团队。

全流程在线操作,全流程在线工作,全流程在线保障

十年诚信运营,可信实名认证

微信公众号:智城外包网

如对此调研报告感兴趣,请关注作者微信公众号:产教融合资讯。