! 
The 5 people in your 
Organization that grow 
Legacy Code 
Roberto Cortez 
JavaOne 2014 
#CON4255
Roberto Cortez 
Freelancer, Speaker, RebelLabs Author, Blogger, Passionate Developer 
twitter: 
@radcortez 
! 
mail: 
radcortez@yahoo.com 
! 
blog: 
http://www.radcortez.com
This presentation is NOT about 
•Testing 
•Tools 
• Refactoring 
• Or any other thing that you heard before (hopefully)!
It’s about 
• Knowing yourself 
• Knowing others 
• Dealing with each other differences
“In historical terms, a legacy is something 
that is handed down from one period of 
time to another period of time.” 
(from Wikipedia) 
What is Legacy?
Movie Time! 
https://www.youtube.com/watch?v=PF7EpEnglgk
What is Legacy Code? 
• Is it old code? 
• Is it code no one wants to use? 
• Or is just badly written code?
public static String getDayOfWeek(String data) { 
switch (getDOWNum(data)) { 
case 1: return "Monday"; 
case 2: return "Tuesday"; 
case 3: return "Wednesday"; 
case 4: return "Thursday"; 
case 5: return "Friday"; 
case 6: return "Saturday"; 
case 7: return "Sunday"; 
} 
return ("???"); 
}
public static int getTokenCounter(String[] tokens) { 
int j = 0; 
if (tokens.length >= 5) { 
j = 5; 
} 
else if (tokens.length == 4) { 
j = 4; 
} 
else if (tokens.length == 3) { 
j = 3; 
} 
else if (tokens.length == 2) { 
j = 2; 
} 
else if (tokens.length == 1) { 
j = 1; 
} 
return j; 
}
The 5 People in your Organization that grow Legacy Code
Legacy Code is 
•Unknown 
•Scary 
•Ignored
Legacy Code is everywhere 
• Huge investments in software are to solve 
business problems, not code problems 
•Technology evolves way faster than software 
•New frameworks are released every year
How many frameworks?
Identify the Source! 
• Code is written by developers 
•Tools can help, but they are not enough 
• Developers are the main contributors!
The Overly Energetic Engineer 
! 
The Technology Enthusiast 
! 
The Firefighter 
! 
The Smartass 
! 
The Intern
The Overly 
Energetic 
Engineer
The Overly Energetic Engineer 
•Perfectionist 
• High standard for Quality 
• Ask a lot of questions 
•Focus on key details 
•Very critical 
• Study a lot
The 
Technology 
Enthusiast
The Technology Enthusiast 
•Very enthusiast about their work 
• Friendly and open 
• Speak a lot 
• Optimist 
•Wish to be recognised by their skills
The 
Firefighter
The Firefighter 
• Enjoy helping others 
• Like to work in teams 
•Patient 
• Calm people in stressful situations 
• Investigate facts
The 
Smartass
The Smartass 
•Focus on instant results 
• Demands from others 
•Impatient 
• Like to accept challenges 
•Impose their rules 
• Lead other people
The Intern
The Intern 
• Developers starting their own career 
• It’s a temporary stage 
• They need to learn
The 5 People in your Organization that grow Legacy Code
Golden Rule? 
“Treat others the way 
you want to be treated!” 
WRONG!
Golden Rule! 
•Everyone is different! 
•Everyone have different needs! 
• Psychology is tied with everything we do 
•Learn how to handle each profile
Everyone is 
Different!
The Overly Energetic Engineer 
• Delegate them important tasks 
• Give them opportunities to show their skills 
• Provide freedom to explore 
• Assign investigation work
The Technology Enthusiast 
• Don’t let them rearchitect 
• Clarify how things should be done 
• Research facts for the problems 
•Need to be included in decision making
The Firefighter 
•You shouldn’t pressure them 
• They need to feel confidence 
• Provide them with accurate information 
• They may need a step-by-step plan to proceed
The Smartass 
•Have all relevant information with you 
• Provide them with end solutions 
• Present alternatives 
• Give them facts and direct answers
You have 
the tools!
Remarks 
•People are not exclusive to one profile 
• They can adopt any behaviour or even a 
combination 
•Usually, one profile more predominant
Proof? 
! 
Empirical 
Data!
Inspiration 
•Heavily inspired in DISC 
•Behaviour assessment tool 
• Dominance, Influence, Steadiness, 
Conscientiousness
Wait! The Intern? 
• Invest 
• Promote peer code reviews 
• Quick presentations about technology 
•Teach them!
Last Words!
Golden Rule? 
You can drive people’s behaviour by 
learning how to accommodate each 
person unique characteristics!
Questions?
Thank you for Attending! 
twitter: 
@radcortez 
! 
mail: 
radcortez@yahoo.com 
! 
blog: 
http://www.radcortez.com

