SlideShare a Scribd company logo
Engineering at the
brink of scale
Peter Wiesner
Senior Software Engineer @ Skyscanner
Coding roadie
an aquaman
Introduction
@peter_a_wiesner
@wiesnerpeti
peter.wiesner@skyscanner.net
Skyscanner Flights iOS App
Find cheap flights
40+ million downloads
30+ languages
In 13 countries AppStore
Avg. 50+ million visitors across web and app
Complex problems live in travel
Flights
What do users use our app for?
Finding the cheapest flight
• flying frequently (business man)
• chosen destination, looking for prices
• Problem to solve: find it from 1,200 global partners
Collecting ideas
• no idea where to fly or when
• need information to decide
• Problem to solve: Anytime/Everywhere (1.5bn+ quotes)
Flights/2
Help each type of user
Ways of working
• First: Understand them!
• Product mindset: Start with the user, end in the (X)code
• “Data Driven Development”:
• Analytics
• User testing
• Prototyping
• Experimenting
• Research
We should backup this with a workflow
Ways of working/2
• Spotify squad structure
• Designers and Engineers working closely together
• Fast iteration for prototyping, focusing on MVP
• No in-house QA -> tester hat
• Every night crowd testing build
• Near every 2 week release -> Force iteration, fast feedback
• Once released: Measure, maintain, support
We should backup this with tools
Scale
• Two week release:
• Automated release trains
• Red button
Nightly
Analytics Localisation Experiment
Core
Platform
Page1 Page2 Page3 Page4
We should backup this with tools
Scale/2
• Enable more and more people to work on the project:
• Previously monolithic, now more modularised app
• (see also MassiveViewController)
• Identify dependencies
• Minimise interface
• Layer = repo
We should backup this with tools
Scale/3
• To reach more users we need localisation for 30+ languages
• Custom localisation module (cross platform, faster adaption)
UIView
+
localisation
Manager
Noti
Locale changed
en-GB.JSON
We should backup this with tools
Scale/4
• To understand users, we need information
• Analytics module to aggregate more tools
• Low cost to add another
• Define context on each level
Container
view
App-
Delegate
Mediator
Google Analytics
Facebook
Flurry
To take away
1. There is a path for developers to become engineers. //By expecting Scale
2. The field of travel hides complex problems, that we try to solve. //Requiring Scale
3. Engineers modify approach to solve these problems in Skyscanner. //Adapt Scale
Wrap up
Thankyou&QA
@peter_a_wiesner
@wiesnerpeti
peter.wiesner@skyscanner.net
@CodeVoyagers
http://codevoyagers.com/
http://www.skyscanner.net/jobs/

More Related Content

Viewers also liked

Java Microservices HJUG
Java Microservices HJUGJava Microservices HJUG
Java Microservices HJUGLana Kalashnyk
 
Engineering Day
Engineering DayEngineering Day
Engineering Day
themetelect
 
Stanford splash spring 2016 basic programming
Stanford splash spring 2016 basic programmingStanford splash spring 2016 basic programming
Stanford splash spring 2016 basic programming
Yu-Sheng (Yosen) Chen
 
Basic concept of computer by muhmmad saeed
Basic concept of computer   by muhmmad saeedBasic concept of computer   by muhmmad saeed
Basic concept of computer by muhmmad saeed
Muhammad Saeed
 

Viewers also liked (7)

MH
MHMH
MH
 
Java Microservices HJUG
Java Microservices HJUGJava Microservices HJUG
Java Microservices HJUG
 
Az
AzAz
Az
 
Az
AzAz
Az
 
Engineering Day
Engineering DayEngineering Day
Engineering Day
 
Stanford splash spring 2016 basic programming
Stanford splash spring 2016 basic programmingStanford splash spring 2016 basic programming
Stanford splash spring 2016 basic programming
 
Basic concept of computer by muhmmad saeed
Basic concept of computer   by muhmmad saeedBasic concept of computer   by muhmmad saeed
Basic concept of computer by muhmmad saeed
 

Similar to NSBudapest Presentation

Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
Michelle Ferrier
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
Howard Greenberg
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
Teamstudio
 
Front end Development for Distributed Teams
Front end Development for Distributed TeamsFront end Development for Distributed Teams
Front end Development for Distributed Teams
Ardy Dedase
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
Paul van Zyl
 
Language learning using augmented reality
Language learning using augmented realityLanguage learning using augmented reality
Language learning using augmented reality
Amritanshu Sawarn
 
Practical usability - Making your apps better
Practical usability - Making your apps betterPractical usability - Making your apps better
Practical usability - Making your apps better
Riaan Cornelius
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
christoforosnalmpantis
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
Teamstudio
 
Enhance mobile app testing with performance-centric strategies: SauceCon 2022
Enhance mobile app testing with performance-centric strategies: SauceCon 2022Enhance mobile app testing with performance-centric strategies: SauceCon 2022
Enhance mobile app testing with performance-centric strategies: SauceCon 2022
NITHIN S.S
 
