SlideShare a Scribd company logo
1 of 21
Getting excited about maintaining
legacy systems
Blanca Garcia Gil
Principal Systems Engineer, BBC
@blanquish
Different flavours of legacy
Turns out I’m not the only one excited
https://twitter.com/monicalent/status/1068812692931178496
Legacy provides an opportunity for learning
https://twitter.com/monicalent/status/1068812694084562944
The legacy landscape
https://twitter.com/monicalent/status/1068812695502245889
Legacy code has been part
of every job I’ve had
A recent personal story…
Joined a team at the BBC where there
had been a high churn
Big data
pipeline
Old version of Apache Spark, running
on an old version of AWS EMR.
Code hard to understand, nearly no
tests.
Made a few changes to it, but feared
we were introducing further problems
System was in “limp home mode”
until its replacement came.
How we approached this
Facing the unknown
-Positive attitude, use appropriate words to describe without taking it
down every time.
- See it as valuable work
- Don’t criticize people!
- Engage your curiosity: think of it as a learning opportunity
- Maintaining systems helps us learn if the assumptions made
became true or not, so it is a way to close the feedback loop
Changing our mindset
as a starting point
“Operating under
constraints, is the key to
creativity and fun.”
- Ian Bogost
https://ideas-ted-com.cdn.ampproject.org/c/s/ideas.ted.com/want-to-be-
less-distracted-try-this-find-the-fun-in-tedious-tasks/amp/
Learning mindset
- Use it as a time to understand assumptions and constraints
previous developers worked under, also their biases
- Reading other people’s code is a skill to develop too!
- Share learnings: take others on the journey with you. Take the time
to explain why certain solution was ok or not.
- Observing vs reacting
“Fun is the aftermath of
deliberately manipulating a
familiar situation in a new
way.”
- Ian Bogost.
https://ideas-ted-com.cdn.ampproject.org/c/s/ideas.ted.com/want-to-be-
less-distracted-try-this-find-the-fun-in-tedious-tasks/amp/
Psychological safety
- Get support and support those working on it with you, it is a team
exercise
- Check in with each other!
- Create an atmosphere where there are no stupid questions
- If things are not working for you, discuss and try to find a balance
How this story ends
- Deprecated system in February 2019
- Onboarded more people to the team working on the new system,
applied lessons learnt
What you can do to prevent future
pains?
- Document decisions
- Document limitations of the system
- Tests as living documentation
Thank you!
@blanquish

More Related Content

What's hot

London Hacker Forum
London Hacker ForumLondon Hacker Forum
London Hacker ForumOllie Glass
 
Experiment 4. Create your food web.
Experiment 4. Create your food web.Experiment 4. Create your food web.
Experiment 4. Create your food web.Chema Jimeno Sabadú
 
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013Puppet
 
Removing the Distance from Distance Learning
Removing the Distance from Distance LearningRemoving the Distance from Distance Learning
Removing the Distance from Distance LearningDean Shareski
 

What's hot (6)

London Hacker Forum
London Hacker ForumLondon Hacker Forum
London Hacker Forum
 
Experiment 4. Create your food web.
Experiment 4. Create your food web.Experiment 4. Create your food web.
Experiment 4. Create your food web.
 
Smarter, faster & more efficient!
Smarter, faster & more efficient!Smarter, faster & more efficient!
Smarter, faster & more efficient!
 
GSD
GSDGSD
GSD
 
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013
Stop Hiring Devops Experts (And Start Growing Them) - PuppetConf 2013
 
Removing the Distance from Distance Learning
Removing the Distance from Distance LearningRemoving the Distance from Distance Learning
Removing the Distance from Distance Learning
 

Similar to Getting excited about maintaining legacy systems

PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationClaudio Perrone
 
The Power of Retrospection
The Power of RetrospectionThe Power of Retrospection
The Power of RetrospectionNaresh Jain
 
Refactoring (the brain) for developers
Refactoring (the brain) for developers Refactoring (the brain) for developers
Refactoring (the brain) for developers Ionel Condor
 
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Antwerp Meetup
 
Engineering your culture / Oren Ellenbogen
Engineering your culture  / Oren EllenbogenEngineering your culture  / Oren Ellenbogen
Engineering your culture / Oren Ellenbogengeektimecoil
 
Beyond Four Walls
Beyond Four WallsBeyond Four Walls
Beyond Four WallsKarl Kapp
 
A Family That Hacks Together, Interacts Together!
A Family That Hacks Together, Interacts Together!A Family That Hacks Together, Interacts Together!
A Family That Hacks Together, Interacts Together!Daniel Davis
 
What designers of artificial companions need to understand about biological ones
What designers of artificial companions need to understand about biological onesWhat designers of artificial companions need to understand about biological ones
What designers of artificial companions need to understand about biological onesAaron Sloman
 
Sit ber ajo_010918_dt
Sit ber ajo_010918_dtSit ber ajo_010918_dt
Sit ber ajo_010918_dtAnne Johnson
 
Intro to Design Thinking
Intro to Design ThinkingIntro to Design Thinking
Intro to Design ThinkingMike Krieger
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachKarl Kapp
 
Health + care sprint school ppt final
Health + care sprint school ppt finalHealth + care sprint school ppt final
Health + care sprint school ppt finalDesign Lab
 
Creative Instructional Design
Creative Instructional DesignCreative Instructional Design
Creative Instructional DesignLearning Pool Ltd
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
Agile leadership practices for PIONEERS
 Agile leadership practices for PIONEERS Agile leadership practices for PIONEERS
