Skip to content

9.0 65 Must Read Books for Coders

Mohan Raj Rajamanickam edited this page Jan 30, 2018 · 3 revisions

Foundational

  • Code Complete: A Practical Handbook of Software Construction, Second Edition
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Structure and Interpretation of Computer Programs
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Head First Design Patterns
  • Refactoring: Improving the Design of Existing Code
  • Working Effectively With Legacy Code

Professional Development

  • The Pragmatic Programmer: From Journeyman to Master
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Passionate Programmer: Creating a Remarkable Career in Software Development
  • The Mythical Man Month
  • Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
  • Coders at Work
  • The Practice of Programming
  • Pragmatic Thinking and Learning: Refactor Your Wetware
  • The Passionate Programmer (My Job Went To India)
  • The Software Craftsman: Professionalism, Pragmatism, Pride

Architecture

  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Patterns of Enterprise Application Architecture
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Refactoring to Patterns
  • Clean Architecture: A Craftsman’s Guide to Software Structure and Design

Agile

  • Agile Software Development, Principles, Patterns and Practices
  • Agile Estimating and Planning
  • User Stories Applied: For Agile Software Development
  • Extreme Programming Explained
  • Practices of an Agile Developer
  • Essential Scrum

Algorithms and Interview Questions

  • Programming Pearls
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Introduction to Algorithms
  • The Art of Computer Programming
  • Grokking Algorithms

Testing / QA

  • Testing Computer Software
  • Test-Driven Development: By Example

Dev Ops

  • Ship it! A Practical Guide to Successful Software Projects
  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  • Release It!

Soft Skills and FUN

Productivity

Compilers/Operating Systems

  • Compilers: Principles, Techniques and Tools

Unix / Linux

  • The Art of Unix Programming
  • Code: The Hidden Language of Computer Hardware and Software
  • Computer Systems

JavaScript

  • JavaScript the Good Parts

Java

  • Thinking in Java
  • Effective Java

C++

  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
  • The Design and Evolution of C++

C#

  • C# In Depth
  • Design Patterns in C# C49
  • Effective C#

C

  • The C Programming Language

Ruby

  • Learn Ruby the Hard Way
  • The Well-Grounded Rubyist
  • Eloquent Ruby

Python

  • Learn Python The Hard Way
  • Think Python: How to Think Like a Computer Scientist