In this talk, I shared about Skyscanner's Engineering Principles and how we put them in practice within our team. I gave real examples and links to resources for further reading.
2. Introduction. Who am I?
• Started working at Skyscanner 5 years ago.
• I currently lead Pie Squad under Engage Travelers Tribe.
• Our squad is responsible for Price Alerts on Skyscanner.
• GitHub and LinkedIn: @ardydedase
Before we start…
3. A bit of background about Pie Squad and Price Alerts…
• Price Alerts helps travelers in making decisions of when to book their Flights.
• Used to be owned maintained by another Squad based in Edinburgh.
• During the start of 2018, we have decided that it should be owned by Pie Squad.
• Historically the squad was PIE – Partner Insights Emerald. We decided to stick
with Pie so our squad name is not tied to the product that we own.
• Price Alerts has 1.3M users, 2.6M alerts processed per day with 270~K signups
and unsubscribes per day.
• Team: 4 Software Engineers, 1 Data Scientist, 1 Product Designer, 1 Product
Owner, and 1 Squad Lead.
Before we start..
6. What to expect…
• High level talk about how we put our engineering principles in practice.
• I will not dive deep into the different concepts that we will mention.
• Links to references will be provided for more details.
• I will be using Pie Squad and Price Alerts as examples wherever applicable.
Before we start…
8. Why do we have these Engineering Principles?
“We are all for autonomy.
But, if autonomy were the only part of the equation, the result would be chaos.”
9. Why do we have these Engineering Principles?
“The opposite of autonomy is dictatorship.”
10. Why do we have these Engineering Principles?
• Autonomy with alignment and accountability.
• Allows us to iterate, improve and measure results.
• In the context of engineering as a craft, we don't always explicitly apply the same
mindset.
• Helps us in improving our ability/speed to deliver customer value in production
responsibility
11. We have a clear
definition of success
for every piece of
work
Engineering principle #1
12. Data Centre
First three months with Pie Squad…
Price Alerts
AWS
Goal: Migrate Price Alerts into AWS…
25. Legacy Price Alerts Runner in Data Centres
• First commit was in 31 July 2012.
• Written in C#
• Hosted in 6 Windows VMs in leased
Data Centers
• Around that time, runners in Data
Centres take about 20 hours to go
through all the Price Alerts per day.
28. Collaborative engineering design and documentation
• NodeJS for processing the Alerts
• Nature of alert processing task is asynchronous. It sends many requests
and waits a long time for the response.
• Javascript provides a very convenient "async/await” syntax. No need to
manage event loop manually.
• AWS Batch
• Run jobs in containers without having to manage our own container
infrastructure.
• We can specify many copies of the container to start.
• Reduced proceshowsing time to 14.5 hours.
After the design review, we concluded that…
37. Recommended reading…
• Our Essential “Developer Enablement” Tools for Software Engineers
• Working at Skyscanner
• Enabling Engineers at Scale
• Frontend development for distributed teams
• Skyscanner’s frontend design resource: Backpack
• https://github.com/opencomponents/oc
64. In closing…
• These principles improves our organisation’s operational effectiveness which
enables us to focus on solving problems and deliver greater value to our
travelers.
• Principles alone are necessary but not sufficient.
• These principles were mostly derived from other organisations' best practices
outside and therefore can be replicated.
• Operational effective and strategy are both needed for your organisation’s
superior performance.
66. References - books
• The Lean Startup: How Constant Innovation Creates Radically Successful
Businesses
• The Art of Action: How Leaders Close the Gaps between Plans, Actions and
Results
• https://www.amazon.com/Scrum-Doing-Twice-Work-Half/dp/038534645X
• https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951