SlideShare uma empresa Scribd logo
1 de 90
REBUILDING THE MONOLITH WITH
COMPOSABLE APPS
InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
monolith-composable-apps
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
https://www.quora.com/Why-are-front-end-developers-so-high-in-demand-at-startups-if-front-end-development-is-relatively-easier-than-other-fields-of-engineering
2013
http://conference.phpnw.org.uk/phpnw13/schedule/dan-rathbone/
XHR
2014
WHY DO WE CARE SO MUCH ABOUT MOBILE?
Because it makes up a huge proportion of our traffic, of which there is lots…
MOBILE IS GROWING AT A SCARY RATE TOO…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
Weekly	Uniques on	Mobile
BACK TO THE TECH
What are the challenges we were facing?
Create a more engaging customer experience
Increase the resilience of our core features
Scale our product
Scale our teams
Nothing rendered by JavaScript
No knowledge of routing in client
State stored in data
attributes in the DOM
Spaghetti OO style
JavaScript reliant on directly
bound event listeners
Increasingly real-time and
interactive product
demands
“From a people and culture point of view, we’re very
focused on maintaining the things that made Sky Bet
great as we scale up the internal team – we doubled
the number of employees last year.”
http://www.silicon.co.uk/cloud/it-life-andy-burton-cto-sky-bet-197113
WHOLLY OWNED, VERTICAL SLICES
“Favor object composition over class inheritance…
...You should be able to get all the functionality you
need just by assembling existing components through
object composition.”
Gamma et al, 1994
CHOOSING THE TECH STACK
“Don’t Rewrite, React”
Ryan Florence, React Europe 2015
IN PRACTICE IT’S NEVER THAT SIMPLE
Independent components
may share data requirements
Real-time updates need to
happen simultaneously to
ensure consistent experience
Apps may share code
dependencies (i.e. Ramda)
How do we instantiate these
things?
IT GETS HARDER AS THE PRODUCT REQUIREMENTS
GROW MORE DETAILED
WORKING WITH COMPONENTS
FUNCTIONAL COMPOSITION
“It is better to have 100 functions operate on one data
structure than 10 functions on 10 data structures..”
Alan Perlis
ENCAPSULATE CSS
EXTRACT LOW LEVEL DESIGN LANGUAGE
THE ELEVENTH HOUR CURVE BALL
DELIVER A MARKET LEADING
REQUESTABET™ PRODUCT FOR THE START
OF THE PREMIER LEAGUE SEASON
(That gave us less than six weeks)
Allow customers to request a
bet consisting of outcomes
from the same event
Select outcomes from a
curated list of markets and
add them to your request cart
Request the bet – if it can be
priced immediately you’ll see
the result in real-time,
otherwise it will be sent to
the trading team
Your requests are stored
locally and a push
notification is sent to the
device to notify when the
trading team have stopped
pricing requests
When a selection is added
we calculate suggestions
using a web worker
When a request is submitted,
we can use the pre-built
suggestions list to show you
highly related options
Web worker runs in separate
JavaScript thread to minimise
performance overhead
WORKING WITH REACT AND THE CLIENT-SIDE
COMPONENT APPROACH ALLOWED US TO
DEVELOP THE FEATURE IN PARALLEL TO THE
EXISTING ROADMAP
CUSTOMERS LOVE THE FEATURE
(And we delivered it with a week to spare)
OVER 1 MILLION UNIQUE USERS SINCE LAUNCH
AND ROUGHLY 1.7 MILLION UNIQUE REQUESTS
RECEIVED BY TRADERS
THE BITS THAT DIDN’T GO SO WELL
BUILT COMPONENTS IN THE UI-LIBRARY TOO SOON
SERVER RENDERING
SOME FUNCTIONAL TECHNIQUES CAME WITH A
STEEP LEARNING CURVE
TEAM NAMES MATTER MORE THAN YOU THINK
HAVE WELL DOCUMENTED ENGINEERING
PRINCIPLES WHICH ARE ACTIVELY DISCUSSED
TDD, PAIRING AND CODE REVIEW KEEP THE
QUALITY BAR HIGH
WHAT’S NEXT?
Create a more engaging customer experience
Increase the resilience of our core features
Scale our product
Scale our teams
THANK YOU
Ian Thomas – Principal Engineer, Sky Betting & Gaming
@anatomic
Watch the video with slide synchronization on
InfoQ.com!
https://www.infoq.com/presentations/monolith-
composable-apps

