Skip to main content
Posted 21 July, 2026

Embedded Software Engineer C++ (Embedded Linux)

4Square Recruitment Ltd
Farnborough, ENG, GB Full Time

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.

\n

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.

\n

If you enjoy low-level programming, optimising software performance and solving technically demanding problems, this could be the role for you.

\n

Responsibilities

\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
\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
\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
\n

About You

\n

You'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
\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
\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.

\n

Apply today or contact 4Square Recruitment for a confidential discussion.