Real-Time and Embedded Software Engineer
Role details
Job location
Tech stack
Job description
- Deliver fully tested and maintainable software components that align with defined project objectives
- Contribute to the production of clear and traceable design specifications for new or modified functionality
- Ensure all development complies with governance, secure coding practices, and design review procedures
- Report progress to the Software Lead and Software Engineering Delivery Manager, supporting team-level delivery goals
Requirements
- Full development lifecycle experience, including requirements capture, design, implementation, testing, integration, verification and validation
- Strong experience in developing software for embedded systems using the C++ and C programming languages.
- Proven experience in designing, implementing and maintaining embedded software platforms including Linux and RTOS
- Experience in multi-process and multi-threaded software development (especially within a soft real-time environment)
- Proven capability in the development of test harnesses and the design and implementation of automated tests
- Experience developing low-level drivers and working with embedded systems or hardware components
- Familiarity with network-based communication protocols
- Proficiency in using Microsoft Office for technical documentation and communication
Desirable:
- Genuine interest in radio communications with aspirations to innovate in this field
- Experience on developing and "bringing-up" Buildroot-based embedded platforms including Linux kernel and device tree configuration
- Knowledge of the Linux command line (such as Bash and POSIX utilities)
- Developing embedded systems using FreeRTOS
- Familiarity with communication protocols, Ethernet, I2C, SPI and USB
- Experience in using modern build systems, automated using Make
- Familiarity with Enterprise Architect or equivalent UML design tools
- Knowledge of python for general purpose use and the creation of simple graphical applications
- Working knowledge of Agile practices such as Scrum, including toolchains like JIRA
- Hands-on experience with GIT/Bitbucket for version control and configuration management (Previous use of Subversion would also be beneficial)
- Familiarity with using and editing in Atlassian Confluence
- Experience configuring and maintaining CI pipelines using Jenkins or similar automation platforms
- Understanding of secure coding standards and safety/security-critical development requirements
- Familiarity with SAST/DAST/SCA in a modern Cyber Security conscious environment (e.g. Coverity, GCC Sanitzers etc)
Benefits & conditions
Due to the nature of the work that we do at Thales, many of our roles are subject to security restrictions. This role requires you to achieve Security Clearance (SC) without any caveats. It would be advantageous if currently held, however, if not currently held, it is a requirement that the successful applicant undergo, achieve, and maintain SC Clearance prior to commencing employment. Please visit the UKSV website for further guidance. To be eligible for full SC, you generally need to have resided in the UK for the last 5 years. In some circumstances, a minimum of 3 years' residence in the UK over the last 5 years may be accepted, with additional overseas checks.
If you are interested in this role, we would encourage you to have informal chat with the Talent Acquisition Partner.
Thales is an equal opportunities employer and diversity and inclusion are integral to the success of Thales.
At Thales, we ensure equal opportunities, pay and working conditions for all. The benefits we offer include private medical insurance, buying or selling annual leave, cycle to work schemes, employee discounts, paid volunteering day, stocks and shares, annual bonus and much more depending on the role. Read more about our benefits here.
We are committed to creating a workplace where everyone feels valued for who they are and the unique strengths they bring. Discover more about our programmes, employee networks, wellbeing policies, and inclusive features here.
If this role isn't quite right for you, we encourage you to join our talent community where your details will be shared with our recruitment teams for other potential opportunities. Join the Talent Community here.