10 books that every developer must read

12
Ganesh Samarthyam 10 BOOKS THAT EVERY DEVELOPER MUST READ

Transcript of 10 books that every developer must read

Page 1: 10 books that every developer must read

Ganesh Samarthyam

10 BOOKS THAT EVERY DEVELOPER MUST READ

Page 2: 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 bookshelf http://amzn.com/0201657880

Page 3: 10 books that every developer must read

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

Page 4: 10 books that every developer must read

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

Page 5: 10 books that every developer must read

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

Page 6: 10 books that every developer must read

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

Page 7: 10 books that every developer must read

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

Page 8: 10 books that every developer must read

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

Page 9: 10 books that every developer must read

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

Page 10: 10 books that every developer must read

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

Page 11: 10 books that every developer must read
Page 12: 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 projects http://amzn.com/0128013974

www.designsmells.com