我是工程师,顺便谈谈工程师

image
我是一个仪表研发工程师。

各位不要误会,我不是研究穿戴举止的:一方面我拾掇拾掇以后还算仪表堂堂,不需要过多研发了;另一方面,我平时有些邋遢,为了工作,经常不洗脚——是的,我不洗脚不是我懒,是为了工作献身~

这里的仪表,是指测定温度、气压、电量、血压、流量等仪器的统称。我从接受客户需求开始构思,想硬件线路如何搭建,MCU 程式如何实现,从画电路图到编程实现到综合调试到试做试产,一条龙服务到底。

我从业17年,虽算不上个中精英,但所累积的经验还是不少的,因为我爱我的工作。任何不热爱的工作,都是积累不了真正的相关经验的。这年头,人心浮躁蠢蠢欲动的大环境下,能直言"爱工作"并一干十几年的人,应该不多吧?

而我这个标准的宅男没有像小平同志那样三起三落跌宕起伏的人生,也没有上天入地揽月捉鳖的神奇经历,到底能有些啥干货介绍能提供给各位呢?

思来想去,还真的啥都没有。

还是从我最擅长的谈谈吧——工程师到底是什么?他在干些什么?有什么用?工程师思维在生活中到底有哪些优缺点?

因为我本身是研发工程师,所以主要讲的就是研发工程师了,虽然FAE,AE那些也是工程师,但是我不太了解,没有发言权。

希望各位能从这里对我们身边的工程师这个神秘的族群有所了解。

先说说什么是工程师:
工程师指具有从事工程系统操作、设计、管理、评估能力的人员。工程师的称谓,通常只用于在工程学其中一个范畴持有专业性学位或相等工作经验的人士。

听起来好高大上吧?只是,我所做的事情,距离日常生活还是有点远,一般人不太了解。
image

每当我说我是电子工程师时,总有人说:“好厉害啊,我家电视机/洗衣机/电饭锅坏了就找你来修啊!”。这个时候,我总是哭笑不得。

这些东西我偶尔修过,也碰巧修好过一些,但是真和那些上门维修的人相比,我水平差远了。

这个需要实践经验,大部分故障都一样,没有基础的人做几个月学徒,大约80%以上的维修就能对付了。而且现在几乎都模块化,倾向于整个电路板更换,就更不需要我了。我得从原理入手,顺藤摸瓜逐级分析,等找到故障时,可能黄花菜都凉了。

工程师最大的特点就是有好奇心。
没有好奇心的人,做不了工程师,或者说做不好工程师。
image
在我看来,研发工程师是“格物致知”的最典型的代表。

名词解释:
格:推究;致:求得。格物致知,就是穷究事物原理,从而获得知识。
每个人的“格”,也就是丈量这个世界的尺是不一样的,所以导致所看到的世界也是五花八门的。

工程师的“尺子” ,从普遍性上来讲,比一般人要客观一些,他也会比一般人更喜欢去丈量一切。

只要是人,就会有局限性,而工程师一般清楚地知道这一点。工程师会让自己保持不断地学习来使得脑中的这把尺更加理性更加客观,以更加贴近这个世界,了解真相。

所以说,工程师实际上一直在和未知与自己的人性弱点在争斗,而很多非工程师从业者,在这一点上差不多早就放弃了吧。

从这个意义上来讲,工程师像是个孤独的Runner,在一条没有尽头的路上狂奔,不敢停留片刻。甩在身后的,是一个个已解决问题的尸体,即将面对的,还有无穷尽的牛头马面。

工程师做事认真,一般任务目标明确,认为所有的事情都有解决方案,而且方案的实施步骤是可分解的,世界是有严密逻辑的,你种下了因就一定有果,你看到果就一定会找到因。简单地说,工程师们倾向于认为世界是科学、合理的。

这在技术世界是适用的,倒一旦牵扯到“人”,往往就没那么简单了,特别是善于讲究“分寸”的中国人。

就像德国人基本搞不明白中餐的“盐少许,酱油适量,火候适度”到底改如何操作,恨不得拿着天平和红外线温度计做菜一样。

仪表研发工程师的工作主要分为2个部分:硬件和软件。

硬件部分就是画画线路图,画画电路板。

