SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
! 
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; 
}
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
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

Mais conteúdo relacionado

Mais procurados

So, you wanna be a pen tester
So, you wanna be a pen testerSo, you wanna be a pen tester
So, you wanna be a pen testerAdrien de Beaupre
 
Rita Bush - How to Use Games to Mitigate Cognitive Bias in Analysis
Rita Bush - How to Use Games to Mitigate Cognitive Bias in AnalysisRita Bush - How to Use Games to Mitigate Cognitive Bias in Analysis
Rita Bush - How to Use Games to Mitigate Cognitive Bias in AnalysisSeriousGamesAssoc
 
2014 11-25-sbc322-experiments
2014 11-25-sbc322-experiments2014 11-25-sbc322-experiments
2014 11-25-sbc322-experimentsYannick Wurm
 
Questions of Ethics in Software Development
Questions of Ethics in Software DevelopmentQuestions of Ethics in Software Development
Questions of Ethics in Software DevelopmentJane Prusakova
 

Mais procurados (7)

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

Semelhante a 5 People that Grow Legacy Code

Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for BeginnersSebastian Schürmann
 
Carrier guidance for tech
Carrier guidance for techCarrier guidance for tech
Carrier guidance for techMahesh Arali
 
How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewPerl Careers
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype TestingDave Hora
 
So, you wanna be a pen tester ctsc2017
So, you wanna be a pen tester   ctsc2017So, you wanna be a pen tester   ctsc2017
So, you wanna be a pen tester ctsc2017Adrien de Beaupre
 
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...Glen Cathey
 
DevOps and the Impostor Syndrome
DevOps and the Impostor SyndromeDevOps and the Impostor Syndrome
DevOps and the Impostor SyndromePeter Varhol
 
Preparing for a technical interview
Preparing for a technical interviewPreparing for a technical interview
Preparing for a technical interviewpocketgems
 
Habits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn VerburgHabits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn VerburgJAXLondon2014
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
UX Field Research Basics, Abstractions 2019
UX Field Research Basics, Abstractions 2019UX Field Research Basics, Abstractions 2019
UX Field Research Basics, Abstractions 2019David Farkas
 
Habits of Highly Effective Teams
Habits of Highly Effective TeamsHabits of Highly Effective Teams
Habits of Highly Effective TeamsjClarity
 
Effective Tools for Effective Change
Effective Tools for Effective ChangeEffective Tools for Effective Change
Effective Tools for Effective ChangeJennifer Davis
 
Whose work is it anyway?
Whose work is it anyway?Whose work is it anyway?
Whose work is it anyway?Andrew Savory
 
Simon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair TestingSimon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair TestingAnna Royzman
 
UCL Research Software Development and Digital Humanities
UCL Research Software Development and Digital Humanities UCL Research Software Development and Digital Humanities
UCL Research Software Development and Digital Humanities Raquel Alegre
 

Semelhante a 5 People that Grow Legacy Code (20)

Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for Beginners
 
Walls agile2013
Walls agile2013Walls agile2013
Walls agile2013
 
Carrier guidance for tech
Carrier guidance for techCarrier guidance for tech
Carrier guidance for tech
 
How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
Project 2016
Project 2016Project 2016
Project 2016
 
So, you wanna be a pen tester ctsc2017
So, you wanna be a pen tester   ctsc2017So, you wanna be a pen tester   ctsc2017
So, you wanna be a pen tester ctsc2017
 
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
SourceCon Atlanta 2013 Presentation: How to Hire and Build Your Own Sourcing ...
 
DevOps and the Impostor Syndrome
DevOps and the Impostor SyndromeDevOps and the Impostor Syndrome
DevOps and the Impostor Syndrome
 
Preparing for a technical interview
Preparing for a technical interviewPreparing for a technical interview
Preparing for a technical interview
 
Habits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn VerburgHabits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn Verburg
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
UX Field Research Basics, Abstractions 2019
UX Field Research Basics, Abstractions 2019UX Field Research Basics, Abstractions 2019
UX Field Research Basics, Abstractions 2019
 
Habits of Highly Effective Teams
Habits of Highly Effective TeamsHabits of Highly Effective Teams
Habits of Highly Effective Teams
 
Effective Tools for Effective Change
Effective Tools for Effective ChangeEffective Tools for Effective Change
Effective Tools for Effective Change
 
Whose work is it anyway?
Whose work is it anyway?Whose work is it anyway?
Whose work is it anyway?
 
Simon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair TestingSimon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair Testing
 
Final project
Final projectFinal project
Final project
 
UCL Research Software Development and Digital Humanities
UCL Research Software Development and Digital Humanities UCL Research Software Development and Digital Humanities
UCL Research Software Development and Digital Humanities
 
Thinking Skills
Thinking SkillsThinking Skills
Thinking Skills
 

Mais de Roberto Cortez

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

Mais de Roberto Cortez (15)

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

Último

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.pptxHampshireHUG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 

Último (20)

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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 

5 People 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: radcortez@yahoo.com ! 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; }
  • 10.
  • 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
  • 26.
  • 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: radcortez@yahoo.com ! blog: http://www.radcortez.com