Mais conteúdo relacionado

Semelhante a Rebuilding the Monolith with Composable Apps

INUSE Seminar May 8, 2012: Hyysalo
INUSE Seminar May 8, 2012: HyysaloINUSE Seminar May 8, 2012: Hyysalo
INUSE Seminar May 8, 2012: Hyysalo
inuseproject
 
Silverlight Momentum and Introducing Silverlight 3
Silverlight Momentum and Introducing Silverlight 3Silverlight Momentum and Introducing Silverlight 3
Silverlight Momentum and Introducing Silverlight 3
Christophe Lauer
 
Nitin_updated_Profile
Nitin_updated_ProfileNitin_updated_Profile
Nitin_updated_Profile
Nitin Saxena
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
cnetto
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
Axway Appcelerator
 

Semelhante a Rebuilding the Monolith with Composable Apps (20)

Big Data Expertise
Big Data ExpertiseBig Data Expertise
Big Data Expertise
 
INUSE Seminar May 8, 2012: Hyysalo
INUSE Seminar May 8, 2012: HyysaloINUSE Seminar May 8, 2012: Hyysalo
INUSE Seminar May 8, 2012: Hyysalo
 
Take Two: Evolving Microservice Architectures
Take Two: Evolving Microservice ArchitecturesTake Two: Evolving Microservice Architectures
Take Two: Evolving Microservice Architectures
 
Hcl digital experience
Hcl digital experienceHcl digital experience
Hcl digital experience
 
Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?
 
Adopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your ArchitectureAdopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your Architecture
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Scalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the TradeScalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the Trade
 
Kuoll pitch-deck
Kuoll pitch-deckKuoll pitch-deck
Kuoll pitch-deck
 
Silverlight Momentum and Introducing Silverlight 3
Silverlight Momentum and Introducing Silverlight 3Silverlight Momentum and Introducing Silverlight 3
Silverlight Momentum and Introducing Silverlight 3
 
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
 
Future Proofing your Marketing Automation: Build vs Buy
Future Proofing your Marketing Automation: Build vs BuyFuture Proofing your Marketing Automation: Build vs Buy
Future Proofing your Marketing Automation: Build vs Buy
 
Forced Evolution: Shopify's Journey to Kubernetes
Forced Evolution: Shopify's Journey to KubernetesForced Evolution: Shopify's Journey to Kubernetes
Forced Evolution: Shopify's Journey to Kubernetes
 
Nitin_updated_Profile
Nitin_updated_ProfileNitin_updated_Profile
Nitin_updated_Profile
 
Neev Competencies in SaaS-based Development
Neev Competencies in SaaS-based DevelopmentNeev Competencies in SaaS-based Development
Neev Competencies in SaaS-based Development
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
 
Refactor Front-end APIs & Accounting for Tech Debt
Refactor Front-end APIs & Accounting for Tech DebtRefactor Front-end APIs & Accounting for Tech Debt
Refactor Front-end APIs & Accounting for Tech Debt
 
The Microservices and DevOps Journey
The Microservices and DevOps JourneyThe Microservices and DevOps Journey
The Microservices and DevOps Journey
 

Mais de C4Media

Mais de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 

