嵌入式行业入行6年的一点小感想
从18年毕业到现在已经工作6年了。
熟悉招聘的人都知道,对于工作年限来说,工作开始的
前3年
是一个分水岭,
3~5年
是一个分水岭,
5~10年
又是一个分水岭。
10年以上
又是一个分水岭......
我曾经以工作第3年为一个节点,做过一些小小的总结;现在又是3年了,我想借此机会简单概括一下这些年(
21年到~24年
)的一些收获和变化。后续我想我可能还是会在3年以后再写总结。
职场生涯
离开大公司
在YY的这2年里,不说顺风顺水,但是得益于好的工作习惯和学习方法,我在解决一些常见的技术问题已经花不了多少时间了。
如果没有什么其他原因,YY其实很适合干到退休;但考虑到未来的发展,哪怕领导们比较看好我,我也并没有长期待下去。
人总要有危机感,我在YY的后期,总会想起这些问题:
如果公司突然把你炒掉,按你现在的能力,和外面同龄人相比,你的技术还有竞争力吗?
你在这里做得好,是依仗了什么?是你的能力吗?是你的运气吗?还是说只是依赖于平台?
再加上想和当时的女朋友(现在的老婆)在广州发展,后面就走了。
还好,我很欣慰,我走的时候,带的新人已经可以独当一面了;而我分享给部门的技术文档时不时还有人会看;也算是为部门发光发热了。
林子大了,什么鸟都有;我离职以后,有时候还听组内的前同事在吐槽新来的工程师水分太高,情商不够。
可能这就是大公司唯一的缺点吧。
再进小公司
机缘巧合
从YY离开是源于一次“无心插柳柳成荫”的面试:
为了自己的能力不被倒挂,我会有每半年准备面试的习惯。当时看到一家小公司,想着拿来练练手,打磨面试熟练度,就答应面试了,有过在小公司的经历,我是不太愿意再去小公司的。
但因为刚好时间不凑巧,约了几次都没有成功。但在当时面试官三番五次的邀请下,我赴约了。
和他们聊了以后,面试官(技术总监)看我能力不错,还懂一些技术管理、项目管理,所以一顿“画饼”之下和热情邀请之下,面试了一个上午,当场就给了我Offer。
如果不是当时面试官的热情邀请以及相信他们未来发展的无限潜力,我可能就不会入职现在的这家公司。因为他们公司的规模特别小,条件也很一般。
反过来说,要是我们想和其他人争取什么,哪怕条件没有别人好也没有关系,先放低自己的姿态,让别人相信我们是潜力股,就有机会能够成功。因为我就是这样子被他们打动的。
国产化的那些事
因为有在小公司工作的经历,所以我也明白:如果在小公司工作,但却没有过硬的能力,那么做什么起来就会很难受,因为很难有良好的资源来支持你,天塌下来得自己撑着。
从入职到现在,我所做的所有工作都是围绕产品来的;我负责的方面比以前广了,我从一名Linux驱动工程师,“扩散”了传统意义上的软件工程师(单片机c开发,应用c/c++开发,Linux驱动c开发),除了不搞Web,啥都做。
其实这也是趋势,硬件开始模块化,软件也开始配置化(业务化):
除了芯片原厂的BSP工程之外,产业开发的上下游都会往
配置化(业务化)
靠拢;甚至说他们已经把框架做得特别好了,有时候你连
API
都不需要调用,只需要按照你的使用场景,填入不同的
配置
就可以了(
高通
/
展讯展锐
就是一个典型的例子)。
需要我做BSP的工作并不多,我做完驱动开发就开始做产品的有关软件,好在我还是会看Linux内核框架,对大型软件的架构已经有“心理表征”,同时我对Python、C++也有积累,也没有在技术上遇到什么困难的问题。
真正难到我的,是对国产化平台的使用;有些国产化平台,BUG不多,但是一发现就是致命问题,因为指标达不到要求。
我们就有过采用福州的某个平台做MIPI高分辨率多路相机方案,结果MIPI的性能指标达不到他们宣传;不单是我们这么说,我们接触过的相机厂家也有对这个平台供应商类似的吐槽。后面我们换回我们熟悉的海思,就没有这个问题了。
还有一次:某国产化红外相机在低温冷启动的时候,功耗超过规格书的说明,而我们硬件设计留下的冗余兜不住这种负载;导致所有的红外相机工作异常;为此,我们花了很多时间在排查,甚至打算改硬件,后面是我看到大家这么忙碌地在反复确定相机的工作状态,突发奇想,用逐级控电的方法,降低了瞬时负载最大值,幸运地规避了这个问题。
其实这些情况在我看来都是可以理解的,因为大家都知道,国产化之路任重道远,有点什么小毛病都是正常的,大家把问题抛出来,多方积极推进,生态就会越来越成熟可靠。
最让我感到无奈的,并不是这些国产化方案的问题,而是,有些国产化平台属于垄断地位,你不用它就满足不了要求;有问题它非不配合改进,而且还反过来摆出一副高高在上的姿态。
其实我很担心这样子的厂商,因为“弱小和无知从来不是生存的障碍,傲慢才是”,我很担心这些厂商因为过于傲慢,一旦有新的后起之秀追赶,可能就会因为这种态度而摔大跟头。
管理上遇到挫折
其实从工作的第2年开始我就开始了解一些管理上的知识了,当时是偏向于做“知识管理”,用来培养自己的工作习惯和学习方法。
而对于“团队管理”、“项目管理”我当时并没有多去了解,因为这些东西会有专门的人(“PM”或者“SPM”)去做,如果我太早丢掉技术积累,重点学习做管理的话,可能会得不偿失(因为很多搞技术的人会“文人相轻”,如果你没有足够的技术水平,很难推动他们)
但现在不一样了,公司规模小,属于“百废俱兴”的建设阶段,如果能够将管理运用在实际的工作中,对于后续的发展会很有帮助。
当我拿出我的管理体系以后,领导非常重视,甚至拉了当时其他工程师一起分享我的成果。但因为我对公司的工作流程不够了解,很多看起来很美好的设想,具体实施起来非常困难。
在那个时候我才明白:
在没有管理习惯的土壤中,想培养出管理习惯的花朵,一定要有人一直浇水(坚持那些条例);不然就很容易遇到,做得好好的事情,就会慢慢溃散(就像是“代码腐化”一样)。
管理是动态的学问,不是靠静态的纸上谈兵就可以覆盖的;尤其是小公司,很多管理风格是跟着老板(或者大领导)走的。我想,这也是为啥“成功无法复制”,因为每个架构内的资源,流程、决策风格都不一样,生搬硬套是行不通的。
后面我没有继续使用,而是默默学习,观察思考公司的情况,不着急提出方案。
感想
技术不是万能的
我还记得很早以前一直坚持“技术是公司最核心的东西”,但随着职业生涯的发展,我发现其实并不是这样子的。因为撇开“高精尖”的产品不说,很多公司做的东西很多都是同质化的——你能做的,别人可能也行;而最大的区别是你的客户认不认可你们公司的产品。如果客户不认可你,你自己觉得做得再好也很委屈。
技术是很容易被代替的,这也是很多公司能够靠人力就堆出产品来的一个原因。因为,对于我们搞技术的人来说,我们可以保持成就感,但最好不要轻易流露出优越感:攻关了项目难点以后,可以有成就感(自己暗自开心),但不要轻易地表现自己有多了不起一样,因为当你表现出一种邀功的姿态,可能就会遭受挫折。
按《舍不得看完的中国史》里面的话来说:“恩要等着他人主动报,千万别去要!如果你对某人有大恩义,千万要闭紧嘴,并争取忘掉此事,否则你很可能会遇到奇祸。千百年来,无不如此。做好人,要积阴德。”
没有什么人是不可代替的,只是做技术的人代替起来稍微成本高一些罢了。不要太在意自己拥有的技术,还得继续学习,永远谦虚。
也不要太拘泥于专业技术,我在参加面试的时候,很多面试官所表现出来的气质都有一个共性:博览群书,以此来丰富自己的方法论。
正确的工作心态
很多人都说“不要把情绪带到工作里”,我想和大家分享一下我是怎么做到的。
工作上的情绪可能是来自于各方的压力,各种压力都在提醒我们“你还有事情没完成”;焦虑感随之而来,情绪就容易不受控制了。
在职场里面,不少人做事情的时候,心里想的都是“一定要把事情完成”。其实这样子的想法很危险,容易带来下列的问题:
- 要么就是“以结果为导向”——不计代价,只顾完成,没有闲余空间来为未来准备一些冗余,到时候出了问题又得急急忙忙加班改BUG
- 要么就是“压垮自己”——加班加点为了一个不可能完成的任务浪费时间,没有及时让领导知道你面临的困境,他们也就不能够给你协调的资源来帮你解决这个问题。
那应该怎么想?要这样子想:“如果这个事情最后出了什么差错,我有没有什么手段来避免背锅”——并不是为了甩锅,工作还是得做,但心态会随之变得轻松:
首先,我们不会再过度关注结果,会考虑到未来的一些情况,并提前留有后手,避免到时候出了问题猝不及防,不会为了解决问题而敷衍问题;
其次,以这样子的心态来做事情,如果是实在完不成,让领导尽早知道你已经尽全力了,现在需要其他的手段介入,来帮你解决问题。哪怕是到时候就算是完不成,大家也不会怪你“你怎么不早点把这个问题爆出来”,因为你能做的都做了,再背锅就是名不言顺了。
找到自己的定位
我曾经有过一次面试,面试官问我:“你觉得在职场里面,什么能力最重要?”
我愣了一下,只见他不紧不慢地说“定位能力最重要。打个比方,对于一个项目上的难题,只要定位了,那就离解决不远了。”
我被他这么一指点,心中暗道,“原来如此,是啊,做研发最关键的不就是【发现项目中的问题,解决项目中的问题】吗?”
我对当时那场面试并没有记得多少细节,只依稀还记得他问过我的这个问题。时至今日有时候还在想这个问题,慢慢领悟。
很多人可能一辈子都未曾真正了解自己:弄不清楚自己的欲望、看不透自己的潜力、不知道自己在社会的角色是咋样的,在工作岗位上应该怎么做……
人在社会里面是有多个角色的。你也许是某个家庭的长子,是你孩子的父母,是公司的某位领导,是客户的得力支持者……
搞清楚自己的定位一个很重要的概念就是“保持边界感”:不要在脱离某个社会角色的环境下继续坚持你的社会角色,也不要硬要做能力之外的事情,容易头破血流。
比方说,不要把工作上的委屈不满和压力向无辜的人(例如家庭)发泄,也不要因为家里的事情影响到工作。
其次,明确自己的职责范围和权限边界。我自己和客户沟通的时候,有时客户不愿意配合我的工作。这个时候我不会因为客户的为难而焦虑,因为我自己知道我就是一个干实事的人,在我能力范围之外的事情必须由高瞻远瞩的领导来负责决策和协调。等领导和客户那边的高层沟通以后,客户再怎么不愿意配合,事情就会慢慢推进。
关于“定位”的学问还有很多,我还在慢慢摸索,希望可以争取早日靠近和孔子一样的境界:“三十而立,四十而不惑,五十二知天命”。
感谢你花时间读完,非常感谢!