前言

自古以来,文人相轻,而这股风气如今也在电子工程师的圈子里蔓延开来,影响者众多。从程序语言、工具、OS、硬件、到职场,根据你所学东西的不同,被划分为不同的阵营。仿佛是文人特有的傲气在作祟,出于对所学东西的坚持,对其他东西的轻视,分属不同阵营的人都鄙视来鄙视去,甚至形成一条鄙视链,不过最后发现也就只剩下自己才不鄙视自己。想知道工程师的鄙视链到底有多惨烈,看完本文你就懂了,一定会吓坏不少小伙伴的。

软件工程师的鄙视链到底有多惨烈、多残酷呢?

最近这几年在世界各地突然吹起了一股全民写程序的风潮,连美国总统欧巴马都在写 JavaScript 了,但是身为一介靠写程序(以及在上班时间胡乱上网)来谋生的 developer(所谓的 developer 就是「软件工程师」的比较潮的说法),想要提醒那些想学习写程序的人一件重要的事:慎选你的第一个程序语言。

在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。从程序语言、编辑器、平台到 { 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而其中「你用什么程序语言?」更是大家最热衷的一条鄙视链,所以对于刚踏入程序设计领域的初学者来说,万一程序语言选得不好,可是会一开始就落入鄙视链的底层啊。

程序语言篇

懂 Functional Programming 的工程师鄙视老是把设计模式挂在嘴边的工程师,老是把设计模式挂在嘴边的工程师鄙视会说「你这样写就不 OO 了啊」的工程师,会说「你这样写就不 OO 了啊」的工程师鄙视会说「蛤?什么面向对象?不是把重复的 code 写成一个 function 就好了吗?」的工程师,会说「蛤?什么面向对象?不是把重复的 code 写成一个 function 就好了吗?」的工程师鄙视把同一段 code 到处复制贴上的工程师,把同一段 code 到处复制贴上的工程师鄙视 PM。

写静态语言的工程师鄙视写动态语言的工程师。

写汇编语言的工程师鄙视写 C 语言的工程师,C 语言工程师鄙视 C++ 工程师,C++ 工程师鄙视 Java 和 C# 工程师,Java 工程师和 C# 工程师则互相鄙视,而 C# 工程师又鄙视 Visual Basic 工程师和会把 C# 念成「C 井」的工程师,会把 C# 念成「C 井」的工程师则鄙视认为 HTML 是一种程序语言的设计师。

用 Python 3 的工程师鄙视还在用 Python 2 的工程师,用 Python 2 的工程师鄙视遇到 UnicodeEncodeError 的工程师。

写 iOS 的工程师鄙视写 Android 的工程师,写 Android 的工程师鄙视写 Windows Phone 的工程师。

有 Swift 一年经验的工程师鄙视有 Objective-C 五年经验的工程师,写 Objective-C 的工程师鄙视用 PhoneGap 包装成 native app 的工程师。

用 React.js 的工程师鄙视用 AngularJS 的工程师,用 AngularJS 的工程师鄙视用 jQuery 的工程师,用 jQuery 的工程师鄙视用 Vanilla JavaScript 的工程师,用 Vanilla JavaScript 的工程师鄙视 IE 的用户。

会用 debugger 的工程师鄙视用 assert 的工程师,用 assert 的工程师鄙视只会 print() 的工程师;用 console.log() 来 debug 的工程师鄙视用 alert() 来 debug 的工程师。

写 Ruby on Rails 的工程师鄙视所有使用其他语言的工程师。

什么?你说 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什么程序语言呢!

所有的工程师都鄙视 PHP 工程师。

总结起来就是:

  asm → C ↔ C++ ↔ Java ↔ C# → JavaScript → VB → VBScript

  Common Lisp ↔ Scheme → Emacs Lisp →→ Python

  Python ↔ Perl → shell

  PHP → all

工具篇

用 text editor 的工程师鄙视用 IDE 的工程师。

用 Vim 的工程师鄙视用 Emacs 的工程师,用 Emacs 的工程师鄙视用 Vim 的工程师,无论是用 Vim 或 Emacs 的工程师都鄙视所有用其他编辑器的工程师;用 Atom、Notepad++、Sublime Text 的工程师鄙视用 Windows 记事本的工程师。

用 Android Studio 或 IntelliJ IDEA 的工程师鄙视用 Eclipse 的工程师,用 Eclipse 的工程师鄙视用 NetBeans 的工程师。

程序代码用 space 缩排的工程师鄙视用 tab 缩排的工程师,用 tab 缩排的工程师鄙视混用 space 和 tab 来缩排的工程师。

用 Git 或 Mercurial 的工程师鄙视用 Subversion 的工程师,用 Subversion 的工程师鄙视用 Dropbox 来做版本控制的工程师,用 Dropbox 来做版本控制的工程师鄙视根本不知道什么叫做版本控制的工程师。

知道 GitHub 的工程师鄙视不知道 GitHub 的工程师;在 GitHub 有 private repo 的工程师鄙视为了免费的 private repo 而去用 BitBucket 的工程师。

用 Zsh 的工程师鄙视用 Bash 的工程师,用 Bash 的工程师鄙视用 Cygwin 的工程师,用 Cygwin 的工程师鄙视用「命令提示字符」的工程师,用命令提示字符的工程师鄙视用 GUI 接口的工程师。

用 IRC 的工程师鄙视用 HipChat 的工程师,用 HipChat 的工程师鄙视用 Slack 的设计师和 PM。

用 reStructuredText 写文件的工程师鄙视用 Markdown 写文件的工程师,用 Markdown 写文件的工程师鄙视用 HTML 写文件的工程师,用 HTML 写文件的工程师鄙视不写文件的工程师,然后用 LaTeX 写文件的工程师鄙视所有工程师。

用 Nginx 的工程师鄙视用 Apache 的工程师,用 Apache 的工程师鄙视用 IIS 的工程师。

用 Spark 的工程师鄙视用 Hadoop 的工程师,用 Hadoop 的工程师鄙视用 Hadoop 处理只有几 GB 数据的工程师,用 Hadoop 处理只有 1GB 数据的工程师鄙视用 NoSQL 的工程师,用 NoSQL 的工程师鄙视用关系数据库的工程师,用关系数据库的工程师鄙视用 Excel 的 PM。

用 Docker 来部署 server 的工程师鄙视用 Ansible 或 Puppet 来部署 server 的工程师,用 Ansible 或 Puppet 来部署 server 的工程师鄙视用 Fabric 来部署 server 的工程师,用 Fabric 来部署 server 的工程师鄙视手动 SSH 的工程师。

OS 篇

用 Mac OS X 的工程师鄙视用 Linux 的工程师,用 Linux 的工程师鄙视用 Windows 的工程师。

用 Debian 的工程师瞧不起用 Ubuntu 的工程师,用 Ubuntu 的工程师瞧不起用非 LTS 版本的 Ubuntu 的工程师。

硬件篇

用 MacBook Pro Retina 的工程师鄙视用 MacBook Air 的工程师,用 MacBook Air 的工程师鄙视用 ThinkPad 的工程师,然后用 Raspberry Pi 的工程师鄙视用 MacBook Pro Retina 的工程师。

用 Dvorak 键盘的工程师鄙视用 Mac 键盘的工程师,用 Mac 键盘的工程师鄙视用 QWERTY 键盘的工程师,用 QWERTY 键盘的工程师鄙视鄙视不知道 QWERTY 键盘是什么的工程师,不知道 QWERTY 键盘是什么的工程师鄙视用手写板的设计师。

坐 Aeron 椅子的工程师鄙视坐普通办公椅的工程师,坐普通办公椅的工程师鄙视跟他一样做普通办公椅的 PM,然后站着写程序的工程师鄙视坐 Aeron 椅子的工程师。

职场篇

搞硬件的工程师鄙视搞软件的工程师。

写 OS 的工程师鄙视写 Web 的工程师,写 Web 的工程师鄙视写 desktop application 的工程师。

后端工程师鄙视前端工程师。

工程师跟设计师互相鄙视。

信奉 Test-Driven Development 的工程师鄙视先写 code 再补 tests 的工程师,先写 code 再补 tests 的工程师鄙视不写 tests 的工程师,不写 tests 的工程师鄙视又他妈乱改需求的 PM。

没有证照的工程师鄙视考了一堆证照的工程师。

上班穿休闲服的工程师鄙视上班穿西装的工程师,上班穿西装的工程师鄙视上班穿系服的工程师。

开发篇

(来源:infoQ)


架构师 VS 其他工程师

在我们调研的工程师群体中,总有一帮人会“Diss”他们的架构师老大:“从不去一线干活儿,只会画流程图、做 PPT。架构实用但适用否?他们才不 Care!”

而反观整个工程体系来说,架构师承担了提方针、定策略、搭架子的工作。少了他们,代码就好似积木,怎么垒、垒成怎样都成了空壳。所以,你如何看待这种「鄙视关系」?

开发 VS 测试

软件测试和开发是产品开发中同样重要的两个板块,无论在哪个领域发展都可以给你实现价值的空间。而两者之间的「相爱与相杀」,目的都是为了让产品体验更佳。所以,唯独能消除鄙视层关系的理由之一,就是提升你的逼格和实力。

博士工程师 VS 本科工程师

曾听过一位程序员的自述,在入职第一天的自我介绍环节,因为学历是本科而其余人全为研究生及博士,而受到了深深的鄙视……当然,这层鄙视关系从客观上不算无理,但主观上却成为了无形的隔阂。学历都是浮云,实力更重要不是吗?

前端 VS 后端

那些只会“画图”的 Web designer 和那些“幕后”的 Web developer,可能俯视的姿势各有各的不同。不过正如一辆车,没有前轮跑不动,没有后轮走不了,因此缺谁能行呢?

研发 VS 产品经理

PM:能不能加个需求?你看......

研发:加不了

PM:怎么就加不了?这又不是什么复杂的功能

研发:你项目上线周期定那么死,我现在还有好多接口没完成,哪有时间加啊?

PM:那我也没见你们加班啊?再说这需求也不复杂啊,最多 1 天就能搞定!

研发:1 天能搞定,你能你上啊!(爆发的边缘,声音分贝调高)

———

如果你看了以上这些惨绝人寰的鄙视链之后,仍然没有击倒你想要学习 coding 的心,那我必须提醒你一件最重要的事:先去交一个女朋友,再来学写程序;因为一旦你成为软件工程师之后,就交不到女朋友了。

当然,硬件工程师其实也逃不过鄙视的命运:

工具鄙视链:Allegro → mentor EE → mentor PADS → AltiumDesign

行业鄙视链:军工科研→市政项目公司(水电气,交通,基建)→ 家电→ 消费电子

示波器之间的鄙视,这就涉及到示波器内部电路的复杂及技术的先进性了:

用安捷伦示波器 →泰克示波器 →台湾产的示波器 → 国产示波器→ 二手模拟示波器 → 没有示波器

工种鄙视链:

做电路设计的 → 写fpga的 → 写arm的 → 画pcb

画原理图 → 画PCB的 → 不懂PCB只会画原理图的

软硬皆通的 → 只会软件的或者只会硬件的 → 软硬都会,但是只会一点点的

开发的 → 研发测试的 → 生产测试的 → 焊接的 → 不会焊接的开发

搞天线的 → 搞微波的 → 搞射频的 → 搞基带的 → 搞布线的 → 搞测试的 → 搞维修的

结构设计、PCB设计、热设计,没毛病时相安无事,有毛病时相互鄙视。

通信工程师也存在“鄙视链”:

职位鄙视链:

搞设计的鄙视搞施工的,

搞施工鄙视搞监理,

搞设计其实也鄙视搞监理的,

搞监理的同时鄙视甲方、施工和设计,

搞行政的表示通通看不起

工种鄙视链:

系统工程师鄙视RF工程师,

RF工程师鄙视路测工程师,

路测工程师联合所有外场工程师鄙视一切内场工程师。

工作经验鄙视链:

1年工作经验的5G工程师鄙视5年工作经验的4G工程师,
5年工作经验的4G工程师鄙视10年工作经验的3G工程师,
10年工作经验的3G工程师鄙视15年工作经验的2G工程师,
15年工作经验的2G工程师鄙视一切不超过6年经验的工程师
PHS工程师:咦,我为什么不在链里?
WiMax工程师:咦,我为什么不在链里?
……

技能鄙视链:

看英文资料的鄙视看中文资料的,

写Word的鄙视写PPT的,

用Excel的鄙视写Word和PPT的,

会编小程序的鄙视用Excel的,

用Excel的鄙视连Vlookup和数据透视表都不会用的,

用数据透视表的鄙视用SUBTOTAL的...

工具鄙视链:

用Thinkpad的鄙视用DELL的,

用DELL的鄙视用联想的,

用联想的鄙视用索尼的,

用索尼的鄙视用三星的,

用三星的鄙视用华硕的,

用华硕的鄙视用神州的……

着装鄙视链:

穿T-shirt的鄙视穿衬衣的,

穿衬衣的鄙视穿工装的,

穿工装的鄙视穿T-shirt还挂个临时工卡的,

穿T-shirt还挂个临时工卡的鄙视穿T-shirt竟然不搭配牛仔裤的

汽车工程师当然也未能幸免啦:

技术类鄙视非技术类的,非技术类包括项目管理、质量管理之类的。

技术大类之中被鄙视的是总体、性能等专业的,尤其是性能部门,工作比较轻松,工资也不低。

产品工程师最为苦逼,工作面涉及产品技术、工艺、项目等各个领域,还要和采购、供应商、工艺以及上述被鄙视的所有难缠部门打交道,所以处于鄙视链顶端。

制造部门和设计部门鄙视研发部门,研发部门鄙视制造部门和市场部门;

研发部门内部:工程板块鄙视项目管理;工程板块与造型设计相互鄙视;
工程板块内部:结构设计与性能板块相互鄙视;
性能板块内部:CAE与试验部门相互鄙视。

作为一名产品工程师,我鄙视了所有人,又被所有人鄙视……

就连手机和APP也消停不了:

当然还有最重要的:

有女朋友的 →_→ 没女朋友的

秃头的 →_→ 有头发的

最后:以上文章仅为娱乐,并不具有参考性,现如今复合型人才的出现,以及电子工程师软硬两手都要“硬”,使得界线越来越模糊。希望大家都能事有所成。

-END-

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

免责声明:本文转自网络,整理/排版:付斌,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!

往期好文合集

谈一谈无人机的编队控制方法。戳这里>>

干货 | 双目摄像头实现手势识别,完美还原人体运动手势。戳这里>>

这篇文章后,不要再问我怎么做一台智能车了。戳这里>>

//end

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

电子工程师也有“鄙视链”!软件硬件无一幸免!相关推荐

  1. 一位强人写的电子工程师起码技术要求

    一位强人写的电子工程师起码技术要求 1. MCU分类:4位机,51,PIC,AVR,MSP430等系列进行学习: 2. 硬件知识:元器件,PCB布线,经典电路,通讯协议,EMC,开发工具: 3. 软件 ...

  2. 合格的电子工程师需要掌握的知识和技能

    合格的电子工程师需要掌握的知识和技能   (转载) 愚以为,掌握了一下的硬件和软件知识,基本上就可以成为一个合格的电子工程师:   第一部分:硬件知识    一. 数字信号    1. TTL和带缓冲 ...

  3. 电子工程师比掌握的知识

    愚以为,掌握了一下的硬件和软件知识,基本上就可以成为一个合格的电子工程师: 第一部分:硬件知识 一. 数字信号 1. TTL和带缓冲的TTL信号 2. RS232和定义 3. RS485/422(平衡 ...

  4. 如何能成为一名真正电子工程师【转】

    如何能成为一名真正电子工程师 最佳答案认真学习. 电路原理 最基础的了 要成为一个学电子的必须学的吧 模拟电路 很难学 但是非常有用 尤其对于电路方面的工程师是最基础的了对 模拟电路的理解靠经验的成分 ...

  5. [转]如何能成为一名真正电子工程师

    [转]如何能成为一名真正电子工程师 来源: 王鹏的日志 如何能成为一名真正电子工程师 最佳答案认真学习. 电路原理 最基础的了 要成为一个学电子的必须学的吧 模拟电路 很难学 但是非常有用 尤其对于电 ...

  6. 电子工程师会用到哪些硬件工具?

    电子工程师通常要负责PCB画线,电子元器件分析,电路设计,故障分析等工作内容. 不过巧妇难为无米之炊,电子工程师的这些工作内容就需要一些专门的工具,本篇单独介绍电子工程师经常用到的硬件工具,相比于软件 ...

  7. 为什么在中国电子工程师不如搞软件的?

    知乎用户:时光行者 做了9年硬件电路设计,5年智能手机,4年医疗器械,看到这个问题,心情很复杂,自己喜爱的工作居然无奈的发展到了这个窘境. 当初选择硬件是因为不想日复一日的坐在屏幕前面敲代码到天亮,硬 ...

  8. 华为硬件工程师手册_一名电子工程师该如何打开正确的摆摊姿势?

    欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子.新能源干货.行业发展趋势分析.最新产品介绍.众多技术达人与您分享经验,欢 ...

  9.  电子工程师的出路在哪里?干了两年电子工程师(硬件开发),不知道以后方向在哪里,挺迷茫!

     电子工程师们,你还在座位上埋头苦干,跟与一堆数据跟程序打交道吗? 这样下去不行,现在生活想过得有滋有味,靠工资不如靠收入,做技术是吃脑力饭,压力大,头发大把大把掉,工资永远那个数,跳来跳去无法突 ...

最新文章

  1. jupyter安装插件,以及远程访问服务器上的jupyter notebook
  2. 基于React开发范式的思考:写在Lesx发布之际
  3. 屌丝程序员的那些事(一)-毕业那年
  4. Python中FileIO
  5. 10万美元奖金!CVPR 2021 重磅赛事,安全AI挑战者计划
  6. dedecms 5.7 站点文件从本地子目录上传到远程根目录后找不到模板的解决方案
  7. mysql快速部署主从复制
  8. mysql的粗略学习
  9. 【心电信号】基于matlab Simulink胎儿心电信号提取【含Matlab源码 1550期】
  10. Oracle数据库备份与恢复
  11. java的regex_Java的Regex --正则表达式
  12. 互联互通PSAM卡发卡注意事项与要点总结
  13. word2vec:基于层级 softmax 和负采样的 Skip-Gram
  14. 【杜教BM模板】焦作网赛L
  15. ios阴阳是不显示服务器,阴阳师IOS登录异常怎么办 苹果不能正常登录解决办法...
  16. YYLabel和YYTextView的使用
  17. 【思特奇杯·云上蓝桥-算法训练营】第1周:哥德巴赫分解
  18. Android DRM框架分析
  19. android 拨打多个电话号码,和多号如何使用副号打电话/发短信
  20. Nubia Z18 联通VoLte修复,基带文件

热门文章

  1. 新红旗,Ubuntu与魅族联手打市场
  2. Java—数据类型与运算符
  3. NG-ZORRO Descriptions描述列表自定义title样式(nz-descriptions-item)
  4. 40个值得收藏的GIS学习数据下载网站合集
  5. Codeforces 1106 简要题解
  6. 2020.2.15 要求:总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作。
  7. 微软杀疯了!全家桶嵌入ChatGPT,云平台Azure强到发指
  8. 终于,富途网络科技公司---面试
  9. #来陀螺问答,问大V#矿业专场优质问答精选
  10. 服务器三大体系 SMP、NUMA、MPP 之详解