Último

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Rebuilding the Monolith with Composable Apps

  • 1. REBUILDING THE MONOLITH WITH COMPOSABLE APPS
  • 2. InfoQ.com: News & Community Site Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ monolith-composable-apps • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  • 5.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 13.
  • 14.
  • 15. XHR
  • 16.
  • 17. 2014
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. WHY DO WE CARE SO MUCH ABOUT MOBILE? Because it makes up a huge proportion of our traffic, of which there is lots…
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. MOBILE IS GROWING AT A SCARY RATE TOO…
  • 29. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Weekly Uniques on Mobile
  • 30.
  • 31.
  • 32. BACK TO THE TECH What are the challenges we were facing?
  • 33. Create a more engaging customer experience Increase the resilience of our core features Scale our product Scale our teams
  • 34. Nothing rendered by JavaScript No knowledge of routing in client State stored in data attributes in the DOM Spaghetti OO style JavaScript reliant on directly bound event listeners Increasingly real-time and interactive product demands
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. “From a people and culture point of view, we’re very focused on maintaining the things that made Sky Bet great as we scale up the internal team – we doubled the number of employees last year.” http://www.silicon.co.uk/cloud/it-life-andy-burton-cto-sky-bet-197113
  • 41. “Favor object composition over class inheritance… ...You should be able to get all the functionality you need just by assembling existing components through object composition.” Gamma et al, 1994
  • 42.
  • 44. “Don’t Rewrite, React” Ryan Florence, React Europe 2015
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. IN PRACTICE IT’S NEVER THAT SIMPLE
  • 51. Independent components may share data requirements Real-time updates need to happen simultaneously to ensure consistent experience Apps may share code dependencies (i.e. Ramda) How do we instantiate these things?
  • 52. IT GETS HARDER AS THE PRODUCT REQUIREMENTS GROW MORE DETAILED
  • 53.
  • 55.
  • 56.
  • 58. “It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures..” Alan Perlis
  • 59.
  • 61.
  • 62. EXTRACT LOW LEVEL DESIGN LANGUAGE
  • 63.
  • 64.
  • 65. THE ELEVENTH HOUR CURVE BALL
  • 66.
  • 67. DELIVER A MARKET LEADING REQUESTABET™ PRODUCT FOR THE START OF THE PREMIER LEAGUE SEASON (That gave us less than six weeks)
  • 68.
  • 69. Allow customers to request a bet consisting of outcomes from the same event Select outcomes from a curated list of markets and add them to your request cart Request the bet – if it can be priced immediately you’ll see the result in real-time, otherwise it will be sent to the trading team Your requests are stored locally and a push notification is sent to the device to notify when the trading team have stopped pricing requests
  • 70. When a selection is added we calculate suggestions using a web worker When a request is submitted, we can use the pre-built suggestions list to show you highly related options Web worker runs in separate JavaScript thread to minimise performance overhead
  • 71. WORKING WITH REACT AND THE CLIENT-SIDE COMPONENT APPROACH ALLOWED US TO DEVELOP THE FEATURE IN PARALLEL TO THE EXISTING ROADMAP
  • 72. CUSTOMERS LOVE THE FEATURE (And we delivered it with a week to spare)
  • 73.
  • 74.
  • 75. OVER 1 MILLION UNIQUE USERS SINCE LAUNCH AND ROUGHLY 1.7 MILLION UNIQUE REQUESTS RECEIVED BY TRADERS
  • 76. THE BITS THAT DIDN’T GO SO WELL
  • 77. BUILT COMPONENTS IN THE UI-LIBRARY TOO SOON
  • 79. SOME FUNCTIONAL TECHNIQUES CAME WITH A STEEP LEARNING CURVE
  • 80. TEAM NAMES MATTER MORE THAN YOU THINK
  • 81. HAVE WELL DOCUMENTED ENGINEERING PRINCIPLES WHICH ARE ACTIVELY DISCUSSED
  • 82.
  • 83. TDD, PAIRING AND CODE REVIEW KEEP THE QUALITY BAR HIGH
  • 85.
  • 86. Create a more engaging customer experience Increase the resilience of our core features Scale our product Scale our teams
  • 87.
  • 88.
  • 89. THANK YOU Ian Thomas – Principal Engineer, Sky Betting & Gaming @anatomic
  • 90. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/monolith- composable-apps