1.软件or硬件工程师
先来看一下软硬件工程师的岗位需求:
(来源于网络,如有侵权联系删除)
(来源于网络,如有侵权联系删除)
大学期间就在犹豫了:到底是选择做硬件还是做软件?当时只接触过STC51,毕设做的是一套数字IO读写模块,又是画PCB又是联系厂家打样(PS:当时觉得很神奇)。后来发现还是“too young too simple”。
毕业找工作时犯难了,硬件岗位只有少量的单片机工程师!记得当时有个面试官问:如何读取一个引脚的电流大小?生产实际的问题就是这么直接!再次感慨书到用时方恨少。也印证了那句话:不是得到就是学到。没能得到硬件工程师的岗位,就学到一些岗位的知识:
1)嵌入式行业中,对软件工程师的需求远超硬件工程师;
2)国内愿意投入精力研发硬件的企业并不多;
2.环境
大的环境其实是比较浮躁的,客观来说选择从事JAVA、UI、Android开发的人不在少数。但其实大众也清楚:当下火爆的行业不代表未来仍然有市场,不完成升级(转型)或将面临中年危机。但嵌入式工程师又不太一样,未来的需求只增不减,笔者认为有几点重要趋势:
1)“5G通信”不仅仅是噱头,它的落地直接依赖技术;
2)“互联网+”的热潮虽有降温,但不会褪去;
3)“智能设备”将带动一系列产业链,包含家居、医疗、教育等多方面;
4)“操作系统及芯片”逐渐进入公众视野,未来可能得到国家支持;
5)“工业4.0”的推广,或将改造大批自动化生产线,工业自动化需求较高。
可能这些都比较遥远,但是回顾生活中的细节,嵌入式技术已经冲击着诸多市场。对用户而言:移动支付、人脸识别、共享产品、电子货柜、VR技术……这些新生事物改变了人们的衣食住行;对企业而言:嵌入式技术极大地降低了生产运营成本,间接产生价值。
那为什么依然有人感觉这个行业不温不火?个人觉得和行业特点有很大关系:
1)这个行业比较低调,行业内部技术对大众封锁;
2)大众关心的是体验,很少去深究产品的原理;
3)程序员都熬夜赶项目了,木有时间发朋友圈^_^
就像电费没了,掏出手机交钱就完了;出门打车不划算,扫一辆共享单车;超市购物没带手机,刷脸得了;很少有人钻研这中间涉及到多少技术。
总的来说,未来嵌入式领域还是有很多机遇和变化的,不论是软件还是硬件工程师,未来的岗位需求量是十分可观,发展空间也是比较大。
3.对比
那说到底软件和硬件有什么区别呢?笔者认为主要体现在以下几个方面:
1)职业生涯上,硬件工程师职业寿命较长;
2)技术难度上,硬件工程师门槛更高,同时待遇上限也更高;
3)市场需求上,硬件工程师需求较少;
4)职能属性上,硬件工程师不仅要处理代码还需涉及电路及PCB,职能更复杂;
5)产权维护方面,硬件产品被仿制的可能性较高,知识产权保护不易,软件则相反;
4.选择
有人说选择比努力重要,不可否认鸡汤有其价值。但我们在做职业选择的同时,还是得问问自己的初心:
1)工作生活中,我觉得什么才是最重要的?
2)工作生活中,我想成为一个什么样的人?
笔者觉得选择从事软件或者硬件方向都可以。如果是迫于生活压力,建议从事软件方向;如果不需要考虑生活压力&&愿意花时间钻研技术本质,可以考虑从事硬件方向工作;另外一个很重要的部分就是:工作需要获得一定成就感。如果每天的工作简单乏味又缺乏创新,久而久之自然会陷入自我否定的境地,迷茫懈怠的情绪就会阻碍自己的进步。所以可以的话,选一份薪资不高,但自己觉得有价值,能激情投入的工作吧。