SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Ganesh Samarthyam
10 BOOKS THAT EVERY DEVELOPER
MUST READ
PROGRAMMING PEARLS
➤ Commitment to continuous
learning and focusing on
foundational aspects is an
important characteristic of an
excellent developer
➤ Programming pearls brings us
back-to-the-basics and helps us
revisit key topics such as
algorithm design in specific
and writing high-performance
code in general
➤ This is yet another timeless
classic that should be in every
developers bookshelfhttp://amzn.com/0201657880
CODE COMPLETE
➤ In programming, it is difficult
to make even the smallest of
decisions
➤ Which variable name or
control structure to use? To
comment or not to
comment? Should I refactor
this code?
➤ This book covers provides a
big-picture for software
development and also delves
into minute details
http://amzn.com/0735619670
THE PRAGMATIC PROGRAMMER
➤ This classic book provides
valuable and practical advice
to programmers
➤ Not specific to any language
or technology
➤ Provides specific “tips”
➤ My favourite: Tip 35 -
“Finish what you start”
➤ I got exposed to concepts such
as “broken window theory”
from this book
http://amzn.com/020161622X
DESIGN PATTERNS
➤ Classic work on patterns
➤ Provides insights on
creating effective object
oriented designs
➤ Generic “reusable” design
knowledge
➤ This is not a book that you can
read from front to back cover
➤ I come back to reading it for
getting inspiration from time-
to-time (e.g., the initial
chapter is a “treatise” on OO)
http://amzn.com/020163361
REFACTORING
➤ Classic work on refactoring
➤ Provides insights on
emergent design and how
to create and evolve quality
software
➤ This book covers foundational
aspects, process and
mechanics of refactoring
➤ Written in a free-flowing and
easy-to-read style
➤ Inspiration for writers like
me
http://amzn.com/0201485672
OBJECT ORIENTED SOFTWARE CONSTRUCTION
➤ Excellent book on object
oriented programming and
design
➤ Learning OO features is easy,
but mastering OO design is
difficult
➤ Explicitly mentions “Dos
and Don’t’s”
➤ Universal principles on OO
design encapsulated in
pithy statements (also
cross-referenced and
summarized in the end)http://amzn.com/0136291554
THE MYTHICAL MAN-MONTH
➤ In my first-job, I understood
that software development is
much more than programming
➤ Mythical man-month is a old
book (1975!) but what it
discusses still remains relevant
➤ Few years back I came
across a project where the
project manager was adding
people to a late project
➤ Wanted to tell him: "adding
manpower to a late software
project makes it later"
http://amzn.com/0201835959
EXTREME PROGRAMMING EXPLAINED
➤ Kent Beck is one of those
amazing programmers
➤ He explains his approach
towards software development
in XP (Extreme Programming)
➤ Many practices such as writing
tests before code (TDD), pair
programming, etc are now
widely accepted (aside: XP is
still evolving)
➤ I like this book because of its
pragmatic view on software
development practices
http://amzn.com/0321278658
AGILE SOFTWARE DEVELOPMENT
➤ Robert C Martin is another
programmer that I greatly
admire
➤ His important contribution:
documenting key design
principles such as Single
Responsibility Principle
(SRP), Dependency Inversion
Principle (DIP), and Interface
Segregation Principle (DSP)
➤ This book provides his
perspective towards software
design and development
http://amzn.com/0135974445
SHAMELESS SELF-PROMOTION
➤ Check out our book on
refactoring
➤ Why care about software design
viewed from the perspective of
technical debt
➤ Covers 25 design smells
classified as violation of the
principles of abstraction,
encapsulation, modularization,
or hierarchy
➤ Interesting anecdotes and case
studies reported from the
trenches working in real-world
projectshttp://amzn.com/0128013974
www.designsmells.com

Más contenido relacionado

La actualidad más candente

[Impl] neural machine translation
[Impl] neural machine translation[Impl] neural machine translation
[Impl] neural machine translationJaeHo Jang
 
Recommending for the World
Recommending for the WorldRecommending for the World
Recommending for the WorldYves Raimond
 
Recommending the world's knowledge
Recommending the world's knowledgeRecommending the world's knowledge
Recommending the world's knowledgeLei Yang
 
A gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisA gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisLewis Lin 🦊
 
Model Drift Monitoring using Tensorflow Model Analysis
Model Drift Monitoring using Tensorflow Model AnalysisModel Drift Monitoring using Tensorflow Model Analysis
Model Drift Monitoring using Tensorflow Model AnalysisVivek Raja P S
 
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016MLconf
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixJustin Basilico
 
Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)Nikhil Garg
 
