Embedded Software Engineer C++ (Embedded Linux)
il y a 23 jours
Farnborough
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.