Algorithm Engineer
Role details
Job location
Tech stack
Job description
- Develop and implement algorithms based on mathematical and signal processing models
- Translate theoretical concepts into efficient, production-quality C++ code
- Work within a model-driven development approach, integrating autogenerated and hand-written code
- Validate algorithms through simulation, test and analysis
- Integrate algorithms into larger software systems and target environments
- Develop, deploy, and debug software on Linux-based platforms
- Apply software and algorithm best practices, including unit testing and static analysis
- Collaborate closely with systems engineers, software engineers, and architects
- Use standard engineering toolchains (e.g. Git, JIRA, Jenkins) to support delivery
- Produce clear technical documentation supporting algorithms and implementation
- Contribute to project planning, reporting, and risk management activities
- Support containerised deployment where applicable
Requirements
We are looking for an experienced Algorithm Engineer with strong C++ expertise and a deep understanding of mathematics and signal processing to develop, implement, and integrate complex algorithms into high-quality software solutions.
You will work in a model-driven engineering environment, translating theoretical and mathematical models into efficient, reliable, and maintainable implementations. The role spans algorithm development, validation, and software integration, with a strong emphasis on code quality, clean coding practices, and engineering rigour., * Strong C++ proficiency
- Background in mathematics, signal processing, and algorithm development
- Experience with model-driven engineering and mixed generated/manual code
- Linux development and scripting experience
- Knowledge of software architecture and system integration
- Experience with unit testing, static analysis, and high-integrity coding
- Familiar with SCM and containerisation tools
- Understanding of TCP/IP networking
- Aerospace/defence industry experience
DESIRABLE SKILLS:
- Experience with UML modelling tools (ideally IBM Rhapsody)
- MATLAB/Simulink for algorithm simulation and validation
- Knowledge of GPU acceleration (CUDA, OpenCL, HIP)
- Exposure to software assurance and static analysis tooling
- Experience in defence or safety-critical environments
- Familiar with CI/CD and DevOps practices
Benefits & conditions
- Competitive Basic Salary
- 6% Employers Contribution + 6% as a salary sacrifice
- Private Medical Insurance, Life Cover and Income Protection
- 25 days holiday
- 10 days full sick pay per year
- Flexible working
- Cycle to Work & TechScheme
- Continuous professional development
- Corporate access to the Udemy platform, Group Income protection Life Cover Pension Scheme Perks Scheme Private Medical Insurance Referral bonus
3 similar roles Permanent contract