Machine learning introduction
Machine learning introductionMachine learning introduction
Machine learning introductionKevin Jackson
 
Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Gianmario Spacagna
 
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...Justin Basilico
 
Tips for data science competitions
Tips for data science competitionsTips for data science competitions
Tips for data science competitionsOwen Zhang
 
NLP Transfer learning platform
NLP Transfer learning platformNLP Transfer learning platform
NLP Transfer learning platformmanusuryavansh
 

La actualidad más candente (17)

[Impl] neural machine translation
[Impl] neural machine translation[Impl] neural machine translation
[Impl] neural machine translation
 
Recommending for the World
Recommending for the WorldRecommending for the World
Recommending for the World
 
Exploring French Job Ads, Lynn Cherny
Exploring French Job Ads, Lynn ChernyExploring French Job Ads, Lynn Cherny
Exploring French Job Ads, Lynn Cherny
 
Recommending the world's knowledge
Recommending the world's knowledgeRecommending the world's knowledge
Recommending the world's knowledge
 
A gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisA gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysis
 
Model Drift Monitoring using Tensorflow Model Analysis
Model Drift Monitoring using Tensorflow Model AnalysisModel Drift Monitoring using Tensorflow Model Analysis
Model Drift Monitoring using Tensorflow Model Analysis
 
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 
Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)
 
Machine learning introduction
Machine learning introductionMachine learning introduction
Machine learning introduction
 
Go fundamentals
Go fundamentalsGo fundamentals
Go fundamentals
 
Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...
 
AdaptiveMT in SDL Trados Studio 2017
AdaptiveMT in SDL Trados Studio 2017AdaptiveMT in SDL Trados Studio 2017
AdaptiveMT in SDL Trados Studio 2017
 
Overview of programming paradigms
Overview of programming paradigmsOverview of programming paradigms
Overview of programming paradigms
 
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...
Is that a Time Machine? Some Design Patterns for Real World Machine Learning ...
 
Tips for data science competitions
Tips for data science competitionsTips for data science competitions
Tips for data science competitions
 
NLP Transfer learning platform
NLP Transfer learning platformNLP Transfer learning platform
NLP Transfer learning platform
 

Destacado

10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a JournalLouis-Xavier Lavallée
 
Parcours Santé Croix des gardes
Parcours Santé Croix des gardesParcours Santé Croix des gardes
Parcours Santé Croix des gardesChristian Giordano
 
Dreamforce to You Helsinki 3.11.2016
Dreamforce to You Helsinki 3.11.2016Dreamforce to You Helsinki 3.11.2016
Dreamforce to You Helsinki 3.11.2016Salesforce_Nordics
 
Gamification - The Trail to Awesome Adoption
Gamification - The Trail to Awesome AdoptionGamification - The Trail to Awesome Adoption
Gamification - The Trail to Awesome AdoptionLouise Lockie
 
L’avis client comme source d’inspiration marketing
L’avis client comme source d’inspiration marketing L’avis client comme source d’inspiration marketing
L’avis client comme source d’inspiration marketing Thomas d'Artiref
 
75seconds video proposal
75seconds video proposal75seconds video proposal
75seconds video proposalRahul Panwar
 
5 Steps for Building an Ideal Company culture (and what to watch out for!)
5 Steps for Building an Ideal Company culture (and what to watch out for!)5 Steps for Building an Ideal Company culture (and what to watch out for!)
5 Steps for Building an Ideal Company culture (and what to watch out for!)Qualtrics
 
TEDxZhuhai Speech 20150920
TEDxZhuhai  Speech 20150920TEDxZhuhai  Speech 20150920
TEDxZhuhai Speech 20150920Lawrence Wang
 
My stroke of insight Tedx talk by jill taylor
My stroke of insight Tedx talk by jill taylorMy stroke of insight Tedx talk by jill taylor
My stroke of insight Tedx talk by jill taylorSameer Mathur
 
2016 Salesforce Release Highlights
2016 Salesforce Release Highlights2016 Salesforce Release Highlights
2016 Salesforce Release HighlightsThinqloud
 
Ted Talk by Amy Cuddy
Ted Talk by Amy CuddyTed Talk by Amy Cuddy
Ted Talk by Amy CuddySameer Mathur
 
Will the 9th U.N. secretary-general be a woman?
Will the 9th U.N. secretary-general be a woman?Will the 9th U.N. secretary-general be a woman?
Will the 9th U.N. secretary-general be a woman?Devex
 
10 key marketing_trends_for_2016
10 key marketing_trends_for_201610 key marketing_trends_for_2016
10 key marketing_trends_for_2016Carmen Ruiz
 

