The Role
As a Software Development Engineer, you will be involved across the full software development lifecycle, from requirements analysis and solution design through to development, testing, deployment and ongoing operational support.
You will work across a diverse technology environment, with C++, Python and Java forming a key part of the technology stack, while contributing to APIs, integrations, messaging and distributed systems.
Key Responsibilities
- Analyse functional and technical requirements and translate them into effective technical solutions.
- Design and develop scalable, maintainable, secure and reliable software.
- Develop APIs, integrations, messaging and data exchange mechanisms across interconnected systems.
- Work closely with Product Managers, Business Analysts, Architects and Quality Engineers to refine requirements and validate solutions.
- Develop and maintain automated tests and apply strong quality engineering practices.
- Participate in code reviews, technical design discussions and architecture reviews.
- Investigate defects, perform root-cause analysis and implement robust corrective actions.
- Support deployment, monitoring, troubleshooting and continuous improvement throughout the software lifecycle.
- Contribute to CI/CD, DevOps and modern software engineering practices.
- Use AI-assisted development tools to improve software design, development, testing, troubleshooting and documentation, while critically reviewing AI-generated outputs.
- Contribute to engineering best practices around performance, security, reliability and operational readiness.
About You
We're looking for a strong software engineer with 3+ years' commercial software development experience and a solid understanding of software engineering fundamentals, solution design and complex systems.
You should have:
- Strong programming experience with C++, Python and/or Java.
- Experience developing and supporting enterprise-scale software solutions.
- Strong understanding of APIs, integrations, distributed systems and software architecture.
- Experience working with complex, interconnected systems and cross-product workflows.
- Experience developing automated tests and applying quality engineering principles.
- Experience working within Agile software development teams.
- Familiarity with Git/source control, CI/CD, DevOps and modern software engineering practices.
- Strong analytical, troubleshooting and problem-solving skills.
- The ability to communicate effectively with both technical and non-technical stakeholders.
- A proactive approach to understanding problems and designing practical, maintainable solutions.
- Experience using AI-assisted engineering tools, with the ability to critically assess AI-generated code, designs, tests and documentation.
Desirable Experience
- Experience within airline, aviation or airport operations
- Experience working on mission-critical, safety-critical or highly regulated systems.
- Experience with event-driven architectures, distributed applications, microservices or service-oriented architectures.
- Cloud-native development and modern deployment practices.
- Observability, monitoring, operational support or Site Reliability Engineering.
- SQL, messaging technologies, event streaming or complex data processing.
- Experience developing software incorporating AI-powered capabilities, automation, decision support or agentic workflows.
- Familiarity with AI-driven software development lifecycle practices.