1. Our work
  2. Qantas Hotels engineering academy

Qantas Hotels Engineering Academy

Qantas Hotels is part of the Qantas Group company. It provides a seamless and rewarding accommodation experience for their travellers. They operate an accommodation booking business offering 2.5M hotel and Airbnb listings to Jetstar and Qantas travellers.

Qantas Hotels enjoy all of the support and benefits of being part of one of Australia’s most successful and famous brands, but operate like a small, dynamic digital company.

Elle joined Qantas Hotels to help us establish what is becoming a very successful Engineering Academy. The process of assessing needs then designing and delivering the programme was incredibly thorough; from the interview process to the thoughtful curriculum which is tailored for Qantas Hotels and is full of sound engineering principles and practices.

Stu Liston, Head of Engineering, Qantas Hotels

Challenge

Qantas Hotels identified a gap in gender diversity across the engineering team and lacked an on-boarding program that was supportive for new recruits. The team was skewed heavily towards senior developers. New engineers would come on board with little experience, and were expected to learn on-the-job. When an inexperienced developer joined the team, they were the only one at that level, and did not have a support system in place to help them learn and grow professionally.

Qantas Hotels reached out to us to help them hire new junior developers into the team and provide these new hires with support in the form of a dedicated and customised training program. The aim of the engagement was to hire great recruits, increase engagement and retention of existing staff, diversify the team, introduce new perspectives and ideas, invest in the team, and create a training program that could be used again in the future.

Solution

Develop learning solutions in conjunction with subject-matter experts, learning design standards and other sources

When deciding on the program's content, we consulted well-respected senior engineers in the development community as well as coordinated with team leaders in the Qantas Hotels engineering team to finalise a set of topics that would work best for their needs.

When creating the content for this program, we consulted materials from well known coding bootcamps as well as up to date online resources for the technologies under discussion.

We also liaised with Qantas Hotels team members who were subject-matter experts to run in-depth lessons, provide presentations, and run through activities on a variety of topics such as cloud computing, DevOps, Amazon Web Services, Splunk, relational databases, event sourcing, cyber security and more.

Design learning solutions to build capabilities for individuals, teams, and the organisation

The program that we designed included twelve weeks of dedicated learning, customised to the needs of the business and the associate developers. We followed the Gradual Release of Responsibility model. We used mob programming initially to solve coding challenges, continued with pair programming, and within two months had moved to doing the coding exercises individually. Each day we compared the solutions and discussed suggestions for improvement. Most days also consisted of structured theory sessions, code-alongs, and self-work periods.

During team weeks, the associate developers built, deployed, and supported software for Qantas Hotels with the guidance of a dedicated mentor and the product teams. They rotated between the different product teams on two months rotations. They wrote automated tests and engaged in all the product team's practices, for example standups, retrospectives, showcases, user story kick-offs, design discussions, and 10% investment time.

The associate developers had weekly one on ones with us, and their engineering manager. They were also assigned a mentor from the team to act as a buddy and ensure they are on track with the program.

Deliver learning solutions that meet user needs across appropriate modalities

It is known that some students learn best through one modality while some students use multiple different modalities to learn effectively. Most days consisted of theory sessions, code-alongs, and self-work periods. Many of the structured lessons included visual presentations followed with group discussions. We worked through coding exercises as a group and individually. We also read multiple technical books for the program, and discussed them together.

Furthermore:

  • The associate developers gave presentations every week which they sometimes took to local community events to present.
  • They did a personal project (what Apprenticeship Patterns calls "breakable toy"), where they practised what they learnt, and allowed us to evaluate and assess their knowledge and understanding.
  • We followed engineering team work flows.

Evaluate and iterate learning solutions to improve agreed outcomes

We ran frequent retrospective sessions to examine how the training program was going, what was going well, and to identify areas which could be improved. We then as a group produced suggestions to trial and continuously iterate on. We documented what we have learnt in a central location, which was accessible for future reference. For example we adjusted the team rotations to a more effective time cadence that worked better for all the teams.

The associate developers did a personal coding project where they got to practice what they have leant, which allowed us to evaluate, assess their knowledge and understanding, and adjust the delivery of the training accordingly. With the personal projects, we started quite slow, creating wire frames, a backlog of user stories, UML and sequence diagrams, before writing the code. Once the associate developers started working on their individual "breakable toy" projects, we once again followed engineering best practices such as working in feature branches, creating pull requests for code reviews, using linters and CI. We found that this more direct application of the material is extremely beneficial for learning, understanding, and retaining new knowledge.

Outcomes

Based on original metrics, the program was a success. All the academy graduates were employed by Qantas Hotels, and became productive team members in the Qantas Hotels engineering ecosystem. Senior developers had opportunities to practise mentoring and support their team mates.

The team rotations enabled the team to examine various engineering practices from their colleagues in the different product teams. It created shallow silos of information and cross-pollination. The associate developers experienced a detailed orientation in each product and developed cross-team knowledge.

The engineering academy fostered a sustainable team culture that involves supporting new team members. It streamlined and standardised the interview process, and provided a great on-boarding experience. The scope of the program allowed for more in-depth instruction in the Qantas Hotels technology stack than was previously possible.

Receive our monthly newsletter