SlideShare a Scribd company logo
HOW TO BE A GOOD
DEVELOPER
SOPHIA DAGLI
What do you see yourself
 In 25 years from now
 In 20 years from now
 In 10 years from now
 In 1 year from now
What is that you going to do ?
 Write Code
 Read Code
 Write Code for reading
 Make money for the code you write
Good Vs Bad Programmer
 A good programmer can be 28+ times
more productive than a bad
programmer.
 A bad programmer will introduce 28+
times more bugs than a good
programmer.
How much does the cost compare for
a bad programmer Vs a bad
programmer ??
Good Vs Bad Programmer
 A programmer spends about 10–20%
of his time writing code, and most
programmers write about 10–12 lines
of code per day that goes into the final
product, regardless of their skill level.
 Why ?
Good Vs Bad Programmer
 Good programmers spend much of
the other 90% thinking, researching,
and experimenting to find the best
design.
 Bad programmers spend much of that
90% debugging code by randomly
making changes and seeing if
they work.
Good Vs Bad Programmer
 Good programmers need minimal
support from their mentors & both get
more time to do more from their time
at work
 Bad Programmer sap the time &
energy of their mentors, if they refused
to learn.
 Whom do you want to work with ?
What do you need to be a good
programmer ??
CHARACTERISTICS OF A
GOOD PROGRAMMER
Humility
Humility
 They don’t mind admitting that they
don’t know something.
 They know that there is nothing wrong
in saying “I don’t know”
 Nor do they harshly judge another
team mate who says that.
Humility
 They share their code with others and
welcome feedback.
 Work hard to swallow their pride and
overcome their fear and shyness of
letting other people review their work.
 they enjoy company of programmers
who are smarter than them
“if you’re not doing a few things where
you’re failing a little, you’re probably not
trying hard enough. I say if everyone
likes you, you probably aren’t doing
anything interesting.”
Curiosity
 They don’t accept things as they are.
 Acts like a compiler !! Scrutinizes each
and every line
 Will ask why why why ?
◦ To himself
◦ To his boss
◦ To his client !!
Ownership
 Looks for the Big-picture perception of
a software.
 Looks at the business oriented
approach to the software.
Attention to Details
 Attention to detail
 Feel very very uncomfortable on
seeing poor code or existing bugs &
would want to fix them.
 Cringe every time they are forced to
put in a patch fix for the benefit of time
and will always go back and put a
better fix whenever they can
 Doesnt ignore a teeny weeny bug
“ Computers are good at following
instructions, but not at reading your
mind. ” - Donald Knuth
Quality
 Writes Clean code
◦ Little or minimal documentation
◦ Clear function / variable names
◦ Small functions
◦ Smart looking code.
Any fool can write code that a computer
can understand. Good programmers
write code that humans can
understand. ~ Martin Fowler
Lazy
Lazy
 They hate doing manual tasks and
therefore invent creative ways to
automate mundane jobs.
 Hate typing (so find innovative ways to
write lesser code).
 Seeks simplicity (Doesn’t like to wack
his brains too much)
“ First, solve the problem. Then, write
the code. ”
Pragmatic
Pragmatic
 Able to make a value judgement about
what is really important
 Values practical outcomes
 Understands priorities. Will ask about
the priority.
 Believes in getting the job done
 Avoids gold plating
creative
 Programming is an ART !
 Sees ways to do things that others
don’t see, comes up with better ways
of doing things, goes beyond.
A student always
 Have a passion for learning
 See learning as an investment
 Spend a lot of time upgrading their
skills and improving their knowledge.
 Learns new language, doesn’t get
scared of any new coding language
(The basics are right).
 Loves getting to learn new languages
A student always
 Spend on books & read them too.
 Read, browse, blog, network, join
forums, attend conferences.
 Get into the trenches try out new
things whenever they can.
 Are tool junkies
Loves working in a team
 Listens to his team members
 Pays respect to his team members
 Gets continuous feedback from his
team members
Works hard and parties
harder
 Manages time effectively for personal
and professional growth.
 Doesn’t bother colleagues
unnecessarily for tea, smoke & loo
breaks.
 Finishes work on time – so never has
to leave late.

More Related Content

What's hot

POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
Mouna Torjmen
 
The virtual DOM and how react uses it internally
The virtual DOM and how react uses it internallyThe virtual DOM and how react uses it internally
The virtual DOM and how react uses it internally
Clóvis Neto
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francaisVlad Posea
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
Tareque Hossain
 
React
ReactReact
React
Mario Uher
 
Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
Rodolfo Finochietti
 
Becoming a better developer by using the SOLID design principles
Becoming a better developer by using the SOLID design principlesBecoming a better developer by using the SOLID design principles
Becoming a better developer by using the SOLID design principles
Katerina Trajchevska
 

What's hot (7)

POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
The virtual DOM and how react uses it internally
The virtual DOM and how react uses it internallyThe virtual DOM and how react uses it internally
The virtual DOM and how react uses it internally
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francais
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
 
React
ReactReact
React
 
Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
 
Becoming a better developer by using the SOLID design principles
Becoming a better developer by using the SOLID design principlesBecoming a better developer by using the SOLID design principles
Becoming a better developer by using the SOLID design principles
 

Viewers also liked

OECD Blue Skies Conference. Sept 2016
OECD Blue Skies Conference. Sept 2016OECD Blue Skies Conference. Sept 2016
OECD Blue Skies Conference. Sept 2016
SPINTAN
 
What Makes A Good Developer
What Makes A Good DeveloperWhat Makes A Good Developer
What Makes A Good Developer
Claire Tran
 
05. 01. esp. tecn.
05. 01. esp. tecn. 05. 01. esp. tecn.
05. 01. esp. tecn.
sadhafz
 
introduction to programmer career path
introduction to programmer career pathintroduction to programmer career path
introduction to programmer career path
Arif Huda
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02
Wingston
 
SEO Master - Tuyet chieu dua website len trang 1 Google
SEO Master - Tuyet chieu dua website len trang 1 GoogleSEO Master - Tuyet chieu dua website len trang 1 Google
SEO Master - Tuyet chieu dua website len trang 1 Google
Nguyễn Trọng Thơ
 
C ppt
C pptC ppt
C ppt
jasmeen kr
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
thinkphp
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programming
avikdhupar
 

Viewers also liked (9)

OECD Blue Skies Conference. Sept 2016
OECD Blue Skies Conference. Sept 2016OECD Blue Skies Conference. Sept 2016
OECD Blue Skies Conference. Sept 2016
 
What Makes A Good Developer
What Makes A Good DeveloperWhat Makes A Good Developer
What Makes A Good Developer
 
05. 01. esp. tecn.
05. 01. esp. tecn. 05. 01. esp. tecn.
05. 01. esp. tecn.
 
introduction to programmer career path
introduction to programmer career pathintroduction to programmer career path
introduction to programmer career path
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02
 
SEO Master - Tuyet chieu dua website len trang 1 Google
SEO Master - Tuyet chieu dua website len trang 1 GoogleSEO Master - Tuyet chieu dua website len trang 1 Google
SEO Master - Tuyet chieu dua website len trang 1 Google
 
C ppt
C pptC ppt
C ppt
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programming
 

Similar to Good Qualities of a developer

10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
Lemi Orhan Ergin
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
Ousman L. Kallay
 
How to Write UX Specs That Make Developers Swoon
How to Write UX Specs That Make Developers SwoonHow to Write UX Specs That Make Developers Swoon
How to Write UX Specs That Make Developers Swoon
Caroline Sober-James
 
The passionate programmer
The passionate programmerThe passionate programmer
The passionate programmer
Mahmoud Tolba
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
Oleg Podsechin
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)
Rachel M. Carmena
 
proper care and feeding for your junior developer
proper care and feeding for your junior developerproper care and feeding for your junior developer
proper care and feeding for your junior developer
Eric St
 
Presentation for JSPM's RSCOE
Presentation for JSPM's RSCOEPresentation for JSPM's RSCOE
Presentation for JSPM's RSCOE
RiteshMenon3
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
RTigger
 
MagmaRails - Passionate Programmer
MagmaRails - Passionate ProgrammerMagmaRails - Passionate Programmer
MagmaRails - Passionate Programmer
Edwin Cruz
 
We design orientation class
We design orientation classWe design orientation class
We design orientation class
MunirMahmud3
 
I Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 DoI Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 Do
Felipe Cerda
 
Pairing w developers_stpconpics
Pairing w developers_stpconpicsPairing w developers_stpconpics
Pairing w developers_stpconpics
Lanette Creamer
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
Siriwat Jithunsa
 
UX class presentation
UX class presentationUX class presentation
UX class presentation
Theo V
 
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
André De Sousa
 
A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)
Crystal Stephan
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
Steven Smith
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
Lemi Orhan Ergin
 
Lessons Learned About Software Development
Lessons Learned About Software DevelopmentLessons Learned About Software Development
Lessons Learned About Software Development
Jeffrey Ryan Thalhammer
 

Similar to Good Qualities of a developer (20)

10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
 
How to Write UX Specs That Make Developers Swoon
How to Write UX Specs That Make Developers SwoonHow to Write UX Specs That Make Developers Swoon
How to Write UX Specs That Make Developers Swoon
 
The passionate programmer
The passionate programmerThe passionate programmer
The passionate programmer
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)
 
proper care and feeding for your junior developer
proper care and feeding for your junior developerproper care and feeding for your junior developer
proper care and feeding for your junior developer
 
Presentation for JSPM's RSCOE
Presentation for JSPM's RSCOEPresentation for JSPM's RSCOE
Presentation for JSPM's RSCOE
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
 
