程序员与软件工程师的区别在哪(程序员跟软件工程师的区别)
导语:程序员与软件工程师的区别
程序员和软件工程师这两个概念经常被混用,有人说程序员和软件工程师是一回事儿,也有人说这两个概念是有区别的。当然了这两种说法都有各自的道理。我们也不需要评判谁对谁错。
今天我想从这两个词出发,谈一下我的理解。观点不一定对,我来抛砖引玉,还请大家批评指正。我认为程序员是缺少工程师思维的软件工程师。换句话说,程序员不具备工程师思维,软件工程师是具有工程师思维的程序员。核心点在于工程师的思维。
那么到底什么是工程师思维呢?所谓工程师思维,是指在处理软件工程技术问题的时候,可以综合考虑人员、工期、成本、业务流程等因素,将软件项目的工作过程规范化、工作成果清晰化、工作效能最大化。软件工程师思维是系统思维的具体体现,特点就是有原则、有条理、足够稳健和完整。
软件工程师思维具体体现在哪几个方面呢?下面我来讲一讲:
1. 着重解决业务问题。程序员的着力点在于项目里的技术问题,工程师的着力点在于解决业务问题。有时候只要优化一下业务流程,就可以减少很多技术难点。我们经常讲的技术驱动就是指这个方面。
2. 控制开发过程。程序员只管闷头写代码,实现各种业务功能逻辑。工程师会从开发过程、项目成本的角度来思考,包括选择开发语言、采用哪些中间件、使用什么数据库等等。技术架构尽量简单,业务逻辑也尽量简化,代码结构也尽量简洁,大项目尽量迭代开发。
3. 降低维护难度。程序员通常不会考虑后期维护的难度。软件工程师会思考这个问题,所以他们会尽量完善项目文档,检查代码注释,甚至专门做一些工具用于后期维护检查,尽量做到容易维护。
当然,软件工程师和程序员还有很多其他方面的不同,我这里就不再一一列举了,大家有兴趣可以在评论区留言探讨。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请与我联系,一经查实立刻删除内容。本文内容由快快网络小快创作整理编辑!