Destacado (14)

10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal
 
Parcours Santé Croix des gardes
Parcours Santé Croix des gardesParcours Santé Croix des gardes
Parcours Santé Croix des gardes
 
Dreamforce to You Helsinki 3.11.2016
Dreamforce to You Helsinki 3.11.2016Dreamforce to You Helsinki 3.11.2016
Dreamforce to You Helsinki 3.11.2016
 
Gamification - The Trail to Awesome Adoption
Gamification - The Trail to Awesome AdoptionGamification - The Trail to Awesome Adoption
Gamification - The Trail to Awesome Adoption
 
L’avis client comme source d’inspiration marketing
L’avis client comme source d’inspiration marketing L’avis client comme source d’inspiration marketing
L’avis client comme source d’inspiration marketing
 
Data Creativity Report
Data Creativity ReportData Creativity Report
Data Creativity Report
 
75seconds video proposal
75seconds video proposal75seconds video proposal
75seconds video proposal
 
5 Steps for Building an Ideal Company culture (and what to watch out for!)
5 Steps for Building an Ideal Company culture (and what to watch out for!)5 Steps for Building an Ideal Company culture (and what to watch out for!)
5 Steps for Building an Ideal Company culture (and what to watch out for!)
 
TEDxZhuhai Speech 20150920
TEDxZhuhai  Speech 20150920TEDxZhuhai  Speech 20150920
TEDxZhuhai Speech 20150920
 
My stroke of insight Tedx talk by jill taylor
My stroke of insight Tedx talk by jill taylorMy stroke of insight Tedx talk by jill taylor
My stroke of insight Tedx talk by jill taylor
 
2016 Salesforce Release Highlights
2016 Salesforce Release Highlights2016 Salesforce Release Highlights
2016 Salesforce Release Highlights
 
Ted Talk by Amy Cuddy
Ted Talk by Amy CuddyTed Talk by Amy Cuddy
Ted Talk by Amy Cuddy
 
Will the 9th U.N. secretary-general be a woman?
Will the 9th U.N. secretary-general be a woman?Will the 9th U.N. secretary-general be a woman?
Will the 9th U.N. secretary-general be a woman?
 
10 key marketing_trends_for_2016
10 key marketing_trends_for_201610 key marketing_trends_for_2016
10 key marketing_trends_for_2016
 

Similar a 10 books that every developer must read

Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshopMatthias Noback
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaMargaret Fero
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Aleksander Alekseev
 
Exploring the Real Power of Functional Programming
Exploring the Real Power of Functional ProgrammingExploring the Real Power of Functional Programming
Exploring the Real Power of Functional ProgrammingKnoldus Inc.
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsRehgan Avon
 
Introducing Agile Methodologies
Introducing Agile MethodologiesIntroducing Agile Methodologies
Introducing Agile MethodologiesStfalcon Meetups
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02Manohar Kumar
 
2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meetingpetercaitens1
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to itPetter Holmström
 
Autotools, Design Patterns and more
Autotools, Design Patterns and moreAutotools, Design Patterns and more
Autotools, Design Patterns and moreVicente Bolea
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-levelLars Thorup
 
Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharVivek Parihar
 
HOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxHOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxssuser62b2da
 

Similar a 10 books that every developer must read (20)

Scrum For Developers
Scrum For DevelopersScrum For Developers
Scrum For Developers
 
Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshop
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Scrumban
Scrumban Scrumban
Scrumban
 
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD Nigeria
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)
 
Exploring the Real Power of Functional Programming
Exploring the Real Power of Functional ProgrammingExploring the Real Power of Functional Programming
Exploring the Real Power of Functional Programming
 
Scrum in-a-flash
Scrum in-a-flashScrum in-a-flash
Scrum in-a-flash
 
Why You're A Bad PHP Programmer
Why You're A Bad PHP ProgrammerWhy You're A Bad PHP Programmer
Why You're A Bad PHP Programmer
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Introducing Agile Methodologies
Introducing Agile MethodologiesIntroducing Agile Methodologies
Introducing Agile Methodologies
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to it
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
Autotools, Design Patterns and more
Autotools, Design Patterns and moreAutotools, Design Patterns and more
Autotools, Design Patterns and more
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-level
 
Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek parihar
 
HOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxHOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptx
 

Más de Ganesh Samarthyam

Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeGanesh Samarthyam
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”Ganesh Samarthyam
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGanesh Samarthyam
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionGanesh Samarthyam
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeGanesh Samarthyam
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesGanesh Samarthyam
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationGanesh Samarthyam
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterGanesh Samarthyam
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Ganesh Samarthyam
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ Ganesh Samarthyam
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckGanesh Samarthyam
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageGanesh Samarthyam
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Ganesh Samarthyam
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz QuestionsGanesh Samarthyam
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz QuestionsGanesh Samarthyam
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizGanesh Samarthyam
 

