你可能没发现你只是程序员不是工程师

简介: 你可能没发现你只是程序员不是工程师

工作中带团队这么多年了,总是发现好些童鞋工作年限3、5年以上还是个程序员,而不是工程师,永远只关注需求到编码的实现、追求先进技术编码方案实现,给人感觉比较技术控甚至有技术洁癖,给工程管理、交付过程带来不少问题,比如盲目追求技术先进性、不管项目时间要求坚持用自己的所谓高大上的编码方案实现、积极主动重构别人的所谓烂代码导致项目交付过程出现不可预知的延期和质量风险,当然这些偏技术控的童鞋还算比较好的了,对技术比较有追求,但好些童鞋只会接需求转为编码实现,有bug修复bug,有需求接需求,编码能力停留在复制粘贴上,这种只做需求翻译机的程序员更让人恨铁不成钢,团队中永远也是个螺丝钉。接下来老猿跟大伙聊聊进入职场上升通道首先要从尽早从程序员向工程师转变,无论是往管理向还技术向发展,前提都是要先成为优秀的工程师。

职场中不要只做程序员,要成为优秀的工程师才能进入快速上升通道

我们先看下程序员跟工程师的能力区别:

35.jpg

以上表格我们看程序员不一定是工程师,工程师一定是程序员,那么工程师跟程序员的思维视角有什么不同,具体:

1. 工程师

理解何谓软件工程,软件实现过程的不同阶段、每个阶段需要的方法、流程、规范、工具、交付物以及标准等;

能够从“系统、关联、过程”的视角看研发对象,能够做到从全局到局部、由上到下、由粗到细,思考对象是按照从“系统→模块→功能→组件→程序”的顺序;

遇到问题会寻找解决问题的共同方法,比如抽提、梳理、建模;

善于分析、并能够用设计图表达意图和逻辑;

2. 程序员

不理解何谓软件工程及开发过程,只关注与自己相关部分的工作内容;

更容易从“代码、程序”的视角看研发对象,多从细节入手、思考、实施;

遇到问题缺乏系统全局、过程视角思考,立即去寻找具体做法并实施

不善于分析、用设计图表达自己的意图,缺乏逻辑意识,只会用代码说话;

     那么如何从程序员快速成长为工程师呢,除去靠个人的努力学习软件工程等知识外,在工作中不要着急编码,要从开发过程、协作流程和规范、项目工程化等工程视角去多思考多实践。总之职场中不要只做程序员,要成为优秀的工程师才能进入快速上升通道,无论是往管理向还技术向发展,前提都是要先成为优秀的工程师。


文/老猿,写代码写诗写职场的程序猿大叔,倾力原创简单实用的硬干货,转载此文请联系老猿

相关文章
|
搜索推荐 前端开发 程序员
新手工程师需要知道的 7 件事
今年已经是我从事软件开发行业的第七个年头,我觉得现在是一个好的时机向一些新入行的软件工程师分享一些我认为越早知道越好的知识。希望能对您有所启发。 ## 1. 需求总是会变 也许您已经和团队成员评估了需求的合理性,并且达成了共识。您胸有成竹的认为产品需求不会再发生改变。但真相是残酷的,需求总是会因为各种各样的原因发生变化,例如: - 您或您的上司有了一个新的想法; - 产品的目标群体发生了变化
13262 1
|
Java
Java开发初级6.23.1
1.下面关于泛型的描述中错误的一项是? A. “? extends 类”表示设置泛型上限 B. “? super 类”表示设置泛型下限 C. 利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容 D. 如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程序将无法编译通过 相关知识点: https://edu.aliyun.com/course/35 正确答案:D 2.下列选项中属于SVN中控制鉴权用户访问版本库的权限默认权限的是() A. write B. read C. none D. null 相关知识点: auth-access:取值范围为"writ
172 0
|
Java
Java开发初级6.22.1
1.下面关于泛型的描述中错误的一项是? A. “? extends 类”表示设置泛型上限 B. “? super 类”表示设置泛型下限 C. 利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容 D. 如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程序将无法编译通过 相关知识点: https://edu.aliyun.com/course/35 正确答案:D 2.下列选项中属于SVN中控制鉴权用户访问版本库的权限默认权限的是() A. write B. read C. none D. null 相关知识点: auth-access:取值范围为"writ
146 0
|
SQL 前端开发 JavaScript
Java开发初级6.20.2
Java开发初级6.20.2
118 0
|
Java 开发工具 git
Java开发初级6.16.3
Java开发初级6.16.3
116 0
|
Java
Java开发初级6.16.1
Java开发初级6.16.1
103 0
|
Java 开发工具 git
Java开发初级6.13.3
Java开发初级6.13.3
101 0
|
Java
Java开发初级6.13.1
Java开发初级6.13.1
99 0
|
Java 开发工具 git
Java开发初级6.10.3
Java开发初级6.10.3
89 0
|
SQL 前端开发 JavaScript
Java开发初级6.9.2
Java开发初级6.9.2
76 0