100 books like The Psychology of Computer Programming

By Gerald M. Weinberg,

Here are 100 books that The Psychology of Computer Programming fans have personally recommended if you like The Psychology of Computer Programming. Shepherd is a community of 11,000+ authors and super readers sharing their favorite books with the world.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

Book cover of Scaling Simplified: A Practitioner's Guide to Scaling Flow

Johanna Rothman Author Of Agile and Lean Program Management: Scaling Collaboration Across the Organization

From my list on scaling agility for fun, profit, development.

Why am I passionate about this?

I’ve managed projects and programs for over forty years. I’ve seen the effects of both good and bad systems on the people who try to do their best work. These books help managers and teams see their systems. How long does a team need to deliver work that fulfills a good objective? Are there systemic blockages that prevent people from doing a good job? These books represent my philosophy: People want to do a good job. When they have clear objectives and know the principles of flow, they can succeed. That’s how I’ve succeeded in my career. You can, too.

Johanna's book list on scaling agility for fun, profit, development

Johanna Rothman Why did Johanna love this book?

When I read the very first page, I had an “aha!” moment. Singh explains that scaling flow, the flow of work through the teams, is the single most important idea in “scaling” agility. That means each team optimizes for their challenges, not a specific process. 

I loved this book because Singh makes the principles of flow easy to understand and apply. That’s the “secret” to scaling agility. 

By Prateek Singh,

Why should I read it?

1 author picked Scaling Simplified as one of their favorite books, and they share why you should read it.

What is this book about?

If you are a large organization that has seen the benefits of Agile approaches on teams, you have either attempted to or talked about scaling Agile. Scaling has become synonymous with overburdened and cumbersome frameworks that create more problems than they solve. We need a simpler solution to the problem of scaling Agile. We need to break this problem down to its basic tenet - Optimizing the flow of value to customers. The strategy of Kanban can be applied to do exactly that. In doing so, we can discard the practices proposed by common Agile scaling frameworks and go to…


Book cover of Actionable Agile Metrics for Predictability: An Introduction

Johanna Rothman Author Of Agile and Lean Program Management: Scaling Collaboration Across the Organization

From my list on scaling agility for fun, profit, development.

Why am I passionate about this?

I’ve managed projects and programs for over forty years. I’ve seen the effects of both good and bad systems on the people who try to do their best work. These books help managers and teams see their systems. How long does a team need to deliver work that fulfills a good objective? Are there systemic blockages that prevent people from doing a good job? These books represent my philosophy: People want to do a good job. When they have clear objectives and know the principles of flow, they can succeed. That’s how I’ve succeeded in my career. You can, too.

Johanna's book list on scaling agility for fun, profit, development

Johanna Rothman Why did Johanna love this book?

I used to wonder why I “always” chose the wrong line—at the gas pump, the grocery store, and airport security. Then, I read this book and learned about Little’s Law. That changed how I saw the world. Instead of always looking for the shortest line, I learned to look for the line with the fastest throughput. 

Seeing the world differently matters even more if we want effective product development—especially when the problem requires multiple teams to collaborate. The more collaboration we need across teams, as in a program of work, the more we need to look for throughput.  

Read this book, and you, too, will see the world differently.

By Daniel S. Vacanti,

Why should I read it?

1 author picked Actionable Agile Metrics for Predictability as one of their favorite books, and they share why you should read it.

What is this book about?

“When will it be done?” That is probably the first question your customers ask you once you start working on something for them. Think about how many times you have been asked that question. How many times have you ever actually been right? We can debate all we want whether this is a fair question to ask given the tremendous amount of uncertainty in knowledge work, but the truth of the matter is that our customers are going to inquire about completion time whether we like it or not. Which means we need to come up with an accurate way…


Book cover of Succeeding with OKRs in Agile: How to create & deliver objectives & key results for teams

Johanna Rothman Author Of Agile and Lean Program Management: Scaling Collaboration Across the Organization

From my list on scaling agility for fun, profit, development.

Why am I passionate about this?