The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)
Alexis Monville
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
Vishal Nayak
 
Jan-Erik Sandberg - Succeeding with Large Scale Agile
Jan-Erik Sandberg - Succeeding with Large Scale AgileJan-Erik Sandberg - Succeeding with Large Scale Agile
Jan-Erik Sandberg - Succeeding with Large Scale Agile
Agile Lietuva
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
faizrashid1995
 
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidDon Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Axway Appcelerator
 
LeanJS - Lean startup with JavaScript
LeanJS - Lean startup with JavaScriptLeanJS - Lean startup with JavaScript
LeanJS - Lean startup with JavaScript
Johannes Weber
 
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestBuilding an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Matt Tesauro
 
Tuli eServices_Mobile portfolio
 Tuli eServices_Mobile portfolio Tuli eServices_Mobile portfolio
Tuli eServices_Mobile portfolio
TULI eServices Inc.
 
Maruti gollapudi cv
Maruti gollapudi cvMaruti gollapudi cv
Maruti gollapudi cv
Maruti Gollapudi
 

Similar to NSBudapest Presentation (20)

Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
 
Front end Development for Distributed Teams
Front end Development for Distributed TeamsFront end Development for Distributed Teams
Front end Development for Distributed Teams
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Language learning using augmented reality
Language learning using augmented realityLanguage learning using augmented reality
Language learning using augmented reality
 
Practical usability - Making your apps better
Practical usability - Making your apps betterPractical usability - Making your apps better
Practical usability - Making your apps better
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
 
Enhance mobile app testing with performance-centric strategies: SauceCon 2022
Enhance mobile app testing with performance-centric strategies: SauceCon 2022Enhance mobile app testing with performance-centric strategies: SauceCon 2022
Enhance mobile app testing with performance-centric strategies: SauceCon 2022
 
The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
Naresh Chirra
Naresh ChirraNaresh Chirra
Naresh Chirra
 
Jan-Erik Sandberg - Succeeding with Large Scale Agile
Jan-Erik Sandberg - Succeeding with Large Scale AgileJan-Erik Sandberg - Succeeding with Large Scale Agile
Jan-Erik Sandberg - Succeeding with Large Scale Agile
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidDon Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
 
LeanJS - Lean startup with JavaScript
LeanJS - Lean startup with JavaScriptLeanJS - Lean startup with JavaScript
LeanJS - Lean startup with JavaScript
 
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestBuilding an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
 
Tuli eServices_Mobile portfolio
 Tuli eServices_Mobile portfolio Tuli eServices_Mobile portfolio
Tuli eServices_Mobile portfolio
 
Maruti gollapudi cv
Maruti gollapudi cvMaruti gollapudi cv
Maruti gollapudi cv
 

NSBudapest Presentation

  • 2. Peter Wiesner Senior Software Engineer @ Skyscanner Coding roadie an aquaman Introduction @peter_a_wiesner @wiesnerpeti peter.wiesner@skyscanner.net
  • 3. Skyscanner Flights iOS App Find cheap flights 40+ million downloads 30+ languages In 13 countries AppStore Avg. 50+ million visitors across web and app Complex problems live in travel Flights
  • 4. What do users use our app for? Finding the cheapest flight • flying frequently (business man) • chosen destination, looking for prices • Problem to solve: find it from 1,200 global partners Collecting ideas • no idea where to fly or when • need information to decide • Problem to solve: Anytime/Everywhere (1.5bn+ quotes) Flights/2
  • 5. Help each type of user Ways of working • First: Understand them! • Product mindset: Start with the user, end in the (X)code • “Data Driven Development”: • Analytics • User testing • Prototyping • Experimenting • Research
  • 6. We should backup this with a workflow Ways of working/2 • Spotify squad structure • Designers and Engineers working closely together • Fast iteration for prototyping, focusing on MVP • No in-house QA -> tester hat • Every night crowd testing build • Near every 2 week release -> Force iteration, fast feedback • Once released: Measure, maintain, support
  • 7. We should backup this with tools Scale • Two week release: • Automated release trains • Red button Nightly
  • 8. Analytics Localisation Experiment Core Platform Page1 Page2 Page3 Page4 We should backup this with tools Scale/2 • Enable more and more people to work on the project: • Previously monolithic, now more modularised app • (see also MassiveViewController) • Identify dependencies • Minimise interface • Layer = repo
  • 9. We should backup this with tools Scale/3 • To reach more users we need localisation for 30+ languages • Custom localisation module (cross platform, faster adaption) UIView + localisation Manager Noti Locale changed en-GB.JSON
  • 10. We should backup this with tools Scale/4 • To understand users, we need information • Analytics module to aggregate more tools • Low cost to add another • Define context on each level Container view App- Delegate Mediator Google Analytics Facebook Flurry
  • 11. To take away 1. There is a path for developers to become engineers. //By expecting Scale 2. The field of travel hides complex problems, that we try to solve. //Requiring Scale 3. Engineers modify approach to solve these problems in Skyscanner. //Adapt Scale Wrap up