本文共字1表1图,预计阅读时间3分钟。
在前文谈到了工业产品的软件化。有同学困惑的是,这对工业的从业者会造成什么影响?
如果我们更进一步去比较两个行业的产品,无论是硬件还是软件产品,都会经历非常相似的生命旅程:
工程阶段,硬件工程师在绘制图纸,而软件工程师在编写代码;
制造阶段,硬件要远比软件复杂,硬件需要加工和搬运等操作完成对物理世界的改变,软件只需把代码变成可用的软件包;
验证阶段,在时间上常常和制造甚至工程有重叠,两种产品都需要在各阶段设置质量门;
使用阶段,硬件产品对生产商来说并没有太多持续性的工作,但软件产品却可以享受不断的更新和运维服务。
你看到了,软件化可以让硬件产品获得更快的制造过程和更多的服务增值,因此企业不但可以敏捷应变、还能通过更多的服务持续盈利。苹果、小米、特斯拉、恒大都已经证明,这条路不但可以在商业世界获取巨额利润,还给资本市场带来无穷的想象力。
这么大的好处,付出的代价也是惨烈的,软件代码与最终产品使用的脱节一直是软件行业的痛苦深渊。完美的软件代码未必意味着良好的使用体验,更不一定能满足商业诉求。
强如微软的Windows,每一代成功产品之后就必然跟着个滑铁卢。在很多官方资料中,你甚至再也找不到Win2和Vista的影子了。
六七十年代,仿真技术在航空航天行业得到广泛应用,所谓仿真,就是在工程阶段预测产品的使用性能。软件行业老大IBM看到硬件产品的仿真效果不错,也开始搞软件产品的仿真预测系统,照猫画虎的数年之后宣告失败。
人们发现,既然软件的“制造”非常容易,那就不再追求设计阶段的预测,把精力投入在“质检”环节。当软件“质检”的理念被推向极致,就出现了TDD(测试驱动的开发)、CI/CD(持续集成/持续交付)这些新的敏捷理念。
软件行业的惨烈不止在验证环节。飞速发展的行业让人们渐渐发现,不可避免的复杂性在随着时间推移而累积。新的技术、趋势、需求、理念飞速侵蚀着程序员的脑细胞和发际线。
人们迫切需要新的角色跳出工程师的局限,跟进最新“时尚”并思考本行业的前景、为现存的问题找到改善方法、完整设计未来的系统结构和演变路径、定义开发原则指导技术决策、跟进确保产品和设计的一致性。现在,这种角色叫架构师。
工业的软件化也意味着工业领域的架构师将承担更大的复杂度。曾经的软件架构师只需要在软件这一亩三分地积累技术、业务、沟通、管理等方面的知识。而智能座舱、智能产线、智能家电这样高度软件化的系统架构师需要把视野扩充到机械、电气、自动化等全新的领域。所以你看到了指数增长的知识图谱。
年,网页开发人才最为稀缺,年,移动开发人才成为麒麟儿,年,历史的进程已经在眼前,你会怎么选择?
备注:新注册的