About the Role
An exciting opportunity to join a growing aviation technology business developing and delivering an advanced Operations Control Centre (OCC) disruption management solution. The platform helps airline Operations Control Centres respond to disruption by generating proactive alerts and orchestrating complex recovery solutions across aircraft, crew and passengers. With significant customer and pipeline growth, the engineering team is expanding as the solution moves into further airline implementations and production environments.
Responsibilities
•Design, develop and maintain backend services using Python and Flask or a comparable framework
•Build and maintain robust REST APIs supporting the wider disruption management platform
•Work closely with optimisation scientists to integrate and productionise optimisation and numerical models
•Take existing scientific or numerical Python code and bring it to production standard, including testing, profiling, packaging, performance optimisation and maintainability
•Design and optimise database interactions using SQLAlchemy and PostgreSQL
•Own features end to end, from technical design and implementation through to testing, deployment and ongoing support
•Investigate and resolve performance and reliability issues across the backend
•Write clean, maintainable and well-tested code following modern Python engineering practices
•Conduct thorough code reviews and contribute to improving development standards across the team
•Work within a PR-reviewed, CI/CD-driven development environment
•Contribute to containerised development and deployment practices
•Collaborate closely with engineering, optimisation, product and delivery colleagues
Requirements
•Strong commercial experience developing with Python 3.x, including typed Python
•Strong experience with Flask or a comparable Python web framework
•Hands-on experience with SQLAlchemy and PostgreSQL or equivalent ORM/database technologies
•Strong understanding of REST API design and backend architecture
•Proven experience taking scientific, numerical or complex Python code developed by others and bringing it to production quality
•Strong understanding of software testing, profiling, performance optimisation, packaging and maintainability
•Experience owning software features through the full development lifecycle
•Experience reviewing other engineers' code and contributing to engineering standards
•Strong understanding of modern software development practices, including CI/CD, pull requests and automated testing
•Experience working with containerised development environments
•Strong communication skills and the ability to work effectively with both technical and non-technical stakeholders
•Fluent English
Nice to Have
•Experience optimising Python performance and hot paths, including profiling, vectorisation, Cython or other native extensions
•Familiarity with Mixed Integer Programming (MIP) solvers or other optimisation technologies
•Experience with background job queues and asynchronous processing
•Experience working with scientific computing, optimisation or decision-support systems
•Previous experience in aviation, airline operations or another complex operational environment
•Spanish language skills
Conditions
No conditions specified in the posting.