10 books that every developer must read

download 10 books that every developer must read

of 12

  • date post

    05-Jan-2017
  • Category

    Software

  • view

    3.066
  • download

    3

Embed Size (px)

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

    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

    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

    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

    http://amzn.com/0201633612

  • 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

    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 Donts

    Universal principles on OO design encapsulated in pithy statements (also cross-referenced and summarized in the end) http://amzn.com/0136291554

    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

    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

    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

    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

    http://amzn.com/0128013974http://www.designsmells.com