Confused About My Embedded Career Path After 2.5 Years
I’m an Embedded Linux C++ developer from India with around 2 years and 4 months of experience. Most of my work has been in developing middleware software in C++ for NXP MPU-based Linux controllers.
My experience mainly includes:
- Smart camera systems involving RTSP streaming, transcoding (H.264, Opus) using FFmpeg APIs, and WebRTC
- An IoT-based smart home project where I worked with MQTT, RS485, epoll-based event-driven multithreaded architecture, etc.
However, I have not worked on:
- MCU firmware development
- Low-level protocols like I2C/SPI/UART in practice
- Linux kernel or device driver development
Now, after ~2.5 years, I’m trying to switch jobs because I’m significantly underpaid. The problem is that most Embedded jobs I see are focused on either:
- Firmware development for MCUs, or
- Linux kernel/device driver development
I’m struggling to find roles that match my current experience in Embedded Linux middleware/application development.
At this point, I feel quite confused about how to move forward in my career. Should I:
- Learn firmware development and move towards MCU-based embedded systems?
- Focus on Linux kernel and driver development?
- Continue building expertise in Embedded Linux application/middleware development?
I would really appreciate advice from people working in the embedded domain about which direction has better opportunities and long-term growth.