
确定性、稳定性永远是工程思维的核心底色;功能性、快速性恰是互联网思维的核心底色。两种思维差异巨大。目前绝大部分软件工程师互联网思维的占绝大数,毕竟软件行业也正是得益于互联网行业的发展,大家养成互联网思维也很正常
基于作者看来,软件体系的发展更需工程思维而不是互联网思维,特别是在AI时代下,工程能力更有价值,是AI永远无法取代的,也是技术真正发挥价值的最重要保障。大家都有必要从互联网思维向工程化思维转变
互联网思维如何转向工程思维
互联网思维转向为工程思维,其实并不难,仅需踏实做好如下几个方面的工作即可:
1、思想与认知层面:重塑价值判断标准
重塑价值锚点:稳定性、可维护性、长期可演进性,本就是高价值产出,优于短期的功能交付速度。而糟糕的工程实践会导致的事故、返工、研发效率衰减,价值产出极小
重新定义“快”:互联网思维追求功能快速上线,这是局部速度;而工程思维追求通过稳健的架构、清晰的模块、确定性的手段,实现产品在整个生命周期内可持续、可预测的全局速度。这种全局速度要得是“慢就是快,稳就是快” 的工程哲学
2、流程与机制层面:构建确定性约束机制
强化设计: 在需求分析设计过程中,要做好评审和验证。须考虑确定性、发展性、战略满足性等,而不仅仅是在实现逻辑上
代码实现:设置开发、单体试用、局部试用等多个质量关卡,基于信用逻辑保障代码:严格代码规范检查、单元测试覆盖率要求、关键路径的集成测试、基础安全扫描和基准测试等。不合格代码无法进入下一个环节
系统上线: 严格的变更流程。任何上线变更,须明确变更单、回滚预案和影响面评估。基于灰度发布等机制,让发布从“高风险动作”变为“可控的、可观测的、可逆的日常操作”,比如“转正、生产”机制就是这个逻辑
3、能力与工具层面:提供工程化支撑
原子化与模块化: 推动技术栈统一建设,减少重复造轮子,降低系统复杂度和协作成本。这是工程思维“确定性”的基础
可观测性建设: 建立远超“问题排查”范畴的立体可观测体系。不仅要监控错误和延迟,更要监控业务流、资源利用率、组件间的依赖健康度,实现“在用户发现问题前感知系统状态”,为稳定性保障和容量规划提供数据驱动
控制人为因素: 将一切可机制实现的重复劳动自动化,包括环境搭建、代码构建、测试、部署、巡检、故障恢复预案等,最大程度避免工程师手工操作
最后要说:
要从互联网思维转向工程思维,本质上是将软件研发从一种“探索性、创作性、追求颠覆”的活动(牛逼活动),系统性地融入更多“系统性、建造性、追求可靠” 的工程属性(务实的农民工活动)。这并非否定创新与快速响应,而是为创新构建一个坚实、可靠、高效的基础。尤其在AI时代,当“快速生成代码”的能力持续增强,软件工程师的核心价值将愈发体现在:深刻的问题定义、严谨的体系架构、复杂系统的抽象与分解、以及对确定性、稳定性和发展性的保障能力上。 这正是工程思维所代表的、难以被替代的深层价值。所以,我们要积极做出改变,尽快从互联网思维转变为工程思维
【注:以上仅是作者肤浅认识,仅供参考!】
来源:与智慧做朋友
作者:李志勇 ( 微信号:qichelaba )
声明:文章中部分图例来源于网络,版权并不属于作者
夜雨聆风