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!
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?
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
17. The Overly Energetic Engineer
•Perfectionist
• High standard for Quality
• Ask a lot of questions
•Focus on key details
•Very critical
• Study a lot
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