10 books that every developer must read
-
Upload
ganesh-samarthyam -
Category
Software
-
view
3.075 -
download
3
Transcript of 10 books that every developer must read
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 bookshelf http://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 projects http://amzn.com/0128013974
www.designsmells.com