> Markdown version of [/jobs/ext/3905286-software-engineer](https://www.wearedevelopers.com/jobs/ext/3905286-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:** Siemens Plc - **Location:** UK - **Salary:** £53,471.0 - **Contract:** Permanent contract - **Skills:** Clean Code Principles, Build Automation, Unit Testing, Bash Shell, C++ (Programming Language), Cloud Computing, CMake, Software Quality, Code Review, Communications Protocols, Computer Programming, Continuous Integration, Software Design Patterns, Linux, DevOps, Device Drivers, Memory Management, Github, Revision Control Systems, Python (Programming Language), Real-Time Operating Systems, Software Engineering, Universal Asynchronous Receiver/Transmitter, Scripting, Serial Peripheral Interface, Gitlab, Git, Integration Tests, Build Tools, Software Performance, Programming Languages - **Published:** October 25, 2026 - **Apply:** https://www.adzuna.co.uk/jobs/details/5210485842 ## About the Role * Bachelor's or master's degree in electrical engineering, or a related field. * Experience in cross-platform software development, preferable also targeting embedded systems. * Strong programming skills in at least C++17 and optionally C, with a good understanding of software design patterns. * Experience in platform-agnostic software development deployable to multiple architectures, like arm-noneeabi, and x86_64 targets like windows, Linux * Experience with a scripting language like python or bash. * Experience with build tools like Make, CMake. * Experience with version control tools like git * Experience with dev-ops, CI/CD through GitLab, Github, etc. * Experience with GNU coreutils and Linux. * Familiarity with testing framework like gtest. * Familiarity with real-time operating systems (RTOS). * Familiarity with hardware-software interactions, device drivers, and communication protocols (e.g., UART, SPI, I2C). * Familiarity with full-stack development, including modern web, smartphone and cloud technologies. ## Description * Write high-quality code in programming languages such as C++, and optionally C * Optimize software performance and memory usage to meet exacting resource constraints of embedded systems. * Build automation scripts using scripting languages such as python. * Write unit tests, module tests, and integration tests and boost coverage. * Collaborate with electronics engineers and product managers, to ensure successful integration of software components into the overall system. * Participate in code reviews to maintain code quality, identify potential issues, and provide constructive feedback to team members. * Participate in end-to-end product design and development meetings. Collaborate with electronics, mechanical, software, and project management teams for optimum design cycles.