MagmaRails - Passionate Programmer
MagmaRails - Passionate ProgrammerMagmaRails - Passionate Programmer
MagmaRails - Passionate Programmer
 
We design orientation class
We design orientation classWe design orientation class
We design orientation class
 
I Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 DoI Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 Do
 
Pairing w developers_stpconpics
Pairing w developers_stpconpicsPairing w developers_stpconpics
Pairing w developers_stpconpics
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
 
UX class presentation
UX class presentationUX class presentation
UX class presentation
 
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
 
A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Lessons Learned About Software Development
Lessons Learned About Software DevelopmentLessons Learned About Software Development
Lessons Learned About Software Development
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

Good Qualities of a developer

  • 1. HOW TO BE A GOOD DEVELOPER SOPHIA DAGLI
  • 2. What do you see yourself  In 25 years from now  In 20 years from now  In 10 years from now  In 1 year from now
  • 3. What is that you going to do ?  Write Code  Read Code  Write Code for reading  Make money for the code you write
  • 4. Good Vs Bad Programmer  A good programmer can be 28+ times more productive than a bad programmer.  A bad programmer will introduce 28+ times more bugs than a good programmer. How much does the cost compare for a bad programmer Vs a bad programmer ??
  • 5. Good Vs Bad Programmer  A programmer spends about 10–20% of his time writing code, and most programmers write about 10–12 lines of code per day that goes into the final product, regardless of their skill level.  Why ?
  • 6. Good Vs Bad Programmer  Good programmers spend much of the other 90% thinking, researching, and experimenting to find the best design.  Bad programmers spend much of that 90% debugging code by randomly making changes and seeing if they work.
  • 7. Good Vs Bad Programmer  Good programmers need minimal support from their mentors & both get more time to do more from their time at work  Bad Programmer sap the time & energy of their mentors, if they refused to learn.  Whom do you want to work with ?
  • 8. What do you need to be a good programmer ??
  • 11. Humility  They don’t mind admitting that they don’t know something.  They know that there is nothing wrong in saying “I don’t know”  Nor do they harshly judge another team mate who says that.
  • 12. Humility  They share their code with others and welcome feedback.  Work hard to swallow their pride and overcome their fear and shyness of letting other people review their work.  they enjoy company of programmers who are smarter than them
  • 13. “if you’re not doing a few things where you’re failing a little, you’re probably not trying hard enough. I say if everyone likes you, you probably aren’t doing anything interesting.”
  • 14.
  • 15. Curiosity  They don’t accept things as they are.  Acts like a compiler !! Scrutinizes each and every line  Will ask why why why ? ◦ To himself ◦ To his boss ◦ To his client !!
  • 16.
  • 17. Ownership  Looks for the Big-picture perception of a software.  Looks at the business oriented approach to the software.
  • 18.
  • 19. Attention to Details  Attention to detail  Feel very very uncomfortable on seeing poor code or existing bugs & would want to fix them.  Cringe every time they are forced to put in a patch fix for the benefit of time and will always go back and put a better fix whenever they can  Doesnt ignore a teeny weeny bug
  • 20. “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth
  • 21.
  • 22. Quality  Writes Clean code ◦ Little or minimal documentation ◦ Clear function / variable names ◦ Small functions ◦ Smart looking code.
  • 23. Any fool can write code that a computer can understand. Good programmers write code that humans can understand. ~ Martin Fowler
  • 24. Lazy
  • 25. Lazy  They hate doing manual tasks and therefore invent creative ways to automate mundane jobs.  Hate typing (so find innovative ways to write lesser code).  Seeks simplicity (Doesn’t like to wack his brains too much)
  • 26. “ First, solve the problem. Then, write the code. ”
  • 28. Pragmatic  Able to make a value judgement about what is really important  Values practical outcomes  Understands priorities. Will ask about the priority.  Believes in getting the job done  Avoids gold plating
  • 29.
  • 30. creative  Programming is an ART !  Sees ways to do things that others don’t see, comes up with better ways of doing things, goes beyond.
  • 31.
  • 32. A student always  Have a passion for learning  See learning as an investment  Spend a lot of time upgrading their skills and improving their knowledge.  Learns new language, doesn’t get scared of any new coding language (The basics are right).  Loves getting to learn new languages
  • 33. A student always  Spend on books & read them too.  Read, browse, blog, network, join forums, attend conferences.  Get into the trenches try out new things whenever they can.  Are tool junkies
  • 34.
  • 35. Loves working in a team  Listens to his team members  Pays respect to his team members  Gets continuous feedback from his team members
  • 36.
  • 37. Works hard and parties harder  Manages time effectively for personal and professional growth.  Doesn’t bother colleagues unnecessarily for tea, smoke & loo breaks.  Finishes work on time – so never has to leave late.