我开始在开发板公司工作,做 QT 的小程序。后来我转到 WinCE 上。当时我最大的成就是将 U-boot 移植到 WinCE 上。2003 年左右,没有人做过这件事。非常感谢领导鼓励我完成这个项目。因为开发板卖得很好,我想这一小段代码可以服务很多人,已经被很多同事使用了。
后来我离开了一家开发板公司,开始尝试创业,时间不长,投入不多,但收获颇丰。主要是尝试小批量生产电子产品,虽然亏了几千块钱,但学到了很多打工学不到的东西。好吧,我承认,当时看到做嵌入式的人大多都有USB转TTL模块,就自己设计,找芯片供应商,找PCB厂,找贴片厂,小批量生产了一批模块。妈的!最后还是卖不出去!哈哈哈哈哈哈。这段经历对我以后的工作起到了至关重要的作用,让我有机会尝试电子产品生产的流程,获得当地研究所所有相关工厂的第一手资料,认识一些工厂管理人员。
在亏了很多钱之后,我去了一家收银设备公司上班,虽然只呆了半年,但收获最大的有两点,一是去车间学习了一段时间,学到了很多生产的细节;二是抽时间看了 Android 底层代码,学习了 Java,这时候我对代码已经没有任何恐惧,感觉自己可以很快掌握任何类型的代码。
主要原因是工资太低,我从广州回到这个三线城市,年轻不懂谈判,工资被砍了一半,所以在那里呆了半年,在招聘网站上投了简历,第二天就接到了第三份工作的电话。
这是 2015 年中。
这份工作的薪水几乎翻了一倍。你绝对想不到,在嵌入式系统工作了三四年之后,我竟然去做了安卓APP。好吧,APP就是我当时想转行的。编程这么多年,看了《第一行代码》,觉得不难。我自学了JAVA,所以APP上手很快。不到一个月,我第一次写APP,独立做了APP,而且是截至本文更新时我自己做的唯一一个APP。因为接下来发生的事情完全出乎我的意料。这是一家跟政府有关系的软硬件公司,但是硬件是外包的,他们有钱,把硬件都外包了,于是我大胆地跟老板提出,我们为什么不自己做硬件。
当时我被他赏识了,很快,2个月内,公司租了新场地,招了一批人,成立了硬件部。那时候我权限太小,无力反驳一些错误的决定。一开始在嵌入式系统上进步很快,做IoT设备,无非就是STM32,ARM Linux,GSM,Zigbee,这些还行,但很快,节奏就有些奇怪了,越来越不专业了。算了,我还是说说自己的方向吧……
随后的一年,除了上班搞物联网,下班后就和一些技术小伙伴们一起搞3D打印机,来自国外开源的Delta 3D打印机,是一款基于铝型材结构,结合开源Arduino代码的开源打印机。这里还有一件好玩的事情,一开始我们做着发财的白日梦,但最后这份职业还是平平无奇。我确实学到了很多东西,影响了我以后的职业道路。一是结构,开始有一点基础,学了AutoDesk的基础入门软件——123D Design,这样慢慢就入了SolidWorks和Inventor,学了全新的平台Arduino。
一年后,我在这家公司开始了一个全新的项目。不知道为什么,公司接了一个装备不齐全的项目,没人愿意接,我就干脆就做了。嗯,我做了一个水下无人机,软件知识我掌握得够多了,硬件方面同事帮我做。结构方面,我利用了过去一年学到的3D打印相关知识,我拼命学习,把结构知识补上。一年多的时间,机器的雏形就做出来了。
马上就到 2018 年了。
不知为何,我又打开了简历。巧合再次发生在我身上。打开简历的第二天,城市另一个角落的一家公司就邀请了我。因为我在软件、硬件、结构方面都有一些经验,所以这一次,我成为了婴童行业的综合物联网工程师。
分享一下我的经历,我刚刚辞去硬件驱动开发和WinCE系统移植的工作,首先我有一个用烙铁捣鼓东西的童年,启蒙来自于我爸放在最底下抽屉里的一本书……
当然,这本书并不能满足我。我还收藏了2000年左右的电子报纸。我拆解过各种电子玩具。长大一点,有零花钱的时候,我买了各种电阻电容、覆铜板、氯化铁,但什么也没做出来。前段时间,我在打扫房间的时候,发现了一些多用途板,上面用奇怪的方式焊接着晶体管。我觉得它们很可爱。
小学快毕业的时候,我开始接触电脑,并深深着迷。那时候电脑是亲戚的,用到的机会很少。但我清楚记得我曾多次央求父母让我去上电脑培训班。但那时候只有小城市里的职业培训班,呵呵,不适合我这样的孩子。初中的时候我开始有了自己的电脑,慢慢了解之后,觉得这辈子都离不开IT了。那时候我所有的零花钱都用来买相关杂志了。后来那些杂志都堆起来有一人多高了。
我从高中开始学C语言,一次偶然的机会看到郭某祥的单片机教程(虽然后来发现他教的真的很差,但不可否认他为单片机行业的普及做出了很大的贡献)。后来我买了一块51开发板,在大学学习嵌入式软件开发,超前的知识让我在大学里可以逃课,比别人学到更多。大学期间,我自己做了不少好玩的小玩意,比如用诺基亚黑白屏的掌上小型游戏机,可以玩打地鼠游戏。
大一的时候我开始接触Linux和Linux文化,那时候对Linux技术很痴迷。学校里有一个Linux组织,我从小角色做起,最后成为领队。参加过各种比赛,有软件的,也有电子开发的,印象最深的是全国电子大赛。虽然最后我所在的团队没能进入省赛,但提前一个月的特训,每天在一起,一起熬夜,一起学习,那种感觉真是太棒了。
后来看了国谦的视频教程,买了Friendly Arm的Mini2440,那时候有点浮躁,所以当时学不到太多ARM的知识。不过毕业的时候还是能效仿,做了一个遥控视频监控小车。毕业之后加入了一家开发板公司,开始接触WinCE开发。在业界,一开始对WinCE有心理抵触,后来慢慢接受了,技术没有贵贱之分。 =============以上是快乐的学习经历,下面是一些学习参考=============模拟与数字电子学入门——模拟电子学很弱,数字电子学建议学习《电子技术基础(数字部分)》。清华大学出版社出版的C/C++——推荐雅谦的《C语言程序设计现代方法》+《Linux C一站式编程》。 后者明确了我很多底层概念,个人认为是国内难得的好书。 51——《郭天翔十天学会单片机》视频及配套书籍 Linux——入门学习《鸟哥的Linux私房菜》、高级编程学习《UNIX系统编程》,当然还有《LINUX设备驱动》 WinCE——不用书籍推荐,自己是在实践中成长的。得到了CSDN和博客园的很多帮助。