Agile leadership practices for PIONEERSStefan Haas
 
Design Thinking by Mark Uraine
Design Thinking by Mark UraineDesign Thinking by Mark Uraine
Design Thinking by Mark UraineMark Uraine
 
2022 Resources to Create Space and Build Resilience
2022 Resources to Create Space and Build Resilience2022 Resources to Create Space and Build Resilience
2022 Resources to Create Space and Build ResilienceJack Pringle
 

Similar to Getting excited about maintaining legacy systems (20)

PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
 
The Power of Retrospection
The Power of RetrospectionThe Power of Retrospection
The Power of Retrospection
 
Refactoring (the brain) for developers
Refactoring (the brain) for developers Refactoring (the brain) for developers
Refactoring (the brain) for developers
 
Multiple Intelligence Theory in an Agile Environment
Multiple Intelligence Theory in an Agile EnvironmentMultiple Intelligence Theory in an Agile Environment
Multiple Intelligence Theory in an Agile Environment
 
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
 
Engineering your culture / Oren Ellenbogen
Engineering your culture  / Oren EllenbogenEngineering your culture  / Oren Ellenbogen
Engineering your culture / Oren Ellenbogen
 
Beyond Four Walls
Beyond Four WallsBeyond Four Walls
Beyond Four Walls
 
A Family That Hacks Together, Interacts Together!
A Family That Hacks Together, Interacts Together!A Family That Hacks Together, Interacts Together!
A Family That Hacks Together, Interacts Together!
 
What designers of artificial companions need to understand about biological ones
What designers of artificial companions need to understand about biological onesWhat designers of artificial companions need to understand about biological ones
What designers of artificial companions need to understand about biological ones
 
Sit ber ajo_010918_dt
Sit ber ajo_010918_dtSit ber ajo_010918_dt
Sit ber ajo_010918_dt
 
Intro to Design Thinking
Intro to Design ThinkingIntro to Design Thinking
Intro to Design Thinking
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the Beach
 
Health + care sprint school ppt final
Health + care sprint school ppt finalHealth + care sprint school ppt final
Health + care sprint school ppt final
 
Creative Instructional Design
Creative Instructional DesignCreative Instructional Design
Creative Instructional Design
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
Agile leadership practices for PIONEERS
 Agile leadership practices for PIONEERS Agile leadership practices for PIONEERS
Agile leadership practices for PIONEERS
 
Speed Thinking E Book
Speed Thinking E BookSpeed Thinking E Book
Speed Thinking E Book
 
Design Thinking by Mark Uraine
Design Thinking by Mark UraineDesign Thinking by Mark Uraine
Design Thinking by Mark Uraine
 
MVP Hacks
MVP HacksMVP Hacks
MVP Hacks
 
2022 Resources to Create Space and Build Resilience
2022 Resources to Create Space and Build Resilience2022 Resources to Create Space and Build Resilience
2022 Resources to Create Space and Build Resilience
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 

Getting excited about maintaining legacy systems

  • 1. Getting excited about maintaining legacy systems Blanca Garcia Gil Principal Systems Engineer, BBC @blanquish
  • 3. Turns out I’m not the only one excited https://twitter.com/monicalent/status/1068812692931178496
  • 4. Legacy provides an opportunity for learning https://twitter.com/monicalent/status/1068812694084562944
  • 6. Legacy code has been part of every job I’ve had
  • 7. A recent personal story…
  • 8. Joined a team at the BBC where there had been a high churn
  • 10. Old version of Apache Spark, running on an old version of AWS EMR. Code hard to understand, nearly no tests.
  • 11. Made a few changes to it, but feared we were introducing further problems System was in “limp home mode” until its replacement came.
  • 13. Facing the unknown -Positive attitude, use appropriate words to describe without taking it down every time. - See it as valuable work - Don’t criticize people! - Engage your curiosity: think of it as a learning opportunity - Maintaining systems helps us learn if the assumptions made became true or not, so it is a way to close the feedback loop
  • 14. Changing our mindset as a starting point
  • 15. “Operating under constraints, is the key to creativity and fun.” - Ian Bogost https://ideas-ted-com.cdn.ampproject.org/c/s/ideas.ted.com/want-to-be- less-distracted-try-this-find-the-fun-in-tedious-tasks/amp/
  • 16. Learning mindset - Use it as a time to understand assumptions and constraints previous developers worked under, also their biases - Reading other people’s code is a skill to develop too! - Share learnings: take others on the journey with you. Take the time to explain why certain solution was ok or not. - Observing vs reacting
  • 17. “Fun is the aftermath of deliberately manipulating a familiar situation in a new way.” - Ian Bogost. https://ideas-ted-com.cdn.ampproject.org/c/s/ideas.ted.com/want-to-be- less-distracted-try-this-find-the-fun-in-tedious-tasks/amp/
  • 18. Psychological safety - Get support and support those working on it with you, it is a team exercise - Check in with each other! - Create an atmosphere where there are no stupid questions - If things are not working for you, discuss and try to find a balance
  • 19. How this story ends - Deprecated system in February 2019 - Onboarded more people to the team working on the new system, applied lessons learnt
  • 20. What you can do to prevent future pains? - Document decisions - Document limitations of the system - Tests as living documentation

Editor's Notes

  1. Raise hands if you have worked on a code base older than 1 year? 5? 10? 20 years? Raise them again if you enjoyed it Sometimes legacy is not necessarily old software, but that which is not in active development
  2. - We will touch on this more a little later (learning opportunities)
  3. Batch overnight process (1+ billion records) and it failed constantly