If you could change one thing about travel, what would it be? At Amadeus, you can make that happen!
Travel makes the world a better place and we are fully dedicated to improving it and making it even more rewarding. We are one of the world’s top 15 software companies: we provide technology solutions and services
within the travel industry.
Do you have ideas on how to improve travel for everyone? Do you find the idea of working in a diverse, multicultural environment exciting? Are you ready to make an impact across the world? Great, then join us!
Let’s shape the future of travel together.
We're looking for an experienced software engineer to work on our world leading airline passenger servicing system - a system that provides check-in and boarding services to approximately 125 airlines and 1 billion airline passengers each year. The role is based at our London Heathrow development center.
You will join a new team that is redesigning our passenger servicing system to take advantage of a microservice architecture. This is a massive re-engineering project affecting a key mission critical application. It is technically challenging, involving major changes to all layers of our software stack – database, business and presentation. The system is currently designed as a distributed service-oriented-architecture, making extensive use of C++, messaging middleware, Oracle, Linux and MongoDB technologies.
We are looking for a software engineer/architect with a strong background in C++ and microservice architecture who can help us to achieve an optimal redesign of our application.
• Analyse needs and requirements, from customer and internal sources, and propose functional/technical solution recommendations with supporting rationale
• Write and/or contribute to feasibility studies/analysis documents
• Deliver comprehensive and high quality operational software, documentation, and unit/component tests necessary for the application.
• Identify interactions and assess impacts with other Amadeus packages/products/solutions to ensure functional and technical compatibility.
• Identify technical risks and takes responsibility for mitigating and managing them.
• Establish and improve architectural design of applications.
• Take responsibility across the full project life cycle.
• Coordinate those interactions from building phase to delivery to ensure the compliance of the delivered functionality.
• Carry out the functional walk-through of the product with the Development team and Product Management
• Contribute with QA teams to product quality by giving inputs for the test strategy
Maintain and optimise
• Troubleshoot and investigate defects raised by our customers to ensure compliance of our products to the specifications and system integrity
• Communicate with customers on the steps taken to solve the issues
Create and innovate
• Analyse needs and requirements, from customer and internal sources, and propose functional/technical solution recommendations with supporting rationale as well as an estimate of the required effort
• Provide on request functional and technical knowledge on their own area for Sales, Account Management, Development, Implementation and Support requests (for elaboration of business cases and RFP responses)
• Provide inputs to Product Management for product functionalities enhancement, business cases and RFP responses, based on their knowledge & experience. May participate on demand to customer workshops.
• Contribute to innovation and product evolution within their functional area by sharing with peers, business & product managers information such as industry trends & standards etc.
• Show creativity and autonomy in finding solutions to nontrivial problems
• Work closely with Product Management, Business Analysts, and Quality Assurance to create high quality products and enhancements
• Collaborate with your fellow team members, to benefit from their knowledge and different backgrounds, and bring your own assets to the team
A degree in Computer Science, or equivalent, or other significant industry experience
Relevant work experience
You will have:
- Strong C++ on Linux experience
- Knowledge of microservice architecture concepts
- Knowledge of distributed systems & service oriented architectures
- Good interpersonal skills – you will be dealing with internal stakeholders to communicate design ideas and review design decisions on a regular basis
- We believe in aiming for excellence, taking responsibility, working together and putting our customers first. We need you to display these qualities too.
It would be desirable, but not essential, if you have experience with:
- Oracle databases
- Domain driven design
- Messaging frameworks
- How to test microservice architectures
C++, Oracle, Linux, Microservices/SOA/Distributed Systems
Our diversity commitment: equality, diversity and inclusion are part of who we are. We’re committed to equal opportunities and treatment regardless of age, ethnicity, gender, beliefs, sexual orientation or disability.