随着阿里巴巴多元化业务 20 多年的高速发展,技术体系经历了 web 时代、移动化时代、数据智能时代、云计算时代等多个重大变革。在这些变革中,开发者面对的技术体系、工具体系、知识体系也在不断进化。研发工具在其中起到了技术规模化和降本提效的关键作用。
工具体系总览
通常企业中技术人员会按照技术工种分为前端、移动端、服务端、数据、算法、测试、运维等多个角色,这也代表着当前软件工程领域的几大技术分工。每种技术栈都有自己独有的技术发展路径和配套工具集,在阿里巴巴除了这种纵向的技术维度切分以外,还存在按照用户感知路径从前往后的横向切分。比如偏向业务侧的 no-code/low-code 编程,偏向通用侧的 pro-code 编程等。
研发工具体系发展大体分为:技术栈标准化、工具流程平台一体化、细分场景技术多样化三个主要阶段。
在一种特定技术领域发展初期或者公司刚成立之时,会出现技术框架百家争鸣,多种研发流程并行的情况,通常主流技术栈收敛是提升研发效率的第一选择。比如阿里开发中 Java 技术栈人员占比超过 50%,基于 Java 技术栈演进出的中间件、编程框架、配套工具,以及研发流程会高度耦合,形成统一研发解决方案。
解决方案的产品化会诞生一体化的工具流程平台,而此平台对企业的核心收益在于将固有流程标准化和自动化,抬升了所有技术员工的技能底线,从而提升平均人效。另一方面工具平台可以帮助企业积累可用资产,并将过程数据进行汇总分析,为管理者提供决策依据。
研发工具发展的第三阶段是与企业业务深度耦合和定制后的场景化,实现特定领域的效