I’ve managed projects and programs for over forty years. I’ve seen the effects of both good and bad systems on the people who try to do their best work. These books help managers and teams see their systems. How long does a team need to deliver work that fulfills a good objective? Are there systemic blockages that prevent people from doing a good job? These books represent my philosophy: People want to do a good job. When they have clear objectives and know the principles of flow, they can succeed. That’s how I’ve succeeded in my career. You can, too.

Johanna's book list on scaling agility for fun, profit, development

Johanna Rothman Why did Johanna love this book?

I love goals that tell me where the product needs to go now and help me see the big, audacious goal at the end. While many other OKR books focus on the now, Kelly’s book also helps me see that end goal. 

Kelly’s approach to OKRs supports larger efforts, such as programs, with this pragmatic idea: “Bigger team, fewer OKRs.” Why fewer? Because that focuses all the teams on one big goal at a time. The more we consider flow and Little’s Law, the more we realize one goal is the right number for an agile program.

By Allan Kelly,

Why should I read it?

1 author picked Succeeding with OKRs in Agile as one of their favorite books, and they share why you should read it.

What is this book about?

Get aligned, work seamlessly and hit goals efficiently - what are you waiting for?

“This book is full of great insights and guidance around OKRs backed by multiple real examples that will be helpful in a number of domains" Nicolas Brown, Agile Coach

OKRs are about goals bigger than the next story, or even epic. They prioritise purpose and strategy over the ever looming, high maintenance backlogs we all know too well.

OKRs are important to agile teams because they deal with the big things, they inspire forward thinking, encourage engage senior leaders, and help debug strategy.

Acclaimed author Allan…


Book cover of This is Lean: Resolving the Efficiency Paradox

Johanna Rothman Author Of Agile and Lean Program Management: Scaling Collaboration Across the Organization

From my list on scaling agility for fun, profit, development.

Why am I passionate about this?

I’ve managed projects and programs for over forty years. I’ve seen the effects of both good and bad systems on the people who try to do their best work. These books help managers and teams see their systems. How long does a team need to deliver work that fulfills a good objective? Are there systemic blockages that prevent people from doing a good job? These books represent my philosophy: People want to do a good job. When they have clear objectives and know the principles of flow, they can succeed. That’s how I’ve succeeded in my career. You can, too.

Johanna's book list on scaling agility for fun, profit, development

Johanna Rothman Why did Johanna love this book?

While I always knew there was something else that reflected true organizational efficiency, I didn’t know what it was until I read this book. This book introduced me to the idea of “flow efficiency,” instead of “resource efficiency.”

Too often, managers think the world is more efficient if they slice the work and create handoffs from one expert to the next. But that creates delays and waste in the system. Worse, when we try to “scale” efforts, all those handoffs get larger and larger. Read this book to start seeing the world differently and consider what you can do to create real efficiency in your organization.

By Niklas Modig, Pär Åhlström,

Why should I read it?

1 author picked This is Lean as one of their favorite books, and they share why you should read it.

What is this book about?

This-is-Lean


Book cover of Quality Software Management, Volume 1: Systems Thinking

Markus Gärtner Author Of ATDD by Example: A Practical Guide to Acceptance Test-Driven Development

From my list on surviving the Agile world as a software tester.

Why am I passionate about this?

Markus Gärtner works as Organizational Design Consultant, Certified Scrum Trainer, and Agile Coach for it-agile GmbH, Hamburg, Germany. Markus, author of ATDD by Example - A Practical Guide to Acceptance Test-Driven Development, a student of the work of Jerry Weinberg, received the Most Influential Agile Testing Professional Person Award in 2013 and contributes to the Softwerkskammer, the German Software Craft movement. Markus regularly presents at Agile and testing conferences all over the globe, as well as dedicating himself to writing about agile software development, software craft, and software testing, foremost in an Agile context.

Markus' book list on surviving the Agile world as a software tester

Markus Gärtner Why did Markus love this book?

Gerald M. – Jerry – Weinberg is my most-often quoted author.

Having spent more than 50 years in the software world, Jerry was able to write in a timeless manner about the lessons he learned. Over the years, he collected more and more stories he survived from, including all aspects that brings software from an idea to a product that everyone can use.

