Responsibilities include:
- Contributing to device development programmes and delivering against client objectives
- Developing high-quality, well-documented software
- Working collaboratively within multi-disciplinary teams including software, electronics, and mechanical engineers
- Participating in all stages of the software development lifecycle, from requirements capture through to verification and release
- Contributing to the production of software documentation including requirements, architecture, and design documents
- Client facing communication, to present technical information clearly to both engineering and non-technical audiences
Qualifications & skills
Essential
- Computer Science, electronics engineering, or equivalent suitable engineering degree
- Commercial experience developing software in C++
- Experience developing software for Linux operating systems
- Experience in real-time, multi-threaded software development
- Working knowledge of Python for scripting, tooling, and test automation
- Experience with unit testing frameworks
- Ability to create clear and thorough software documentation
- Experience working within a structured software development lifecycle (SDLC)
- Proficient use of Git for source control
- Good written communication skills, commensurate with the documentation and design specification responsibilities of the role#
Professional Skills
Essential
- Good organisational skills with ability to manage own time and tasks
- Clear and effective written and verbal communication skills
- Ability to liaise with colleagues and clients
- Structured and methodical approach to problem-solving
Personal Qualities
- Willingness to take responsibility and drive activities
- Copes well with unexpected change, is flexible and calm under pressure
- Confident with a positive and engaging communication style
- Respectful of others' views, opinions, and contributions
- Collaborates effectively and actively shares own knowledge
- A self-starter who can manage their own time and workload
- Eager to continually learn and improve