> Markdown version of [/jobs/ext/3678900-software-engineer](https://www.wearedevelopers.com/jobs/ext/3678900-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer - **Company:** Huber+Suhner Polatis - **Location:** Milton, UK - **Experience:** Experienced - **Contract:** Permanent contract - **Skills:** Clean Code Principles, Application Programming Interfaces (APIs), Data Analysis, Software Applications, Computing Platforms, Communications Protocols, Cyber Security, Software Debugging, Linux on Embedded Systems, Embedded Software, Linux System Administration, Network Protocols, Posix, Software Engineering, Systems Integration, Universal Asynchronous Receiver/Transmitter, USB, Scripting, Software Modules, Serial Peripheral Interface, PIC Microcontroller, Git, Yocto, Solid Principles, Information Technology, Data Analytics, Free and Open-Source Software, Build Tools, Software Coding, Software Version Control - **Published:** October 11, 2026 - **Apply:** https://find.jobs/jobs-near-me/apply/ats-redirect/?id=3014006456-2 ## About the Role You'll be an experienced software engineer with a passion for embedded systems and a desire to contribute to innovative technology solutions. In order to be successful in this role you must have: * Degree in Computer Science, Electronics, Software Engineering or a related discipline, or equivalent industry experience * At least 3 years' experience developing software in C for embedded systems * Experience working with ARM-based microcontrollers * Strong understanding of coding standards, software design principles and development best practices * Experience developing software in Linux environments * Knowledge of Linux boot processes, Device Tree configuration and kernel drivers * Experience integrating open-source software libraries * Strong debugging and troubleshooting skills * Experience working with hardware communication protocols including I2C, UART, SPI and USB * Experience working with Yocto build systems and supporting new platform designs It would be great if you had: * Experience using Git for source control and collaborative development * Exposure to Continuous Integration (CI) tools and automated development workflows * Knowledge of scripting languages for automation * Understanding of networking protocols and cyber security principles ## Description We're looking for a talented Software Engineer to join our Cambridge team and play a key role in the development of cutting-edge embedded software that powers our industry-leading optical switching products. If you enjoy solving complex technical challenges, working closely with hardware and software teams, and seeing your work make a tangible impact on world-class technology, we'd love to hear from you. What you'll be doing As a Software Engineer, you'll contribute to the architecture, design, development and integration of embedded software solutions for our Polatis product portfolio. Your responsibilities will include: * Designing, developing and maintaining robust software components within embedded Linux environments * Working closely with Software Architects and senior engineers to implement scalable, high-performance software solutions * Contributing to architectural discussions, design reviews and continuous improvement initiatives * Taking ownership of software modules from concept through to deployment * Developing application software in C using POSIX APIs * Working within Linux-based systems, including boot processes, Device Tree configuration (DTB) and kernel driver interaction * Integrating and maintaining open-source libraries within existing software platforms * Collaborating with hardware engineers to integrate software with new and existing platforms * Working with communication protocols including I2C, UART, SPI and USB * Troubleshooting hardware-software interaction issues and implementing effective solutions * Interpreting hardware schematics to support integration and debugging activities * Analysing test results and resolving issues with a methodical, data-driven approach * Producing technical documentation and project artefacts in line with development processes and compliance requirements