Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
! 
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: 
radc...
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.” 
(fr...
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 "Tu...
public static int getTokenCounter(String[] tokens) { 
int j = 0; 
if (tokens.length >= 5) { 
j = 5; 
} 
else if (tokens.le...
Legacy Code is 
•Unknown 
•Scary 
•Ignored
Legacy Code is everywhere 
• Huge investments in software are to solve 
business problems, not code problems 
•Technology ...
How many frameworks?
Identify the Source! 
• Code is written by developers 
•Tools can help, but they are not enough 
• Developers are the main...
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 detail...
The 
Technology 
Enthusiast
The Technology Enthusiast 
•Very enthusiast about their work 
• Friendly and open 
• Speak a lot 
• Optimist 
•Wish to be ...
The 
Firefighter
The Firefighter 
• Enjoy helping others 
• Like to work in teams 
•Patient 
• Calm people in stressful situations 
• Inves...
The 
Smartass
The Smartass 
•Focus on instant results 
• Demands from others 
•Impatient 
• Like to accept challenges 
•Impose their rul...
The Intern
The Intern 
• Developers starting their own career 
• It’s a temporary stage 
• They need to learn
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...
Everyone is 
Different!
The Overly Energetic Engineer 
• Delegate them important tasks 
• Give them opportunities to show their skills 
• Provide ...
The Technology Enthusiast 
• Don’t let them rearchitect 
• Clarify how things should be done 
• Research facts for the pro...
The Firefighter 
•You shouldn’t pressure them 
• They need to feel confidence 
• Provide them with accurate information 
•...
The Smartass 
•Have all relevant information with you 
• Provide them with end solutions 
• Present alternatives 
• Give t...
You have 
the tools!
Remarks 
•People are not exclusive to one profile 
• They can adopt any behaviour or even a 
combination 
•Usually, one pr...
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
The 5 People in your Organization that grow Legacy Code
The 5 People in your Organization that grow Legacy Code
Upcoming SlideShare
Loading in …5
×

The 5 People in your Organization that grow Legacy Code

6,844 views

Published on

Have you ever looked at a random piece of code and wanted to rewrite it so badly? It’s natural to have legacy code in your application at some point. It’s something that you need to accept and learn to live with. So is this a lost cause? Should we just throw in the towel and give up? Hell no! Over the years, I learned to identify 5 main creators/enablers of legacy code on the engineering side, which I’m sharing here with you using real development stories (with a little humour in the mix). Learn to keep them in line and your code will live longer!

Published in: Technology

The 5 People in your Organization that grow Legacy Code

  1. 1. ! The 5 people in your Organization that grow Legacy Code Roberto Cortez JavaOne 2014 #CON4255
  2. 2. Roberto Cortez Freelancer, Speaker, RebelLabs Author, Blogger, Passionate Developer twitter: @radcortez ! mail: radcortez@yahoo.com ! blog: http://www.radcortez.com
  3. 3. This presentation is NOT about •Testing •Tools • Refactoring • Or any other thing that you heard before (hopefully)!
  4. 4. It’s about • Knowing yourself • Knowing others • Dealing with each other differences
  5. 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?
  6. 6. Movie Time! https://www.youtube.com/watch?v=PF7EpEnglgk
  7. 7. What is Legacy Code? • Is it old code? • Is it code no one wants to use? • Or is just badly written code?
  8. 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. 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; }
  10. 10. Legacy Code is •Unknown •Scary •Ignored
  11. 11. 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
  12. 12. How many frameworks?
  13. 13. Identify the Source! • Code is written by developers •Tools can help, but they are not enough • Developers are the main contributors!
  14. 14. The Overly Energetic Engineer ! The Technology Enthusiast ! The Firefighter ! The Smartass ! The Intern
  15. 15. The Overly Energetic Engineer
  16. 16. The Overly Energetic Engineer •Perfectionist • High standard for Quality • Ask a lot of questions •Focus on key details •Very critical • Study a lot
  17. 17. The Technology Enthusiast
  18. 18. The Technology Enthusiast •Very enthusiast about their work • Friendly and open • Speak a lot • Optimist •Wish to be recognised by their skills
  19. 19. The Firefighter
  20. 20. The Firefighter • Enjoy helping others • Like to work in teams •Patient • Calm people in stressful situations • Investigate facts
  21. 21. The Smartass
  22. 22. The Smartass •Focus on instant results • Demands from others •Impatient • Like to accept challenges •Impose their rules • Lead other people
  23. 23. The Intern
  24. 24. The Intern • Developers starting their own career • It’s a temporary stage • They need to learn
  25. 25. Golden Rule? “Treat others the way you want to be treated!” WRONG!
  26. 26. Golden Rule! •Everyone is different! •Everyone have different needs! • Psychology is tied with everything we do •Learn how to handle each profile
  27. 27. Everyone is Different!
  28. 28. The Overly Energetic Engineer • Delegate them important tasks • Give them opportunities to show their skills • Provide freedom to explore • Assign investigation work
  29. 29. 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
  30. 30. 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
  31. 31. The Smartass •Have all relevant information with you • Provide them with end solutions • Present alternatives • Give them facts and direct answers
  32. 32. You have the tools!
  33. 33. Remarks •People are not exclusive to one profile • They can adopt any behaviour or even a combination •Usually, one profile more predominant
  34. 34. Proof? ! Empirical Data!
  35. 35. Inspiration •Heavily inspired in DISC •Behaviour assessment tool • Dominance, Influence, Steadiness, Conscientiousness
  36. 36. Wait! The Intern? • Invest • Promote peer code reviews • Quick presentations about technology •Teach them!
  37. 37. Last Words!
  38. 38. Golden Rule? You can drive people’s behaviour by learning how to accommodate each person unique characteristics!
  39. 39. Questions?
  40. 40. Thank you for Attending! twitter: @radcortez ! mail: radcortez@yahoo.com ! blog: http://www.radcortez.com

×