工作中带团队这么多年了,总是发现好些童鞋工作年限3、5年以上还是个程序员,而不是工程师,永远只关注需求到编码的实现、追求先进技术编码方案实现,给人感觉比较技术控甚至有技术洁癖,给工程管理、交付过程带来不少问题,比如盲目追求技术先进性、不管项目时间要求坚持用自己的所谓高大上的编码方案实现、积极主动重构别人的所谓烂代码导致项目交付过程出现不可预知的延期和质量风险,当然这些偏技术控的童鞋还算比较好的了,对技术比较有追求,但好些童鞋只会接需求转为编码实现,有bug修复bug,有需求接需求,编码能力停留在复制粘贴上,这种只做需求翻译机的程序员更让人恨铁不成钢,团队中永远也是个螺丝钉。接下来老猿跟大伙聊聊进入职场上升通道首先要从尽早从程序员向工程师转变,无论是往管理向还技术向发展,前提都是要先成为优秀的工程师。
▎职场中不要只做程序员,要成为优秀的工程师才能进入快速上升通道
我们先看下程序员跟工程师的能力区别:
以上表格我们看程序员不一定是工程师,工程师一定是程序员,那么工程师跟程序员的思维视角有什么不同,具体:
1. 工程师
理解何谓软件工程,软件实现过程的不同阶段、每个阶段需要的方法、流程、规范、工具、交付物以及标准等;
能够从“系统、关联、过程”的视角看研发对象,能够做到从全局到局部、由上到下、由粗到细,思考对象是按照从“系统→模块→功能→组件→程序”的顺序;
遇到问题会寻找解决问题的共同方法,比如抽提、梳理、建模;
善于分析、并能够用设计图表达意图和逻辑;
2. 程序员
不理解何谓软件工程及开发过程,只关注与自己相关部分的工作内容;
更容易从“代码、程序”的视角看研发对象,多从细节入手、思考、实施;
遇到问题缺乏系统全局、过程视角思考,立即去寻找具体做法并实施
不善于分析、用设计图表达自己的意图,缺乏逻辑意识,只会用代码说话;
那么如何从程序员快速成长为工程师呢,除去靠个人的努力学习软件工程等知识外,在工作中不要着急编码,要从开发过程、协作流程和规范、项目工程化等工程视角去多思考多实践。总之职场中不要只做程序员,要成为优秀的工程师才能进入快速上升通道,无论是往管理向还技术向发展,前提都是要先成为优秀的工程师。
文/老猿,写代码写诗写职场的程序猿大叔,倾力原创简单实用的硬干货,转载此文请联系老猿