Skip to content

Reading List

Here is a list of all the books I plan on reading and writing about on this blog. Any entries which display as a link can be clicked to display all posts relating to that book.

  • Agile Software Development, Principles, Patterns, and Practices
  • Extreme Programming Explained: Embrace Change
  • The Art of Agile Development
  • Succeeding with Agile: Software Development Using Scrum

Analysis

  • User Stories Applied: For Agile Software Development
  • The Visual Display of Quantitative Information
  • Agile Estimating and Planning

Coding

  • Clean Code
  • Code Complete
  • Refactoring: Improving the Design of Existing Code
  • Programming Pearls
  • The C Programming Language
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Head First Design Patterns
  • Effective Java
  • Smalltalk Best Practice Patterns
  • Growing Object-Oriented Software, Guided by Tests
  • Java Concurrency in Practice
  • Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
  • Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
  • Object-Oriented Software Construction

Computer Science

  • Introduction to Algorithms
  • Structure and Interpretation of Computer Programs
  • The Art of Computer Programming
  • Algorithms
  • The Little Schemer

Consulting

  •  The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully 
  •  More Secrets of Consulting: The Consultant’s Tool Kit
  • Influence: The Psychology of Persuasion

Design

  • The Design of Everyday Things: Revised and Expanded Edition
  • Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability
  • About Face: The Essentials of Interaction Design
  • Designing Web Usabillity

Learning/Growth

Miscellaneous

  • Code: The Hidden Language of Computer Hardware and Software
  • Coders at Work: Reflections on the Craft of Programming
  • Gödel, Escher, Bach: An Eternal Golden Braid
  • A Pattern Language: Towns, Buildings, Construction (Center for Environmental Structure)
  • Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values
  • Cracking the Coding Interview: 189 Programming Questions and Solutions
  • Joel on Software

Process

  •  Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

Project Management

  • The Mythical Man Month
  • Rapid Development: Taming Wild Software Schedules
  • Software Estimation: Demystifying the Black Art (Developer Best Practices)

Soft Skills

  • Peopleware: Productive Projects and Teams
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Soft Skills: The software developer’s life manual
  • Failing Forward: Turning Mistakes Into Stepping Stones for Success
  • The Art of Communicating
  • Getting Things Done: The Art of Stress-Free Productivity
  • Deep Work: Rules for Focused Success in a Distracted World

Software Architecture

  • Fundamentals of Software Architecture
  • Patterns of Enterprise Application Architecture
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

Software Craftsmanship

  • The Pragmatic Programmer
  • Working Effectively with Legacy Code
  • Release It!: Design and Deploy Production-Ready Software
  • Refactoring to Patterns
  • How to Design Programs: An Introduction to Programming and Computing