Embedded Software Engineer C++ (Embedded Linux)
hace 3 días
Farnborough
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.