More Related Content

PDF
What Makes A Great Data Scientist?
PDF
Hack It 'Til You Make It: Acing The Technical Interview
PDF
Hiring a dev
PPT
Ava presentation
PPTX
Software requirement specification handouts
PPT
Open hardware summit 2017: open hardware for humanitarian aid
PDF
Fundamentals of MATLAB for neuroscience research
What Makes A Great Data Scientist?
Hack It 'Til You Make It: Acing The Technical Interview
Hiring a dev
Ava presentation
Software requirement specification handouts
Open hardware summit 2017: open hardware for humanitarian aid
Fundamentals of MATLAB for neuroscience research

What's hot (7)

PDF
C1 into to ai
PPTX
So, you wanna be a pen tester
PDF
Twelve tips on how to prepare an ERC grant proposal
PDF
Innovation n a Nutshell
PPT
Rita Bush - How to Use Games to Mitigate Cognitive Bias in Analysis
PDF
2014 11-25-sbc322-experiments
PPTX
Questions of Ethics in Software Development
C1 into to ai
So, you wanna be a pen tester
Twelve tips on how to prepare an ERC grant proposal
Innovation n a Nutshell
Rita Bush - How to Use Games to Mitigate Cognitive Bias in Analysis
2014 11-25-sbc322-experiments
Questions of Ethics in Software Development
Ad

Similar to The 5 People in your Organization that grow Legacy Code (20)

PDF
Social Human Architecture for Beginners
PPT
Walls agile2013
PPTX
Carrier guidance for tech
PPTX
How to Prepare for and Survive a Technical Interview
PDF
Learn Learning + Prototype Testing
PPTX
Putting the "You" in User Research: Usability Lessons for Young Software Dev...
PPTX
Project 2016
PDF
So, you wanna be a pen tester ctsc2017
PPTX
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
PPTX
DevOps and the Impostor Syndrome
PPTX
research-problems-slides for research ..
PPTX
Preparing for a technical interview
PDF
Habits of Highly Effective Technical Teams - Martijn Verburg
PDF
Code Review Matters and Manners
PDF
UX Field Research Basics, Abstractions 2019
PDF
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
PDF
Habits of Highly Effective Teams
PDF
Effective Tools for Effective Change
PDF
Whose work is it anyway?
PDF
Simon Peter Schrjver: Pair Testing
Social Human Architecture for Beginners
Walls agile2013
Carrier guidance for tech
How to Prepare for and Survive a Technical Interview
Learn Learning + Prototype Testing
Putting the "You" in User Research: Usability Lessons for Young Software Dev...
Project 2016
So, you wanna be a pen tester ctsc2017
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
DevOps and the Impostor Syndrome
research-problems-slides for research ..
Preparing for a technical interview
Habits of Highly Effective Technical Teams - Martijn Verburg
Code Review Matters and Manners
UX Field Research Basics, Abstractions 2019
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Habits of Highly Effective Teams
Effective Tools for Effective Change
Whose work is it anyway?
Simon Peter Schrjver: Pair Testing
Ad

More from Roberto Cortez (15)

PDF
Chasing the RESTful Trinity - Client CLI and Documentation
PDF
Baking a Microservice PI(e)
PDF
GraalVM and MicroProfile - A Polyglot Microservices Solution
PDF
Deconstructing and Evolving REST Security
PDF
Lightweight Enterprise Java With Microprofile
PDF
Cluster your MicroProfile Application using CDI and JCache
PDF
Java EE 7 meets Java 8
PDF
Maven - Taming the Beast
PDF
The First Contact with Java EE 7
PDF
Migration tales from java ee 5 to 7
PDF
Development Horror Stories
PDF
Java EE 7 Batch processing in the Real World
PDF
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
PDF
Coimbra JUG - 2º Encontro - O primeiro contacto com Java EE 7
PDF
Coimbra JUG - 1º Encontro - As novidades do Java 8
Chasing the RESTful Trinity - Client CLI and Documentation
Baking a Microservice PI(e)
GraalVM and MicroProfile - A Polyglot Microservices Solution
Deconstructing and Evolving REST Security
Lightweight Enterprise Java With Microprofile
Cluster your MicroProfile Application using CDI and JCache
Java EE 7 meets Java 8
Maven - Taming the Beast
The First Contact with Java EE 7
Migration tales from java ee 5 to 7
Development Horror Stories
Java EE 7 Batch processing in the Real World
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Coimbra JUG - 2º Encontro - O primeiro contacto com Java EE 7
Coimbra JUG - 1º Encontro - As novidades do Java 8

Recently uploaded (20)

PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
Internet of Everything -Basic concepts details
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
MuleSoft-Compete-Deck for midddleware integrations
NewMind AI Weekly Chronicles – August ’25 Week IV
CEH Module 2 Footprinting CEH V13, concepts
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Electrocardiogram sequences data analytics and classification using unsupervi...
Ensemble model-based arrhythmia classification with local interpretable model...
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Build Real-Time ML Apps with Python, Feast & NoSQL
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Rapid Prototyping: A lecture on prototyping techniques for interface design
Internet of Everything -Basic concepts details
Introduction to MCP and A2A Protocols: Enabling Agent Communication
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Co-training pseudo-labeling for text classification with support vector machi...
Data Virtualization in Action: Scaling APIs and Apps with FME
A symptom-driven medical diagnosis support model based on machine learning te...
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf

The 5 People in your Organization that grow Legacy Code

  • 1. ! The 5 people in your Organization that grow Legacy Code Roberto Cortez JavaOne 2014 #CON4255
  • 2. Roberto Cortez Freelancer, Speaker, RebelLabs Author, Blogger, Passionate Developer twitter: @radcortez ! mail: [email protected] ! blog: http://www.radcortez.com
  • 3. This presentation is NOT about •Testing •Tools • Refactoring • Or any other thing that you heard before (hopefully)!
  • 4. It’s about • Knowing yourself • Knowing others • Dealing with each other differences
  • 5. “In historical terms, a legacy is something that is handed down from one period of time to another period of time.” (from Wikipedia) What is Legacy?
  • 7. What is Legacy Code? • Is it old code? • Is it code no one wants to use? • Or is just badly written code?
  • 8. public static String getDayOfWeek(String data) { switch (getDOWNum(data)) { case 1: return "Monday"; case 2: return "Tuesday"; case 3: return "Wednesday"; case 4: return "Thursday"; case 5: return "Friday"; case 6: return "Saturday"; case 7: return "Sunday"; } return ("???"); }
  • 9. public static int getTokenCounter(String[] tokens) { int j = 0; if (tokens.length >= 5) { j = 5; } else if (tokens.length == 4) { j = 4; } else if (tokens.length == 3) { j = 3; } else if (tokens.length == 2) { j = 2; } else if (tokens.length == 1) { j = 1; } return j; }
  • 11. Legacy Code is •Unknown •Scary •Ignored
  • 12. Legacy Code is everywhere • Huge investments in software are to solve business problems, not code problems •Technology evolves way faster than software •New frameworks are released every year
  • 14. Identify the Source! • Code is written by developers •Tools can help, but they are not enough • Developers are the main contributors!
  • 15. The Overly Energetic Engineer ! The Technology Enthusiast ! The Firefighter ! The Smartass ! The Intern
  • 17. The Overly Energetic Engineer •Perfectionist • High standard for Quality • Ask a lot of questions •Focus on key details •Very critical • Study a lot
  • 19. The Technology Enthusiast •Very enthusiast about their work • Friendly and open • Speak a lot • Optimist •Wish to be recognised by their skills
  • 21. The Firefighter • Enjoy helping others • Like to work in teams •Patient • Calm people in stressful situations • Investigate facts
  • 23. The Smartass •Focus on instant results • Demands from others •Impatient • Like to accept challenges •Impose their rules • Lead other people
  • 25. The Intern • Developers starting their own career • It’s a temporary stage • They need to learn
  • 27. Golden Rule? “Treat others the way you want to be treated!” WRONG!
  • 28. Golden Rule! •Everyone is different! •Everyone have different needs! • Psychology is tied with everything we do •Learn how to handle each profile
  • 30. The Overly Energetic Engineer • Delegate them important tasks • Give them opportunities to show their skills • Provide freedom to explore • Assign investigation work
  • 31. The Technology Enthusiast • Don’t let them rearchitect • Clarify how things should be done • Research facts for the problems •Need to be included in decision making
  • 32. The Firefighter •You shouldn’t pressure them • They need to feel confidence • Provide them with accurate information • They may need a step-by-step plan to proceed
  • 33. The Smartass •Have all relevant information with you • Provide them with end solutions • Present alternatives • Give them facts and direct answers
  • 34. You have the tools!
  • 35. Remarks •People are not exclusive to one profile • They can adopt any behaviour or even a combination •Usually, one profile more predominant
  • 37. Inspiration •Heavily inspired in DISC •Behaviour assessment tool • Dominance, Influence, Steadiness, Conscientiousness
  • 38. Wait! The Intern? • Invest • Promote peer code reviews • Quick presentations about technology •Teach them!
  • 40. Golden Rule? You can drive people’s behaviour by learning how to accommodate each person unique characteristics!
  • 42. Thank you for Attending! twitter: @radcortez ! mail: [email protected] ! blog: http://www.radcortez.com