Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Senior Embedded Software Engineer will take technical ownership of key software components and engineering practices within Elysia Embedded, a world-class battery software product. The role will design, develop, optimise, maintain, and verify efficient, scalable embedded software - from architecture and model-based implementation through to system integration and release readiness. The role focuses on creatively transforming advanced battery algorithms into lightweight, production-ready embedded solutions that maximise battery performance, reliability, and lifespan., * Transform complex algorithms into resource-efficient embedded implementations through simplification, optimisation, and sound engineering judgement.
- Lead and contribute to scalable, maintainable, testable, and computationally efficient software architecture.
- Design, implement, verify, and review software units using model-based development, code generation, and automated testing.
- Integrate software components and verify system-level interactions through simulation, integration testing, debugging, and issue resolution.
- Analyse and optimise execution time, memory usage, numerical behaviour, and real-time performance.
- Improve software quality through standards, modelling guidelines, static analysis, peer reviews, CI/CD, and automated workflows.
- Improve developer productivity through build systems, debugging tools, simulation frameworks, CI/CD pipelines, and automation.
- Guide engineers through architecture discussions, model/design reviews, code reviews, troubleshooting, and knowledge sharing.
- Identify inefficiencies across software performance, workflows, and processes, and drive practical improvements.
Requirements
Details of the experience needed to be successful in the role, the qualifications essential/desirable to be able to fulfil the role and any specific behavioural traits. Essential:
- Bachelor's, Master's, or Ph.D. degree in a relevant STEM subject, or equivalent practical experience.
- 5+ years of relevant embedded software engineering experience, including at least 3 years in model-based development, preferably in the automotive or aerospace industries.
- Ability to analyse technical trade-offs between algorithm accuracy, computational efficiency and maintainability.
- Strong problem-solving skills with the ability to adapt academic concepts to practical implementations.
- Knowledge of embedded architectures, memory management, and real-time systems.
- Experience with version control, CI/CD pipelines, and automated testing frameworks.
- Excellent communication skills and a collaborative working style, with the ability to explain technical decisions clearly across software, algorithm, application, and product teams.
- Proactive mindset, able to identify technical or process inefficiencies and drive improvements.
Beneficial:
- Experience with battery state-estimation algorithms, such as SoC, SoH, SoP, and/or battery management systems
- Experience with ASPICE, ISO 26262, or similar software development standards.
- Familiarity with simulation frameworks, profiling tools, and debugging in embedded environments.
- Exposure to hardware/software co-validation, including HIL, SIL, MIL, or PIL testing.
- Experience providing technical guidance, reviewing designs/models/code, or mentoring engineers.