【软件|程序员与软件工程师的区别】
程序员和软件工程师这两个概念经常被混用 , 有人说程序员和软件工程师是一回事儿 , 也有人说这两个概念是有区别的 。 当然了这两种说法都有各自的道理 。 我们也不需要评判谁对谁错 。
今天我想从这两个词出发 , 谈一下我的理解 。 观点不一定对 , 我来抛砖引玉 , 还请大家批评指正 。 我认为程序员是缺少工程师思维的软件工程师 。 换句话说 , 程序员不具备工程师思维 , 软件工程师是具有工程师思维的程序员 。 核心点在于工程师的思维 。
那么到底什么是工程师思维呢?所谓工程师思维 , 是指在处理软件工程技术问题的时候 , 可以综合考虑人员、工期、成本、业务流程等因素 , 将软件项目的工作过程规范化、工作成果清晰化、工作效能最大化 。 软件工程师思维是系统思维的具体体现 , 特点就是有原则、有条理、足够稳健和完整 。
软件工程师思维具体体现在哪几个方面呢?下面我来讲一讲:
1. 着重解决业务问题 。 程序员的着力点在于项目里的技术问题 , 工程师的着力点在于解决业务问题 。 有时候只要优化一下业务流程 , 就可以减少很多技术难点 。 我们经常讲的技术驱动就是指这个方面 。
2. 控制开发过程 。 程序员只管闷头写代码 , 实现各种业务功能逻辑 。 工程师会从开发过程、项目成本的角度来思考 , 包括选择开发语言、采用哪些中间件、使用什么数据库等等 。 技术架构尽量简单 , 业务逻辑也尽量简化 , 代码结构也尽量简洁 , 大项目尽量迭代开发 。
3. 降低维护难度 。 程序员通常不会考虑后期维护的难度 。 软件工程师会思考这个问题 , 所以他们会尽量完善项目文档 , 检查代码注释 , 甚至专门做一些工具用于后期维护检查 , 尽量做到容易维护 。
当然 , 软件工程师和程序员还有很多其他方面的不同 , 我这里就不再一一列举了 , 大家有兴趣可以在评论区留言探讨 。
- tiktok|福布斯最牛网红,靠中国软件年入1.1亿,致富宝典引众人模仿
- 短视频|2022年大厂招聘Java程序员的技术标准,你怎么看?
- LG|麦当劳中国与阿里巴巴合作升级,将聚焦会员服务、IP合作、全渠道营销等新领域
- 杀毒软件|成年人的崩溃时刻,从卸载国产流氓杀毒软件开始
- 人工智能|焦李成院士:进化优化与深度学习的思考
- 京东|宋志平与任正非是怎样的企业家
- 软件|曾经很火,现在基本上消失的软件,你能认出几个?
- 5g|民航局:国内“航空5G”与近期国外情况不同
- 民航局|5G影响民航安全运行?民航局回应:“航空5G”与电信5G完全隔离
- 美联储|氪星晚报丨腾讯音乐进行人员和组织调整,涉及QQ音乐及全民K歌;腾讯电竞与欧愉科技达成电竞酒店战略合作;吉利拟收购魅族手机