Embedded Software Engineer C++ (Embedded Linux)

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, I2C, 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.

Job Details

Company
4Square Recruitment Ltd
Location
Farnborough, Hampshire, England, United Kingdom
Hybrid / Remote Options
Employment Type
Full-Time
Salary
£60,000 - £65,000 per annum
Posted