每个男人心中都有个钢铁侠梦。
希望和托尼史塔克一样拥有改变世界的技术,每当看到史塔克在他工作室研发的时候,我都想拿起我家那台吃灰的烙铁焊它10个板子。
可惜,电影和现实还是有很大区别的,电影里的技术男主都是高富帅,实际生活的技术男主都是臭屌丝居多。
电影里的技术都是住洋楼养番狗,现实里的技术都是廉价劳动力。
就是行内人想出去,行外人想进来这么个局面。
不过,能成为电子工程师,还是挺有意思的,至少你能做点小发明之类的。
我是2011年电气工程毕业自学转行进入电子工程师行业。
到今天为止一直在从事技术研发工作,做过大大小小产品数十款,有几款产品也帮公司拿过实用新型专利(证书当时都没拍照,只有写的技术交底书)。
不知不觉也过去了10年,虽然技术没能让我拿下一线城市房子,不过日子过得还算滋润。
唯一遗憾的是没有贵人带路,原本只需要4,5就能达到的程度,我走了10年。
下面分享下我的成长之路,希望能间接成为你的贵人,哈哈。
一、入门
电子工程师涉及的东西非常多,我主要走的是嵌入式方向,主要做单片机软件开发。
刚开始自学的时候,我也没经验,不知道怎么学。
刚开始买了一本厚厚的电子元器件书在那里看,越看我越觉得这个行业太难了。
成千上万个元器件,每种的作用都不一样,还有各种参数让人眼花缭乱。
后面觉得看书太枯燥,就转去看视频,当时下载了模拟电路和数字电路的视频教程。
我学习还算是比较认真的,至少会拿个本子一边学一边写。
让我印象最深的是学模拟电路,我把电路都画在本子上,现在看来当时真是脱裤子放屁。
你认为的努力很多都是在自欺欺人,因为学习方向不对,笔记写了大半个本子,啥都没学会就算了,还把信心搞丢了。
模拟电路实在是太难了,动不动就给你整一堆数学公式,特别是10年前的视频教材,后面工作了才知道,这些知识点在产品开发上,很多都用不上,还不如学开发板电路来得实在。
模拟电路学习失败,我又把苗头转向单片机,买了一个51开发板,自学了c语言,熟悉简单的欧姆定律,就开始跟着教程学。
当点亮第一个LED灯的时候瞬间感觉自己像大神,如果当时流行朋友圈,我估计能连续发10条。
后面一发不可收拾,开启疯狗学习模式,每天除了吃饭上厕所就待在房间里学习。
我忘了连续了多长时间,至少也有一个月以上没出过门,连平时不鸟的老爸都开始劝我:出门去看看海吧。
主要是他以为我在房间里打游戏,哪天打出自闭症就麻烦了。
我从小学开始就是个游戏迷,当时玩传奇,泡泡堂、QQ堂、CS之类的也很疯狂。
只不过这次我把这份热情留给了学单片机技术,当时我非常好奇手机到底是用什么技术做出来了,接触了单片机以后我开始有眉目了。
在这样的学习态度和强度下,成长就像开挂一样,1个多月的时间我基本就把STC89C52单片机、C语言学完了,然后自己做了一些小项目,比如说电子时钟,红外遥控电机转角度。
当时和朋友聚会,我拿着开发板坐了10几公里公交车,特意去给朋友演示红外遥控电机的功能。
现在想想真是丢人,对方一点兴趣没有,自己却满怀热情,这或许就是技术人的心态。
大概快到第三个月的时候,我们也毕业了,就开始去找工作。
当时找工作没现在这么方便,不像现在互联网这么发达,打开招聘网站,管它要本科生还是硕士博士,应届生还是资深工程师,直接渔翁撒网。
虽然这种做法有点缺德,但是效果还可以,很快就能接到面试电话,然后再自己筛选。
我开始相信那句话:没有道德,别人就无法绑架你。
我毕业那个年代找工作,都是要拿着简历去跑人才市场,人才市场要买票才能进。
就像新楼盘开盘一样,人山人海一窝蜂涌进去,也不知道是托还是真实买家。
当时有个错觉就是感觉自己很快能从学生变成上班族了,靠自己挣钱的感觉应该很爽。
好在现实从来没让我失望过,找了半个多月,面试的所有公司都拒绝了我。
他们说:我们公司现在刚起步,需要经验比较丰富的来撑场子。
也有的说:你不是电子专业的,学的东西不够专业和系统。
还有的说:我们公司对学历有比较高要求。
具体被多少家公司拒绝我也没算过,但至少有20家以上了。
涉世未深,哪里经受的了这般羞辱,我绝望至极又无能为力。
当时有个想法就是:是不是工作都是这么难找的,会不会这辈子都找不到工作了?
那段时间焦虑到影响食欲,有一次和好哥们聚会,去吃烤鱼,每人点了两瓶百威,一条烤鱼。
最后两个人烤鱼吃了一半都没到,两瓶百威喝完了,不是因为鱼难吃,是真的没胃口。
这哥们也算是同难中人,因为都找不到工作…
二、入行
在这种焦虑下,我天天打游戏浑浑噩噩混了一段时间,也不想整那破单片机了,这么拼命学习连工作都找不到,。
这样下去终究不是办法,人可以不工作,但是不能不吃饭是吧?
想吃饭还是得去工作,当时由于要不要向现实低头先进场打螺丝,混点工作经验再去找会不会好找点。
最终还是打消了这个念头,因为不甘心,读了20多年书,最后去做一份不需要读书的工作,工资又低。
我慢慢冷静下来,反省自己,我还是希望做单片机写程序的工作,主要是对这个有兴趣。
但是要怎么解决别人不要我的问题呢?
我分析了一下,拒绝我的理由无非3个:
这3个要求,1和2我都无法满足,这样看来,唯一的希望就是第3个,但是没工作又从哪里去积累项目经验呢?
一想到这些,我又想放弃了,太多困难了。
还好我逼自己硬着头皮一步步去想办法,我就想自己做个项目出来行不行。
做项目硬件那些又不会设计,我就在某宝去搜,看看有没有现成的,就是那种DIY的项目。
没想到还真给我找到了,这个项目到现在都是初学者的经典:循迹小车。
第一次买的时候不知道哪来的自信,买了光板和元器件,自己焊接。
焊废了以后就买了一块焊好的,不过焊接经验确实也增长了。
第二次拿到板子以后,我就开始研究商家给的原理图,一边分析原理,一边看他们程序是怎么写的,当时写的日记我现在还留着。
这个项目大概也花了1个多月,我还对商家的程序进行了一个升级,自学了VB做了一个上位机,通过串口去监控小车数据。
做完这个项目以后,我又开始踏上找工作之路…
这次,确实顺利多了,才面试了几家,那个时候是HR先在人才市场初试,初试通过再去他们公司复试。
我就拿着智能小车去他们公司了,这是一家港资公司,不大,总共才10几个员工。
这次面试我的是研发部经理,我现场给他演示了智能小车功能和代码。
其实当时他也挺满意,我怕他不要我,又嘴贱补了一句:前几个月可以先不要工资,希望能给我一个学习的机会。
经理看我很诚恳,就要了我,并一个月给我1.8K,就这样成功入行。
这家公司离我家很远,坐公交车塞车的话将近2个小时,相当于每天9点上班,我7点就要出门。
刚开始老大并没有让我直接参与新产品开发,而是一直维护老产品,改改代码帮客户升级功能,主要以STC和NXP单片机为主,做楼层权限控制和显示板,也第一次接触到了UCOSII系统。
看懂别人代码,其实比自己写还难,注释又少,那段时间确实每天掉头发很厉害。
改了半年程序,我就跳槽了,因为港资工资有点扣,也看不到什么太大的前景,老板一直招的都是应届生,只要会改代码就行的。
辞职后再找工作相对容易多了,半个月没到又找到了一家公司,和老板聊的比较投缘,以5K月薪加入。
第二家公司是初创公司,加上股东,总共才6个人,做技术的除了研发经理就是我了,所以压力更大了。
好在,公司的产品不复杂,全部都是用51内核的单片机,做电量计量产品的。
在这家公司做了半年,能够独立完成51单片机产品的程序了,觉得没什么可学的又跳槽了。
当时老板说给我加点工资,让我继续干,被我婉拒,主要公司也没妹子,唯一一个都是结婚的老阿姨了。
然后一个月内又找到了第三家公司,这家公司还挺大,做电子狗、导航、行车记录仪产品的,市面上很多产品都出自这家公司。
单片机主要用新唐的ARM7TDMI,当时第一次接触,资料又少,怕完成不了任务被辞退,就偷偷在网上买了一个开发板学习。
我在这家公司主要也是以改程序为主,程序挺大的,有语音播报、有菜单、雷达信号检测、GPS NMEA协议解析等等,以我当时的水平还独立完成不了。
改了半年代码,就辞职了,原因是当时碰到牛市挣了点钱,想去旅游,还有就是经常和老大打招呼他都不爱鸟我。
不过意外的是,辞职的时候,老大竟然让软件开发组长来找我,给我涨2000工资留下来,我婉拒了。
旅游回来以后,中间陆陆续续换了几家公司,有的只干了1天,有的只干了1周,还有做了4个月的,这些就不说了
在这个期间第二家公司的老板找到我,说让我回去他们公司干,他们要成立一个新的公司做成品,并给我2%的技术入股。
工资谈15K,他说有股份最后谈到12K,犹豫了一下我就去了,几年后我才明白所谓2%的股份还不如工资涨3000。
这次进去是担任项目经理的职位,说白了就是全能打杂王,一个人负责一个产品线,从硬件设计到软件实现,焊样机,下产线,出成品,再到用coreldraw设计产品包装,每天都很充实,就是待遇跟不上。
熬了3年多,那个时候自己独立做一个产品已经完全没问题了,还没起色,又提出辞职,那天和老板聊心聊了很久。
感觉辜负了他的期待,又不狠心说跳槽,就说自己出去做生意他才放我走,其实从这家公司出去又继续开始找工作了。
出来到今天为止,和这个老板就一直没联系过。
出来以后我休息了2个月,又继续找到了第四家公司。
这家公司也是刚起步,研发部才2个人,我主要负责软件,工资15K。
第四家公司开始是我技术成长最快的一家公司,当时做物联网网关产品,对我来说算是中大型的了。
用的STM32的单片机,刚开始信心满满,觉得没什么难度,每个模块功能基本都知道怎么去实现。
越做到后面我越吃力,功能之间出现了功能互斥,改好这里,别的地方又出问题了。
其实就是没有好的程序架构导致的,这也是为什么很多产品明明不加系统更省资源和成本,却要加个RTOS。
很多工程师没有写架构的能力,就只好用系统,至少保证架构上没问题,当然RTOS除了架构以外还有别的实用功能。
RTOS我又不熟不想用,就只好再想想办法,然后我又找了以前公司那些经验比较丰富的工程师代码,还好当初U盘保存了他们的代码,看看有没有收获。
果然,以前看不懂为什么他们绕这么大圈子的代码,在碰到这个问题以后豁然开朗,原来是要解决扩展性、移植性的问题。
期间我结合了很多不同高手写的代码,比如说STM32固件库、蓝牙协议栈、Zigbee协议栈。
结合他们的优点,去掉了一些没用的代码,最后改编优化出一个最精简的程序架构。
也可以称为是一个时间片轮询的小系统吧,有任务管理、队列算法、回调函数、定时器矩阵等功能。
这套架构我足足搞了1年时间,并不是说架构代码有多复杂,而是碰不到、没人指导、完全自己摸索出来的,如果有人带可能半个月就学会了,有人带和没人带的区别就是这么大。
我在2019年把这个架构录成了一套视频教程,以作纪念,本来想拿出来卖的,后面工作忙没时间打理,今天就把它完全开源出来给大家学习。
这套教程可以在小破站搜【无际单片机编程】直接看,也可以找我要源码,全网都是这个名字。
在这家公司,我总共做了2个网关项目,其他小项目加起来差不多6,7个。
网关项目编译完以后有117K左右,还不算Bootloader程序,对于单片机来说,这应该算是个中大型项目了吧。
从开始立项到量产花了将近1年时间,中间涉及到app联调浪费了很多时间。
算是我整个职业生涯里成长最大的一个项目,说质的飞越一点也不夸张。
从那以后,我基本无惧任何一款基于单片机的产品开发了,至少软件上没问题。
在这家公司也干了3年左右,不得不说,个人和公司都成长的很快,从一个公司不到10个人发展到几十个人,研发部高峰时也有8,9个人。
后面老板越来越抠,最后项目奖金都没了,就离职了。
离职的时候老板说让加工资,又被我婉拒了。
大家可能觉得我在吹牛逼,为什么我从每家公司离职时,老板都会给我加工资?
一方面是我对公司产品非常熟悉了,另一方面是我的工作态度,如果我不会的,我会自己掏钱去学习,而不是买个开发板都找公司报销,懒得折腾。
我深知,虽然产品是公司的,但是知识是自己的,人一定要舍得投资自己,让自己更值钱。
从这家公司出来以后,到了第五家公司初创公司,自己一个人独立负责硬件设计和软件开发,算是技术负责人的角色。
老板还算舍得分钱,不过我们运气都不好,产品销往海外,研发用了1年多,然后正好又碰上YQ。
混了3年时间,技术没怎么增长,公司也没挣到钱,最后不欢而散。
这是唯一一家我走,老板没涨工资留我的。
因为老板当时确实没钱了,还负债累累,中间还欠了一个月工资,发完就走了。
从这家公司走了以后,我就没再找工作了,用自己的青春成就别人的宏图霸业,我感觉很不值,然后出来创业了。
创业第一个月开始就已经开始盈利了,只是很少,养活家庭还要倒贴那种,目前已经一年多,很庆幸还活着。
以上就是我从入门到创业的整个历程,有点长,有点啰嗦,耐心看完的给你点个赞,希望你也能给我一个^ ^。