As the saying goes: Microcontrollers are not omnipotent, but without microcontrollers, nothing is possible.
The MCU is a very "low-level" and "hardware" thing, without too many sophisticated data structures, nor too many programming algorithms that require skills. The MCU can be used as an electronic system or as a small intelligent node.
The salary of a microcontroller development engineer is also quite considerable. So what can a microcontroller development engineer do? Design microcontroller circuits; be responsible for the drivers of peripheral circuit devices required for the microcontroller to work; write microcontroller software and simulate and debug the software.
In fact, microcontroller developers can become very skilled in handling the software and hardware layout of their own products in about 1-2 years. The subsequent work is to modify the configuration and add small functions. Get rid of boring work and improve yourself.
You can learn Linux from the microcontroller. The microcontroller and Linux system are in a progressive relationship. Nowadays, embedded Linux has more development prospects than the microcontroller.
From embedded system novice to master:
Stage 1: From digital electronics, analog electronics, and C language to embedded systems Stage 2: 51 MCU practical Stage 3: STM32 MCU advanced Stage 4: SOC+linux
Some people say: If you don't get in touch with Linux, you will never know the charm of embedded systems. What are the contents of Linux learning?
1. Linux basics: common Linux commands, VIM learning, Linux Shell programming, Gcc compilation, Makefile, etc.
2. Driver: kernel module compilation principle, character device driver framework, platform device driver, device tree, Princtrl subsystem, I2C subsystem, interrupt subsystem, block device driver framework, Bootloader, etc.
3. Kernel: system calls, storage management, process management, memory management, file management, etc.
4. Application: QT programming, TCP/IP protocol, HTTP protocol, etc.
The career development of embedded software engineers is usually better than other IT positions. Through continuous learning and practice, you can improve your skills and be promoted to a higher position or become a team leader. In addition, you can choose the field you are interested in, such as the Internet of Things, autonomous driving, etc., to create more opportunities for your career development.