Senior Software Engineer
Evolito’s mission is to accelerate the adoption of electric propulsion in aerospace applications in support of a net-zero world. We will help to revolutionise personal mobility and transform our towns and cities with clean, noise-free air transportation.
Evolito develops and manufactures class-leading, lightweight, high-power, and high-torque-density electric propulsion systems for a range of aerospace markets, including EVTOL, Unmanned Aerial Vehicles and General Aviation.
As well as ultra-high performance, low-weight electric motors and controllers, Evolito specialises in high integrity, bespoke battery systems for the aerospace and defence markets. The team is scaling rapidly and has ambitious growth plans over the next twelve to eighteen months.
As part of our current high-growth phase, we are looking for a Senior Software Engineer to develop embedded software for Evolito motor controller and generator products through to certification in accordance with RTCA DO-178C, Software Level A.
Key responsibilities will include
- Taking responsibility for software development activities across the full lifecycle, including developing software requirements, contributing to software architecture and design, model-based development and automatic code generation, manual implementation of low-level software in C, and producing associated lifecycle documentation
- Contributing to multicore software architecture, including allocation of functions, memory and peripheral ownership, inter-core communication, timing budgets, resource usage and interference considerations
- Performing development testing, integration, debugging, problem investigation and defect resolution, supporting issues through to root cause and closure
- Performing peer reviews of lifecycle artefacts
- Providing technical support to less experienced engineers, promoting good software engineering practices
- Collaborating effectively with internal and external stakeholders
- Following the approved software development processes and standards for Software Level A of RTCA DO-178C
- Promoting sound software engineering practices and contributing to continuous improvement of development methods, processes, tools and team capability.
Skills and experience required
- Degree or equivalent experience in software engineering, electronic engineering, or a related discipline
- Previous experience developing embedded software to RTCA DO-178C Software Level A or B, or similar safety-critical standards and assurance levels
- Previous experience developing embedded C software for real-time control systems
- Experience across several stages of the embedded software lifecycle, including requirements, architecture and design, coding, integration, verification and release
- Knowledge of motor control algorithms and their implementation.
- Familiarity with model-based development using MATLAB/Simulink and automatic code generation
- Knowledge of UML or equivalent software design notation, and tools such as CATIA Magic/Cameo or similar
- Familiarity with coding standards, such as MISRA C, for safety-critical embedded software
- Experience with requirements and lifecycle management tools such as CodeBeamer, DOORS, Polarion or equivalent
- Familiarity with version control, build automation and CI pipelines, including Git and make
- Sound understanding of embedded software architecture, interrupt-driven systems, concurrency, timing, memory management, communications and hardware/software interfaces
- Practical software debugging, root-cause analysis and fault-investigation skills
- Experience with peer review, configuration management, change control, problem reporting, traceability and evidence-based verification in a controlled development environment
- Familiarity with Agile software development methodologies and industry best practices for software development
- Passionate about delivering high-quality outcomes and promoting good engineering practices
- A creative problem solver with a logical and methodical approach to implementing solutions
- Good verbal and written communication skills
- Self-motivated, collaborative and adaptable, with a willingness to support wider programme and team activities within a dynamic engineering environment
- A UK driving licence and availability to support visits to supplier sites.
Desirable
- Experience developing software for motor controllers or other high-performance real-time control systems
- Experience with multicore microcontrollers and familiarity with AMC 20-193 considerations
- Experience with TI C2000 C28x/C29x devices, or comparable automotive or aerospace microcontroller families
- Experience with static analysis, structural coverage, stack-usage analysis and target-based testing
- Experience supporting software certification activities, certification reviews or the production of compliance evidence for high-integrity software.
Are you Evolito?