程序员和软件工程师这两个概念经常被混用 , 有人说程序员和软件工程师是一回事儿 , 也有人说这两个概念是有区别的 。 当然了这两种说法都有各自的道理 。 我们也不需要评判谁对谁错 。
今天我想从这两个词出发 , 谈一下我的理解 。 观点不一定对 , 我来抛砖引玉 , 还请大家批评指正 。 我认为程序员是缺少工程师思维的软件工程师 。 换句话说 , 程序员不具备工程师思维 , 软件工程师是具有工程师思维的程序员 。 核心点在于工程师的思维 。
【阿里巴巴|程序员与软件工程师的区别】那么到底什么是工程师思维呢?所谓工程师思维 , 是指在处理软件工程技术问题的时候 , 可以综合考虑人员、工期、成本、业务流程等因素 , 将软件项目的工作过程规范化、工作成果清晰化、工作效能最大化 。 软件工程师思维是系统思维的具体体现 , 特点就是有原则、有条理、足够稳健和完整 。
软件工程师思维具体体现在哪几个方面呢?下面我来讲一讲:
1. 着重解决业务问题 。 程序员的着力点在于项目里的技术问题 , 工程师的着力点在于解决业务问题 。 有时候只要优化一下业务流程 , 就可以减少很多技术难点 。 我们经常讲的技术驱动就是指这个方面 。
2. 控制开发过程 。 程序员只管闷头写代码 , 实现各种业务功能逻辑 。 工程师会从开发过程、项目成本的角度来思考 , 包括选择开发语言、采用哪些中间件、使用什么数据库等等 。 技术架构尽量简单 , 业务逻辑也尽量简化 , 代码结构也尽量简洁 , 大项目尽量迭代开发 。
3. 降低维护难度 。 程序员通常不会考虑后期维护的难度 。 软件工程师会思考这个问题 , 所以他们会尽量完善项目文档 , 检查代码注释 , 甚至专门做一些工具用于后期维护检查 , 尽量做到容易维护 。
当然 , 软件工程师和程序员还有很多其他方面的不同 , 我这里就不再一一列举了 , 大家有兴趣可以在评论区留言探讨 。
- 副董事长|京东方A董秘回复:公司与全球数千家供应商保持着良好的合作关系
- 微信|个人收款码与商业收款码有什么不一样
- iqoo|iQOO Z5x兼备长续航与优质好屏,无压力畅玩游戏
- 任正非|任正非与孟晚舟的姓氏为什么不一样?
- 蓝思科技|苹果与34家中国供应商断绝合作,央视呼吁:尽快摆脱对苹果依赖
- 小米 11 Ultra 内测 NFC“读写勿扰”与“解锁后使用”功能
- 李现与eStar队员合影并晒签名队服 称“感谢冠军战队的礼物”
- 文和友|泡泡玛特与飞书达成合作 新消费代表企业加速迁移飞书
- 显示器|年货节联合回馈,华硕显示器与雷孜推出超值创艺套装!
- 自动驾驶|华为首秀自动驾驶,王兴:特斯拉遇到技术与忽悠能力相当的对手了