Más de Ganesh Samarthyam (20)

Wonders of the Sea
Wonders of the SeaWonders of the Sea
Wonders of the Sea
 
Animals - for kids
Animals - for kids Animals - for kids
Animals - for kids
 
Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in Practice
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't Enough
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - Description
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean Code
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on Examples
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief Presentation
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - Poster
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship Deck
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz Questions
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Docker by Example - Quiz
Docker by Example - QuizDocker by Example - Quiz
Docker by Example - Quiz
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quiz
 

Último

Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainAbdul Ahad
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotEdgard Alejos
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 

Último (20)

Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software Domain
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform Copilot
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 

10 books that every developer must read

  • 1. Ganesh Samarthyam 10 BOOKS THAT EVERY DEVELOPER MUST READ
  • 2. PROGRAMMING PEARLS ➤ Commitment to continuous learning and focusing on foundational aspects is an important characteristic of an excellent developer ➤ Programming pearls brings us back-to-the-basics and helps us revisit key topics such as algorithm design in specific and writing high-performance code in general ➤ This is yet another timeless classic that should be in every developers bookshelfhttp://amzn.com/0201657880
  • 3. CODE COMPLETE ➤ In programming, it is difficult to make even the smallest of decisions ➤ Which variable name or control structure to use? To comment or not to comment? Should I refactor this code? ➤ This book covers provides a big-picture for software development and also delves into minute details http://amzn.com/0735619670
  • 4. THE PRAGMATIC PROGRAMMER ➤ This classic book provides valuable and practical advice to programmers ➤ Not specific to any language or technology ➤ Provides specific “tips” ➤ My favourite: Tip 35 - “Finish what you start” ➤ I got exposed to concepts such as “broken window theory” from this book http://amzn.com/020161622X
  • 5. DESIGN PATTERNS ➤ Classic work on patterns ➤ Provides insights on creating effective object oriented designs ➤ Generic “reusable” design knowledge ➤ This is not a book that you can read from front to back cover ➤ I come back to reading it for getting inspiration from time- to-time (e.g., the initial chapter is a “treatise” on OO) http://amzn.com/020163361
  • 6. REFACTORING ➤ Classic work on refactoring ➤ Provides insights on emergent design and how to create and evolve quality software ➤ This book covers foundational aspects, process and mechanics of refactoring ➤ Written in a free-flowing and easy-to-read style ➤ Inspiration for writers like me http://amzn.com/0201485672
  • 7. OBJECT ORIENTED SOFTWARE CONSTRUCTION ➤ Excellent book on object oriented programming and design ➤ Learning OO features is easy, but mastering OO design is difficult ➤ Explicitly mentions “Dos and Don’t’s” ➤ Universal principles on OO design encapsulated in pithy statements (also cross-referenced and summarized in the end)http://amzn.com/0136291554
  • 8. THE MYTHICAL MAN-MONTH ➤ In my first-job, I understood that software development is much more than programming ➤ Mythical man-month is a old book (1975!) but what it discusses still remains relevant ➤ Few years back I came across a project where the project manager was adding people to a late project ➤ Wanted to tell him: "adding manpower to a late software project makes it later" http://amzn.com/0201835959
  • 9. EXTREME PROGRAMMING EXPLAINED ➤ Kent Beck is one of those amazing programmers ➤ He explains his approach towards software development in XP (Extreme Programming) ➤ Many practices such as writing tests before code (TDD), pair programming, etc are now widely accepted (aside: XP is still evolving) ➤ I like this book because of its pragmatic view on software development practices http://amzn.com/0321278658
  • 10. AGILE SOFTWARE DEVELOPMENT ➤ Robert C Martin is another programmer that I greatly admire ➤ His important contribution: documenting key design principles such as Single Responsibility Principle (SRP), Dependency Inversion Principle (DIP), and Interface Segregation Principle (DSP) ➤ This book provides his perspective towards software design and development http://amzn.com/0135974445
  • 11.
  • 12. SHAMELESS SELF-PROMOTION ➤ Check out our book on refactoring ➤ Why care about software design viewed from the perspective of technical debt ➤ Covers 25 design smells classified as violation of the principles of abstraction, encapsulation, modularization, or hierarchy ➤ Interesting anecdotes and case studies reported from the trenches working in real-world projectshttp://amzn.com/0128013974 www.designsmells.com