In this first volume in his Quality Software Management series, he will extend your perspective with Causal-Loop Diagrams and thereby introduce you to the world of Thinking in Systems.

The takeaways from his stories are fostered in easy-to-remember laws and principles that he gives you as a free takeaway summary in the end as well. Extend your perspective on managing for quality rather than staying oblivious.

By Gerald M. Weinberg,

Why should I read it?

1 author picked Quality Software Management, Volume 1 as one of their favorite books, and they share why you should read it.

What is this book about?

In this first volume of the Quality Software Management series, Gerald M. Weinberg tackles the first requirement for developing quality software: learning to think correctly -- about problems, solutions, and quality itself.

Guidelines on management are introduced to stimulate the kind of thinking needed.


Book cover of JavaScript: The Good Parts: The Good Parts

Jeff Langr Author Of Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better

From my list on doing it right in your programming language.

Why am I passionate about this?

I love computer programming books almost as much as I love computer programming. As a high school student in 1980 I remember typing in really frustrating source code from the book BASIC Computer Games. Was programming meant to be a black art? Was code supposed to be an impenetrable mess of buried intent? When I started getting paid to program, I was happy to see that the answer to both questions was "no." I began to seek and enjoy books that espoused the "right" way to code in a given language. Here is a handful of books that have helped me and countless others learn to produce correct, clear, and maintainable code.

Jeff's book list on doing it right in your programming language

Jeff Langr Why did Jeff love this book?

During my first few weeks of JavaScript coding, I encountered what seemed to be an endless number of head-scratching moments: "I'm slowly reading the few lines of code I just wrote, it seems fine, so why isn't it doing what it looks like it should be doing?" Even more insidious at times than C++, JavaScript contains a number of fairly clever constructs, including things like hoisting, duck typing, and a loosey-goosey argument passing mechanism. This concise tome of fewer than 175 pages helped get me past those first few months, and as an author-stated goal, it helped me "learn to think in JavaScript."

By Douglas Crockford,

Why should I read it?

1 author picked JavaScript as one of their favorite books, and they share why you should read it.

What is this book about?

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole-a subset you can use to create truly extensible and efficient code. Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose…


Book cover of Effective C++: 55 Specific Ways to Improve Your Programs and Designs

Jeff Langr Author Of Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better

From my list on doing it right in your programming language.

Why am I passionate about this?

I love computer programming books almost as much as I love computer programming. As a high school student in 1980 I remember typing in really frustrating source code from the book BASIC Computer Games. Was programming meant to be a black art? Was code supposed to be an impenetrable mess of buried intent? When I started getting paid to program, I was happy to see that the answer to both questions was "no." I began to seek and enjoy books that espoused the "right" way to code in a given language. Here is a handful of books that have helped me and countless others learn to produce correct, clear, and maintainable code.

Jeff's book list on doing it right in your programming language

Jeff Langr Why did Jeff love this book?

C++ is a tricky, beastly language, and there are no end of ways to program either incorrectly or inefficiently with it. Meyer's 1991 book set the bar high for similar books to come, providing great, detailed explanations about the language's pitfalls and how to avoid them. After reading Effective C++, though, you might find yourself wondering why you are coding in C++: The tips reveal so many insidious ways to shoot yourself in the foot, and worse, sometimes in a way that you won't even notice that your little toe is missing.

Effective C++ and the two follow-ons are essential reading for anyone working in C++. Nowadays you can purchase a digital edition that provides 140 total ways—adding in 50 additional tips from More Effective C++ and 40 from Effective STL.

By Scott Meyers,

Why should I read it?

1 author picked Effective C++ as one of their favorite books, and they share why you should read it.

What is this book about?

"Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you've never read Effective C++ and you think you know everything about C++, think again."
- Steve Schirripa, Software Engineer, Google "C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott's deep insight and distinctive ability to impart knowledge."
- Gerhard Kreuzer, Research and Development Engineer, Siemens AG The first two editions of…


Book cover of Practical Object-Oriented Design: An Agile Primer Using Ruby

Jeff Langr Author Of Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better

From my list on doing it right in your programming language.

Why am I passionate about this?