画线路图把一些元件(电池,电阻,电容,传感器,集成电路,按键,液晶显示屏等)按照一定规律用线连起来,像是小时候做的“找联系”的游戏。
image

画电路板呢,就是根据实际的外壳尺寸位置,规划布局好这些电子元件,然后按照前面电路图里面已经连接好的关系,调整线的走向,形状。

这时候做的事情在最终的产品上是看得到的,每一条连线都会变成最终电路板上面的铜轨。
image

如果你愿意又有空的话,你可以把线走成“老婆我爱你”的字样,最终拿到电路板时就可以看到自己的杰作了。当然,“Dear,I love U”要好写很多,这也再一次说明学好英文的重要性。

硬件设计这件事,有点像小时候在家里给菜地放水。区别为那时是让水按照已经存在的沟渠流动,现在是让电子按照自己的意图流动,都是一件很有趣的事情。

这个世界变化多端复杂险恶,所以硬件设计还要考虑很多外界情况:温度,湿度,使用者习惯等。

说说简单,做起来没完。比如,今天是不是被太阳暴晒了?有没有结露?使用者穿什么衣服?有没有洗脚?……

what???看到此处的你一定是一脸懵逼黑人问号脸.jpg状,有没有洗脚也要管???
image
是的,如果你今天木有洗脚,皮肤干燥,又穿了件化纤衣服,积累了不少静电,那么硬件就很有可能遭受强烈电击了。轻则关机,重则损毁,所有心血毁于一旦。

所以说,答应我,为了工程师们的心血,每天洗脚,可好?以后使用各种电器,宕机了,先反省一下自己有没有洗脚,可好?

在所有的电子元件中,耗费最多时间来处理的就是一种特殊的集成电路:MCU,俗称单片机,它相当于电路中的大脑。

在上学的时候,《单片机》就是一门高深的课程,曾经挂人无数。在学之前就听到无数传言说爆难无比堪称天书,我倒是非常向往,光看着这三个字就很喜欢,脑子里浮现的是一个沐浴在夕阳金光下孤单运转不知疲倦的机器的样子。

少时的兴趣变成了现在的饭碗,这也算是人生一大乐事吧。

单片机上场了,就要说说软件编程了。编程,让冷冰冰硬邦邦的仪表,有了生命。也算是一种人工智能吧。

比如说,你给菜地放水时,上游老有人偷水,怎么办?这时,编程用单片机造出个小人,让它沿着水路排查上去,碰到缺口就堵上,你自己就解放了,可以在家继续用小霸王学习机学习了。

再比如,上游可能决堤,水势汹汹而来,得时刻关注,那就可以再让单片机释放出一个小人,在关键点守着,万一发大水就挖开泄洪口,你就可以继续在家用小霸王学习机打魂斗罗了。

还比如……你继续让单片机释放更多的小人,让它们各司其职,你就可以继续在家用小霸王学习机把坦克大战打通关了……
image

明白了吧?单片机可以让人们省下更多的时间,和小霸王学习机做亲密接触。而从小,小霸王学习机就是我们学习电脑,练习编程的工具啊,难道不是吗🤔🤔🤔

小公司的研发工程师,软硬兼修,就是半个码农。学会了编程,人就进入了另一个世界。

举个栗子说个段子:
有人问一程序猿借钱,要借一千。该程序猿思索片刻,说:“还是凑个整吧”,遂拿出1024元,塞到对方手中。

由此可见,要想和程序猿正常沟通,你需要有编程思维。

现在有一个论调,就是人人都应该学习编程。

我估计这是一个无聊的码农在情人节之夜看着窗外红男绿女玫瑰咖啡你侬我侬,孤单的身影被台灯拉得比兰州拉面还长时,满怀怨恨在键盘上打下的一个阴谋
image

编程不是人人都能学的,有些人就是天生没有逻辑功能。就像有阅读障碍的人,这辈子也不可能去啃大部头的名著啊。

不过话说回来,如果你有空有精力的话,真的可以学习下编程。

程序,就是为了实现一个需求而设计的逻辑流程。

而编程,就是指编写程序。编程的本质就是:设计一个逻辑流程来实现指定的需求,使调用者无需了解所有细节即可达到目的。

