SlideShare a Scribd company logo
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

More Related Content

DOCX
Oa 4 month exp
PDF
Demo the reactive jargons
PDF
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
PDF
Machine learning workshop
PDF
Learning to Translate with Joey NMT
PPTX
Fine tuning large LMs
PDF
Barcelona ML Meetup - Lessons Learned
PDF
Open source ml systems that need to be built
Oa 4 month exp
Demo the reactive jargons
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Machine learning workshop
Learning to Translate with Joey NMT
Fine tuning large LMs
Barcelona ML Meetup - Lessons Learned
Open source ml systems that need to be built

What's hot (17)

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

Viewers also liked (14)

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

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

PPS
Scrum For Developers
PDF
Living documentation mini-workshop
PPT
Agile Methodologies And Extreme Programming - Svetlin Nakov
PDF
Scrumban
PDF
Technical Writing Overview: WTD Nigeria
PPT
Agile Methodologies And Extreme Programming
PDF
Growing up new PostgreSQL developers (pgcon.org 2018)
PPTX
Exploring the Real Power of Functional Programming
PPTX
Scrum in-a-flash
PDF
Why You're A Bad PHP Programmer
PDF
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
PDF
Introducing Agile Methodologies
PPT
icebreakerwithdevops-150218112943-conversion-gate02
PPTX
2024.04 - AI in Code Generation - April User Group Meeting
PPTX
AI in Code Generation - March User Group
PDF
Picking the right architecture and sticking to it
PDF
Learning to code in 2020
PPTX
Autotools, Design Patterns and more
PDF
Extreme Programming - to the next-level
PDF
Programming languages and concepts by vivek parihar
Scrum For Developers
Living documentation mini-workshop
Agile Methodologies And Extreme Programming - Svetlin Nakov
Scrumban
Technical Writing Overview: WTD Nigeria
Agile Methodologies And Extreme Programming
Growing up new PostgreSQL developers (pgcon.org 2018)
Exploring the Real Power of Functional Programming
Scrum in-a-flash
Why You're A Bad PHP Programmer
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Introducing Agile Methodologies
icebreakerwithdevops-150218112943-conversion-gate02
2024.04 - AI in Code Generation - April User Group Meeting
AI in Code Generation - March User Group
Picking the right architecture and sticking to it
Learning to code in 2020
Autotools, Design Patterns and more
Extreme Programming - to the next-level
Programming languages and concepts by vivek parihar

More from Ganesh Samarthyam (20)

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

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Complete React Javascript Course Syllabus.pdf
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
AI in Product Development-omnex systems
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
medical staffing services at VALiNTRY
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Digital Strategies for Manufacturing Companies
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
ai tools demonstartion for schools and inter college
PPTX
Transform Your Business with a Software ERP System
PPTX
Essential Infomation Tech presentation.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Understanding Forklifts - TECH EHS Solution
PTS Company Brochure 2025 (1).pdf.......
Operating system designcfffgfgggggggvggggggggg
Complete React Javascript Course Syllabus.pdf
Materi-Enum-and-Record-Data-Type (1).pptx
How to Migrate SBCGlobal Email to Yahoo Easily
AI in Product Development-omnex systems
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
medical staffing services at VALiNTRY
Upgrade and Innovation Strategies for SAP ERP Customers
Digital Strategies for Manufacturing Companies
ManageIQ - Sprint 268 Review - Slide Deck
ai tools demonstartion for schools and inter college
Transform Your Business with a Software ERP System
Essential Infomation Tech presentation.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
Online Work Permit System for Fast Permit Processing
Understanding Forklifts - TECH EHS Solution

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