4Square Recruitment Ltd
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.
To apply for this job please visit www.reed.co.uk.
Make this application stronger
Use these quick checks before applying so your CV, interview preparation and job search are better matched to this vacancy.
Before you apply
Check the key details and make sure the role matches what you are looking for.
- Review the job title, company, location, salary and working pattern if provided.
- Check the skills, experience or qualifications requested by the employer.
- Make sure the commute, hours and contract type are realistic for you.
Tailor your CV
For IT Jobs, highlight the most relevant skills, experience and achievements linked to this type of work. Keep it honest, clear and focused on what the employer is asking for.
Use the CV Builder or browse Career Advice.
Prepare for interview
If your application is successful, prepare simple examples that show your motivation, strengths and suitability.
Keep searching smarter
Do not rely on one application. Keep searching similar roles and set up alerts so new vacancies reach you faster.
