杂谈|程序员还是工程师

简介: 杂谈|程序员还是工程师

11.jpg

做一名开发者,我们经常会有一些 Title,比如前端/后端/大数据工程师等。但是一般自我介绍时,都会说我是程序员,而不是工程师,程序员和工程师其实大部分时间大部分人是混着用的,这两者之间没有区别吗?


在我看来,程序员和工程师是有本质的区别的:


  • 程序员更多在于实现,可以说是实施者

  • 工程师在于提出问题、需求,为一些群体提供解决方案,这是创造者

如果将 coding 技能抽象成笔,工程师会利用笔发散自己的思维,然后天马行空地进行尝试、肆意绘制,最后创作一幅画作,成功了就给人生添加色彩,留给世人慢慢欣赏;失败了无非就是在增加经验的同时多了一张草稿纸,总结一番继续尝试。


程序员则是选用合适的笔,最优且有效率地完成面前他人提供的一个手绘稿,填充细节,完善领域内的某个空白点。


都是用笔创作,这区别在哪?我认为是动力源的差别,创造者是自我思维驱动,我知道我要做什么,甚至是我要创造一个世界!实施者是我知道创造者要我做什么。


创造者在于用工具构建自己的世界,实施者专注于将事情做好。


读到这里,诸位可以想象你工作中你是什么角色?你是程序员还是工程师?或者说你是创造者还是实施者?你的工作环境中谁在做着创造者?可能是 CTO,也可能是产品经理,你和他们相处愉快吗?


怎么判断你是工程师还是程序员?很简单,你有没有为了解决某个问题用自己的技术能力产出一个解决方案甚至是产品,如果有,你就是工程师。


不愉快是怎么产生的?首先创作者从原始需求、从自己的世界观出发,实施者以现为目的出发一般来说是没有冲突的,如果有,那么就是三种可能:


  • 纯粹是作者和实施者的思维差异,磨合过程中难免有磕碰,互相理解吧

  • 创造者是伪创造者,总是明显提出不合常理的需求,他是在KPI之下的可悲的实施者

  • 实施者正在向创造者转变,每个人都可以是创造者,这并不奇怪,一千个读者心中有一千个哈姆雷特,每个创造者都会有自己的世界,此时的冲突大概率是由于一些信息不对称造成,基本可以协商解决,这是好的有利于产品进化的冲突

由于当前的工作环境,卷而激进,其实很多产品经理很少认识到自己是个创造者,大部分程序员又认为自己做产品就必须先有产品经理的头衔,这就造成了创造者的岗位没有在创造,执行者的岗位又很难去创造


这种模式下诞生的产品或者说好不容易在优秀的创造者手上诞生的产品交给这样的组合后,产品还怎么继续进步?


现有产品创造过程中又有CTO,也有产品经理,这两者若都有创造者思维,两个世界的碰撞那很可能非常猛烈,有时候技术和产品的割裂与矛盾就是这么来的,除非双方都约法三章。


但我认为意义不大,CTO和产品经理为什么不能是一个人?最好的方式是创造者的产品世界构建兼顾实施者的执行思维,简单来说就是创造者懂技术——这就是工程师。


我创业的话,我认为我需要将技术和产品这两个角色做个融合,将两个角度创造者的思考方式集成为一体,减少冲突,坚定方向,杜绝后续产品和技术上的割裂,这是我专属的工程师定义。


我觉得人生的意义在于创造,深入了解某个行业,然后提出自己的想法,创造为这个行业带来正面影响的产品,是很美妙的一件事。

相关文章
|
6月前
|
关系型数据库 应用服务中间件 Python
Linux运维工程师面试题全面汇总(2023)
Linux运维工程师面试题全面汇总(2023)
474 0
|
6月前
|
存储 监控 测试技术
读书笔记第五讲:《卓有成效的工程师》
读书笔记第五讲:《卓有成效的工程师》
|
8月前
|
运维 关系型数据库 MySQL
Linux运维工程师面试题(5)
Linux运维工程师面试题(5)1 SELECT 语句处理的顺序 2 MySQL 高可用方案有哪些 3 mysql 主从复制原理 4 mycat 读写分离原理 5 MHA 高可用原理 6 mysqldump 备份的原理 7 drop, delete 与 truncate 的区别,哪个最快 8 判断主从延迟的方法 9 MySQL 主要的索引类型 10 MySQL 中 myisam 与 innodb 的区别
84 1
|
8月前
|
负载均衡 算法 应用服务中间件
Linux运维工程师面试题(3)
目录 Linux运维工程师面试题(3)1 LVS 的工作模式有几种,分别是什么2 LVS 由哪几部分组成3 LVS 相关的术语有哪些4 LVS 集群的负载调度算法有哪些5 使用LVS 可不可以把iptables给禁用删除6 haproxy 调度算法有哪些7 nginx 实现负载均衡的分发策略有那些8 四层负载和七层负载的区别9 负载均衡的作用有哪些10 LVS、HAProxy、Nginx三款负载均衡的优缺点及区别
90 0
|
8月前
|
网络协议 应用服务中间件 Linux
Linux运维工程师面试题(2)
Linux运维工程师面试题(2) 1 访问一个网站的流程 2 TCP 三次握手,四次挥手 3 apache 和 nginx 有哪几种虚拟主机 4 TCP 和 UDP 的区别 5 nginx 和 apache 的区别 6 什么是反向代理,什么是正向代理,区别是什么? 7 cookie和session的区别 8 nginx 调优 9 系统出现大量的 time_wait 问题怎么解决 10 拿到一台新服务器后需要干什么,做哪些系统优化
112 2
Linux运维工程师面试题(2)
|
8月前
|
运维 Java Linux
Linux运维工程师面试题(1)
Linux运维工程师面试题(1) 1 别名、内部命令、外部命令的执行顺序 2 linux 系统启动流程 3 忘记用户密码的方法 4 忘记 grub 密码怎么解决 5 硬盘空间满了怎么处理,怎么找到硬盘中的大文件 6 硬盘明明有很多空间,为什么无法存储文件 7 进程使用内存问题 8 进程、线程和协程的区别 9 使用 find 命令找出/data目录下15天以上以log结尾的文件并删除 10 su、su - 和 sudo 的区别
187 1
Linux运维工程师面试题(1)
|
11月前
|
设计模式 程序员
程序员成长第三篇:好的代码和好的工程师
程序员成长第三篇:好的代码和好的工程师
61 0
|
存储 算法 安全
2020年程序员/工程师必看的三本编程书籍
因为新冠肺炎疫情,很多同学都宅在家中,所以有大把的时间进行学习和充电。作为程序员或工程师的你,想要在代码方面更精进一步的话,应该看哪些书?
3658 0
2020年程序员/工程师必看的三本编程书籍
|
SQL 大数据 MaxCompute
华山版《Java开发手册》作者独家讲解:工程师如何避免代码后的陷阱 | 开发者必读(008期)
最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》!
2017 0