首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员与软件工程师的区别

程序员和软件工程师这两个概念经常被混用,有人说程序员和软件工程师是一回事儿,也有人说这两个概念是有区别的。当然了这两种说法都有各自的道理。我们也不需要评判谁对谁错。

今天我想从这两个词出发,谈一下我的理解。观点不一定对,我来抛砖引玉,还请大家批评指正。我认为程序员是缺少工程师思维的软件工程师。换句话说,程序员不具备工程师思维,软件工程师是具有工程师思维的程序员。核心点在于工程师的思维。

那么到底什么是工程师思维呢?所谓工程师思维,是指在处理软件工程技术问题的时候,可以综合考虑人员、工期、成本、业务流程等因素,将软件项目的工作过程规范化、工作成果清晰化、工作效能最大化。软件工程师思维是系统思维的具体体现,特点就是有原则、有条理、足够稳健和完整。

软件工程师思维具体体现在哪几个方面呢?下面我来讲一讲:

1. 着重解决业务问题。程序员的着力点在于项目里的技术问题,工程师的着力点在于解决业务问题。有时候只要优化一下业务流程,就可以减少很多技术难点。我们经常讲的技术驱动就是指这个方面。

2. 控制开发过程。程序员只管闷头写代码,实现各种业务功能逻辑。工程师会从开发过程、项目成本的角度来思考,包括选择开发语言、采用哪些中间件、使用什么数据库等等。技术架构尽量简单,业务逻辑也尽量简化,代码结构也尽量简洁,大项目尽量迭代开发。

3. 降低维护难度。程序员通常不会考虑后期维护的难度。软件工程师会思考这个问题,所以他们会尽量完善项目文档,检查代码注释,甚至专门做一些工具用于后期维护检查,尽量做到容易维护。

当然,软件工程师和程序员还有很多其他方面的不同,我这里就不再一一列举了,大家有兴趣可以在评论区留言探讨。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220115A06DZP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券