SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
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
10 books that every developer must read
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

Mais conteúdo relacionado

Mais procurados

[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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 
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
 

Semelhante 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
 
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
 
Debugging 2013- Lars pedersen
Debugging 2013- Lars pedersenDebugging 2013- Lars pedersen
Debugging 2013- Lars pedersen
 

Mais 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
 

Mais 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

Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 

Último (20)

Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 

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
  • 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