嵌入式开发累不累?
有人说做嵌入式开发太累,嵌入式工程师简直就是硬件工程师与软件工程师的合体!别问我是哪一类软件工程师,反正不是前端、后端、APP、测试、运维。也别问我是什么硬件工程师,电源、单片机、高频、通信……你会做你就上!给你个嵌入式工程师的头衔你就是软件硬件小能手,堪比全栈工程师。嵌入式实际上是软硬结合的一项领域,既要懂硬件又要懂软件。
做嵌入式开发真的是这样吗?
嵌入式可以分为四个层次,硬件层、驱动层、系统层和应用层,前面所说是属于硬件层,需要会画PCB、原理图,可以画2层板、4层板甚至更高。那下面说说其他的三层。如果某个人在单片机上写过定时器、数码管、温度传感器的程序,用过UART、SPI、IIC、CAN等通信方式、更厉害的话接触过蓝牙协议栈或者TCP/IP协议栈,可以称其为驱动工程师。都是底层代码,虽然有难有易。系统层:一般个人或小公司是写不了的,听说Windows某版本用了300人写了2年。只有大公司才会想着自己写系统,应用层相对来说比较简单,只要你具备一定的语言基础,像C语言是必须得有的语言基础,又如C++、Java等等;再加上对嵌入式应用层的开发有一个整体的框架,像进程间的通信、线程通信、TCP\IP协议、socket编程等等,那有了这些基础之后对于胜任一个嵌入式应用层工程师是没有问题的。但是对于嵌入式软件工程师来说,并不是简单地只懂软件就可以了,你需要懂硬件,懂通信,会看原理图。
这样看来做嵌入式开发是挺累的,什么都得懂。
但有句古话说的好:技多不压身。学的多,自然也就硬,嵌入式行业是个后路极多的行业,可能嵌入式软件势头不好,我可以转去做硬件,做硬件势头不好,可以努力一下去研究算法。嵌入式行业是个时间沉淀的过程,无人能逆袭,做不到极致,只能做的更好。
年轻人思维灵活,接受新东西快,从入行开始慢慢积累知识,从底层追求极致,这是个慢功夫,都需要经历,所以,每个人都要爬台阶。同样的,其实没有哪项工作是不累的,想达到极致,都需要下功夫。
|