I love computer programming books almost as much as I love computer programming. As a high school student in 1980 I remember typing in really frustrating source code from the book BASIC Computer Games. Was programming meant to be a black art? Was code supposed to be an impenetrable mess of buried intent? When I started getting paid to program, I was happy to see that the answer to both questions was "no." I began to seek and enjoy books that espoused the "right" way to code in a given language. Here is a handful of books that have helped me and countless others learn to produce correct, clear, and maintainable code.

Jeff's book list on doing it right in your programming language

Jeff Langr Why did Jeff love this book?

When learning a new language, you'll want to avoid the mistake of assuming that you can adapt your old way of doing things to your new language (like I first tried many years ago). Even though Java and Ruby are both object-oriented languages, the "right" approach to implementing things is dramatically different between the two. Practical Object-Oriented Design in Ruby makes it easy to learn how to apply object-oriented design and to implement the code properly in Ruby, making your system easier to change as it grows.

By Sandi Metz,

Why should I read it?

1 author picked Practical Object-Oriented Design as one of their favorite books, and they share why you should read it.

What is this book about?

The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications





Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples.



Sandi Metz demonstrates how to build new applications that can "survive success" and repair existing applications that have become impossible to change. Each technique is illustrated…


Book cover of Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Christopher Trudeau Author Of Django in Action

From my list on books for coders shelf.

Why am I passionate about this?

My first computer was an early IBM PC back when all my friends had Commodores they used for gaming. Not being able to share their games meant I had to do something else, so I read the Introduction to Basic book that came in the box. I’ve been coding, reading about coding, writing about coding, teaching about coding, and talking about coding ever since. The world of technology moves so fast that it is hard to keep up. If you’ve taken one of my courses or listened to The Real Python Podcast, I hope you’ve heard about my passion for the topic. 

Christopher's book list on books for coders shelf

Christopher Trudeau Why did Christopher love this book?

When I work with students new to programming I often find they struggle with translating the toy problems in exercises to actually doing something in the real world.

I love this book and frequently recommend it to new programmers because it is centered around problems. Coding should be about making your life easier. At the beginning, the problems are small, but by the end, you’re learning about email, PDFs, and GUIs.

Sweigart has a great voice, and reading this feels like being guided by a friend rather than yet another coding textbook.

By Al Sweigart,

Why should I read it?

1 author picked Automate the Boring Stuff with Python as one of their favorite books, and they share why you should read it.

What is this book about?

In this second edition of Automate the Boring Stuff with Python, you'll learn the basics of programming in Python, the fastest growing programming language today, before moving on to create Python programs that effortlessly perform useful and impressive feats of automation. This updated edition is full of step-by-step instructions that walk through each programme. Practice projects at the end of each chapter challenge you to improve those programmes and use your newfound skills to automate similar tasks.


Book cover of Smalltalk Best Practice Patterns

Philipp Fehre Author Of JavaScript Domain-Driven Design

From my list on learning from programming classics.

Why am I passionate about this?

Computers have fascinated me since my childhood, having fond memories of my dad's ZX81, but even so I played around I was never truly captured by the programming until I recognized it as a way of writing rather than raw engineering. Through my studies of media sciences I found my fascination with how language can shape perception, and through my work in developer advocacy, I found how communities are shaped as well. Now I am fascinated with how different programming languages can shape thinking, having had the opportunity to solve problems at large companies in nonmainstream languages.

Philipp's book list on learning from programming classics

Philipp Fehre Why did Philipp love this book?

Smalltalk is not as common or popular as it once was, but the influence its design had on programming is hard to overstate.

Reading this book has changed how I think about object orientation, and how I design systems, learning the patterns of Smalltalk makes it clear what object oriented design is really intended to achieve.

By Kent Beck,

Why should I read it?

2 authors picked Smalltalk Best Practice Patterns as one of their favorite books, and they share why you should read it.

What is this book about?

This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they work. Next, the book introduces proven patterns for working with methods, messages, state, collections, classes and formatting. Finally, the book walks through a development example utilizing patterns. For programmers, project managers, teachers and students -- both new and experienced. This book…


5 book lists we think you will like!

Interested in psychology, computer programming, and presidential biography?

Psychology 1,893 books