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