Software Engineer

Company: Eclectic Recruitment Ltd
Apply for the Software Engineer
Location: Cambridge
Job Description:

A fantastic opportunity has arisen for a

Software Engineer

to join an engineering team in Cambridge, working on embedded Linux software for the company’s products, from architecture and design through to integration with the hardware.This role takes ownership of software modules from concept to deployment, working closely with the Software Architect, senior engineers, hardware designers and test engineers to enhance and optimise the company’s products.Key Responsibilities:Working closely with the Software Architect and senior engineers to refine and implement scalable software architectureDeveloping key software components, ensuring maintainability and performance, and contributing to architectural reviewsTaking ownership of software modules, driving development from concept to deploymentAdding features to existing and new code bases, using C in embedded Linux environmentsCollaborating with test engineers to define verification strategies and ensure thorough test coverageAnalysing complex test results and implementing corrective actions with minimal supervisionWorking with hardware designers on software-hardware integration, interpreting hardware schematics and managing communication protocols (I2C, UART, SPI, USB)Troubleshooting and resolving hardware-software interaction issues efficientlyWorking with cross-functional teams, including production, to diagnose and resolve software issuesProducing project artefacts and product design documentation to meet the software development process, regulatory compliance and organisational requirementsThe ideal candidate would have:Familiarity with Git for source code management and collaborationExperience with continuous integration tools and scripting languages to automate tasks and improve development workflowsUnderstanding of networking protocols and security mechanisms, including data storage and preventing vulnerabilitiesThe ideal candidate must have:A degree in Computer Science, Electronics or a related field (or equivalent experience)3+ years of C programming experience in an embedded environment, with familiarity with ARM microcontrollers, coding standards and best practices3+ years of Linux-based systems development, including some experience of the Linux boot process, DTB and kernel driversAbility to write user space applications using POSIX APIs, integrate open-source libraries into existing programs and use development tools for system administration and debugging3+ years of experience working with hardware protocols (I2C, UART, SPI, USB) and the ability to read simple hardware schematicsKnowledge of Yocto, with the ability to modify it to support new platform designs and versionsClear verbal and written communication, especially when discussing technical issues or documenting findingsAn analytical, methodical approach with strong attention to detail, and a proactive attitude to learning and contributing to team goalsIf this role looks like your next challenge, please contact Jack ASAP or apply via this advert!We endeavour to reply to every candidate, but if you haven’t heard back within 10 days, please understand that you have unfortunately been unsuccessful for this position, or the position has been filled. Please call the office or send an email to discuss other potential positions.

TPBN1_UKTJ…

Posted: October 27th, 2026