Embedded Software Engineer C++ (Embedded Linux)
Job Description
We're looking for an experienced Embedded C++ Software Developer to join an engineering team developing high-performance software for embedded Linux systems.
\nThis is a hands-on role where you'll be designing and developing robust, performance-critical software that interfaces closely with embedded hardware. You'll work on complex technical challenges involving multi-threading, concurrency, system performance and Linux internals, collaborating with software, electronics and hardware engineers throughout the development lifecycle.
\nIf you enjoy low-level programming, optimising software performance and solving technically demanding problems, this could be the role for you.
\nResponsibilities
\n- \n
- Design, develop and maintain software using modern C++ \n
- Develop applications for Embedded Linux platforms \n
- Design and implement robust multi-threaded software \n
- Debug and optimise performance-critical applications \n
- Work closely with hardware and electronics engineers to integrate software with embedded devices \n
- Investigate and resolve complex concurrency and memory issues \n
- Participate in architecture discussions, code reviews and technical planning \n
- Write clean, maintainable and well-tested code \n
Essential Skills & Experience
\n- \n
- Strong commercial experience developing software in C++ \n
- Experience developing software for Embedded Linux \n
- Excellent understanding of multi-threading, concurrency and synchronisation \n
- Hands-on experience with: \n
- Mutexes \n
- Locks \n
- Condition Variables \n
- Deadlock prevention \n
- Race condition analysis \n
- Thread-safe programming \n
- Strong understanding of Linux internals, including: \n
- Processes and threads \n
- Scheduling \n
- Memory management \n
- Inter-process communication (IPC) \n
- Signals \n
- File systems \n
- Experience debugging Linux applications using tools such as GDB \n
- Comfortable working within a Linux command-line environment \n
- Experience using Git \n
Desirable Skills
\n- \n
- Embedded ARM platforms \n
- Cross-compilation toolchains \n
- Yocto or Buildroot \n
- Device communication (SPI, I²C, UART, CAN or USB) \n
- Network programming (TCP/IP, sockets) \n
- CMake \n
- Python or Bash scripting \n
- Docker and CI/CD pipelines \n
About You
\nYou'll be someone who:
\n- \n
- Enjoys solving complex technical problems \n
- Has a genuine passion for embedded software development \n
- Thrives in a collaborative engineering environment \n
- Takes pride in writing efficient, reliable and maintainable code \n
- Is curious, proactive and keen to continually improve \n
What's on Offer
\n- \n
- Competitive salary \n
- Hybrid working \n
- Interesting embedded software projects \n
- Modern development tools and technologies \n
- Collaborative engineering culture \n
- Ongoing training and career development \n
- Opportunity to work on products from concept through to deployment \n
If you're an experienced Embedded C++ Developer with strong Linux expertise and a passion for building high-performance software, we'd love to hear from you.
\nApply today or contact 4Square Recruitment for a confidential discussion.