人类是最会思考的动物,而编程,是对人类思考的思考。

再来一遍:编程,是对人类思考的思考。

这个话像是绕口令,但是它表达的意思非常重要。

重要的事情说三遍:编程,是对人类思考的思考。

按照李笑来《把时间当朋友》里面说的,人类最震撼的功能是可以用自己的大脑控制自己的大脑。他说:

我们可以用锤子去砸钉子,然而,我们却不可能用某一个锤子去砸同一个锤子,也不可能用某一个钉子去扎另一个钉子。大脑和思考之间的关系远比锤子与钉子之间的关系复杂得多,我们用自己的大脑进行思考,然而我们思考的方式和结果往往受上一次思考的方式和结果影响,同时也会影响下一步思考的方式和结果。

可以用一个句子来说明我们的思考可以复杂到什么程度,以及语言和文字有时会被局限到什么程度:
我们甚至可以思考我们的思考方式和思考结果是否确实是合理的思考方式和思考结果。

怎么样,看到了吧,人类的大脑是多么的神奇,这大脑所产生的思考又是多么的重要。

学习编程,就是要求我们客观地去思考事物的本质,发现其中的规律,将我们的想法具体化的过程。

如果不经过深入全面的思考,是不可能完成“编程”这件事的。即使你浮躁地勉强整出一段程序,实际运行起来也将会完全不知所云,陷入debug的泥潭而无法自拔。

今年是鸡年,老祖宗保佑,bug会少一点(都被鸡吃了)。所以,时不我待,现在就开始学习编程吧,你会发现一个全新的世界,这个世界里,白纸黑字写着1+1=2,也写着1+1=10。

通过学习编程的思维方式,你会发现事物的本质越来越清晰,你对世界的看法更加精进,有时会感觉在“俯视”这个世界,办事更加游刃有余。

现在知道你身边的研发工程师
有多厉害了吧?
现在知道你身边的研发工程师
有多变态了吧?
现在知道你身边的研发工程师
有多迷人了吧?

你们应该好好对待你们身边的工程师,在现在的社会里,他们比大熊猫还珍贵。你们要多请他们吃饭,他们没空的话,你就直接给他发微信红包!

喂喂喂,你,就说你呢!
不要东张西望!!嘟囔什么呢?
什么?你说你身边没有研发工程师?
眼睛这么大白长了啊?出气用的啊?
我,我在这,就是我,
我就是工程师,
我就是研发工程师!!!
请客可以找我!!!

一个合格的工程师,不会逃避自己的责任,而且勇于承认错误。产品出问题后,他第一时间想的是:“我靠,不会是bug吧!”如果最终查明是自己的问题,合格的工程师绝对不会找借口。

如果你碰到了一个总是逃避责任的工程师,要么是他刚入行,人性的弱点还没有完全克服,要么是这个人本身的世界观存在严重的缺陷。如果是后者,你还是离他远一点为妙。

一个好的工程师,一定是被市场暴击过的,深切体会过产品出货后被批量退回,在工厂加班加点日以继夜debug的过程。

没有经历过出货压力与退货打击的工程师,在火候上是要差那么一点点的。

说了工程师这么多优点,当然有不足。有屁眼就有缺点。

对于工程师来说,你有时候很难让他从技术上妥协。特别是你要求他的技术妥协于市场,老板的看法这些因素。

工程师所受的训练,一直以来就是非黑即白,非0即1的。如果你一再以非技术因素压制他,他会觉得你在侮辱他的专业能力。

不过,工程师本身也在进化,心智也在逐步成熟的过程中。他的内心里已经越来越清晰地认识到,技术并非一切,把事做成,才叫成。

上帝说,要有光,就有了光,要有天空,就有了天空……
image

工程师不是上帝,即使有时候他们心里真的以为自己是上帝。

包括我在内的大部分工程师只是凡人,无法像工程师的巅峰乔布斯那样,说“我要ipod有一个镜子一样的后盖,我要iphone有一块耐磨的玻璃”,就会有专人满世界地去寻找来满足他的要求。

来来来,和我一起唱:
你我皆凡人
生在人世间
终日奔波苦
一刻不得闲
……

首发于微信公众号:吻火者说

H2
H3
H4
3 columns
2 columns
1 column
39 Comments