Here are 82 books that Working in Public fans have personally recommended if you like Working in Public. Book DNA is a community of 12,000+ authors and super readers sharing their favorite books with the world.

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

Book cover of The Design of Everyday Things

Arthur O'Dwyer Author Of Mastering the C++17 STL

From my list on budding C plus plus software engineer.

Why am I passionate about this?

The art of computer programming is a lot like the art of writing: It's not just about what your program says but about how it says it. One of the reasons I like the C and C++ languages—which I picked up in the late 1990s and haven't put down since—is that, as compiled, non-sandboxed languages, they promise total control over the machine. Show me where you want each byte of data to go in memory; show me the machine instructions you want; and I can make C++ do that for you. 

Arthur's book list on budding C plus plus software engineer

Arthur O'Dwyer Why Arthur loves this book

This book greatly influenced my philosophy around style. Norman's ostensible subject is the design of physical objects, like emergency exits, shower faucets, and refrigerators, but most of what he says is directly applicable to software design and API design, too.

For example: Whatever you expose or document about your interface, the user will take that and form a mental model of the implementation—and he'll program against that mental model, not against your documentation. So you'd better make sure that your interface—by exposing certain details and deemphasizing others, appropriate naming, and so on—suggests a mental model that will be useful to the user (even if it is not correct in every particular).

For example, a horizontal rod mounted on a door affords pushing (a bit of jargon that's entered my technical vocabulary), while a vertical rod affords pulling. If you use the design language of a horizontal rod, people will


By Don Norman ,

Why should I read it?

5 authors picked The Design of Everyday Things as one of their favorite books, and they share why you should read it.

What is this book about?

Even the smartest among us can feel inept as we fail to figure out which light switch or oven burner to turn on, or whether to push, pull, or slide a door. The fault, argues this ingenious,even liberating,book, lies not in ourselves, but in product design that ignores the needs of users and the principles of cognitive psychology. The problems range from ambiguous and hidden controls to arbitrary relationships between controls and functions, coupled with a lack of feedback or other assistance and unreasonable demands on memorization. The Design of Everyday Things shows that good, usable design is possible. The



If you love Working in Public...

Ad

Book cover of Aggressor

Aggressor by FX Holden,

It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.

The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run


Book cover of Peopleware: Productive Projects and Teams

Mike McQuaid Author Of Git in Practice

From my list on becoming a great open source software engineer.

Why am I passionate about this?

I’ve been a professional software engineer and maintaining open-source software for 16 years. My work on open source has been heavily informed by industry best practises and my work on proprietary software has been heavily informed by open source best practises. Without these books, I’d be a worse engineer on many dimensions. Some of them may feel antiquated but all are still full of relevant wisdom for every open-source (and proprietary) software engineer today.

Mike's book list on becoming a great open source software engineer

Mike McQuaid Why Mike loves this book

This is the oldest book on my list and is the most underrated. It describes, with serious rigour and detail, how to run more effective software projects and teams.

Most of this advice has been ignored by most of the industry for most of the time but it’s a big part of the reason I’ve worked from home for 14 years and am as productive as I am today.

By Tom DeMarco , Timothy Lister ,

Why should I read it?

2 authors picked Peopleware as one of their favorite books, and they share why you should read it.

What is this book about?

Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful. New second edition features eight all-new chapters. Softcover. Previous edition: c1987. DLC: Management.


Book cover of Producing Open Source Software

Mike McQuaid Author Of Git in Practice

From my list on becoming a great open source software engineer.

Why am I passionate about this?

I’ve been a professional software engineer and maintaining open-source software for 16 years. My work on open source has been heavily informed by industry best practises and my work on proprietary software has been heavily informed by open source best practises. Without these books, I’d be a worse engineer on many dimensions. Some of them may feel antiquated but all are still full of relevant wisdom for every open-source (and proprietary) software engineer today.

Mike's book list on becoming a great open source software engineer

Mike McQuaid Why Mike loves this book

This is from an older generation of open source development, pre-GitHub, but much of the advice here is still incredibly relevant and astute today, helping provide advice on the interpersonal as well as technical sides to open source development.

Many of the underlying principles from this book are what form my grounding as an open-source maintainer for the last 15 years.

By Karl Fogel ,

Why should I read it?

1 author picked Producing Open Source Software as one of their favorite books, and they share why you should read it.

What is this book about?

The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and energy to create better software. The truth is, however, that the overwhelming majority of free software projects fail. To help you beat the odds, O'Reilly has put together Producing Open Source Software, a guide that recommends tried and true steps to help free software developers work together toward a common goal. Not just for



If you love Nadia Eghbal...

Ad

Book cover of The Year Mrs. Cooper Got Out More: A Great Wharf Novel

The Year Mrs. Cooper Got Out More by Meredith Marple,

The coastal tourist town of Great Wharf, Maine, boasts a crime rate so low you might suspect someone’s lying.

Nevertheless, jobless empty nester Mallory Cooper has become increasingly reclusive and fearful. Careful to keep the red wine handy and loath to leave the house, Mallory misses her happier self—and so


Book cover of Ship It!: A Practical Guide to Successful Software Projects

Mike McQuaid Author Of Git in Practice

From my list on becoming a great open source software engineer.

Why am I passionate about this?

I’ve been a professional software engineer and maintaining open-source software for 16 years. My work on open source has been heavily informed by industry best practises and my work on proprietary software has been heavily informed by open source best practises. Without these books, I’d be a worse engineer on many dimensions. Some of them may feel antiquated but all are still full of relevant wisdom for every open-source (and proprietary) software engineer today.

Mike's book list on becoming a great open source software engineer

Mike McQuaid Why Mike loves this book

Another book that predates GitHub but provides a lot of actionable advice today that’s been mostly ignored across much of our industry.

Hard problems like “why isn’t my software project reliable?” are tackled head-on and addressed here. It was an early nudge for me to automate as much as possible in software projects and not ignore difficult problems with project organisation in favour of “fun” technical tasks.

By Jared Richardson , William A Gwaltney ,

Why should I read it?

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

What is this book about?

"Ship It!" is a collection of tips that show the tools and techniques a successful project team has to use, and how to use them well. You'll get quick, easy-to-follow advice on modern practices: which to use, and when they should be applied. This book avoids current fashion trends and marketing hype; instead, readers find page after page of solid advice, all tried and tested in the real world. Aimed at beginning to intermediate programmers, "Ship It!" will show you: which tools help, and which don't, how to keep a project moving, approaches to scheduling that work, how to build



Book cover of Open Source Licensing: Software Freedom and Intellectual Property Law

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 Christopher loves this book

Most of the code I write and use is open source. As a programmer, it is easy to think “open source means free.” I didn’t think much about it until one of the companies I worked at got acquired, and we had to audit our licenses.

The big company that bought us was very particular about which licenses were compatible with their needs. That was when I realized I needed to understand this stuff better. Rosen does a great job of teaching what is otherwise legalese in plain-spoken, easy-to-understand language. This book taught me why I choose the licenses I do rather than picking blindly.

By Lawrence Rosen ,

Why should I read it?

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

What is this book about?

"I have studied Rosen's book in detail and am impressed with its scope and content. I strongly recommend it to anybody interested in the current controversies surrounding open source licensing."
-John Terpstra, Samba.org; cofounder, Samba-Team"Linux and open source software have forever altered the computing landscape. The important conversations no longer revolve around the technology but rather the business and legal issues. Rosen's book is must reading for anyone using or providing open source solutions."
-Stuart Open Source Development LabsA Complete Guide to the Law of Open Source for Developers, Managers, and Lawyers

Now that open source software is blossoming around



Book cover of Structure and Interpretation of Computer Programs

Yehonathan Sharvit Author Of Data-Oriented Programming

From my list on become a great developer.

Why am I passionate about this?

I boast a two-decade-long career in the software industry. Over the years, I have diligently honed my programming skills across a multitude of languages, including JavaScript, C++, Java, Ruby, and Clojure. Throughout my career, I have taken on various management roles, from Team Leader to VP of Engineering. No matter the role, the thing I have enjoyed the most is to make complex topics easy to understand.

Yehonathan's book list on become a great developer

Yehonathan Sharvit Why Yehonathan loves this book

This book profoundly changed how I approach functional programming. I found its deep dive into core concepts like recursion, abstraction, and modularity incredibly insightful. The exercises pushed me to think critically and refine my problem-solving process.

Despite being an older book, its content remains relevant and valuable to me.  I consider it the best pragmatic introduction to functional programming.

By Harold Abelson , Gerald Jay Sussman , Julie Sussman

Why should I read it?

2 authors picked Structure and Interpretation of Computer Programs as one of their favorite books, and they share why you should read it.

What is this book about?

As others have gone into, this is a great programming book for many reasons, and is a must-read for anyone who is interested in software design. Rather than waste time reaffirming the excellent positive reviews of this book, I wanted to cover something that I have not seen in the reviews: namely that there are multiple publishers for this book (as it is an "open source" book). At the time of writing, there is this McGraw-Hill publication, and, for 40% less, an MIT press edition. While I have not seen the McGraw-Hill version in person to see what quality benefits



If you love Working in Public...

Ad

Book cover of That First Heady Burn

That First Heady Burn by George Bixley,

Don’t mess with the hothead—or he might just mess with you. Slater Ibåñez is only interested in two kinds of guys: the ones he wants to punch, and the ones he sleeps with. Things get interesting when they start to overlap. A freelance investigator, Slater trolls the dark side of


Book cover of 201 Principles of Software Development

Karl Wiegers Author Of Software Development Pearls: Lessons from Fifty Years of Software Experience

From my list on lessons about software development.

Why am I passionate about this?

I first learned to program in college in 1970. Since then I’ve spent much time as a software developer, manager, tester, process improvement leader, consultant, trainer, author, and, of course, a user. I quickly learned that I didn’t have time to make all the mistakes that every software developer before me had already made. My training and writing career has involved sharing what I and others have learned with audiences to help them quickly become more effective software development team members, regardless of their project role. This book distills insights and observations both from my own experience and from what I’ve heard from thousands of students and consulting clients.

Karl's book list on lessons about software development

Karl Wiegers Why Karl loves this book

Many of the most significant principles of effective software development are timeless. They’re independent of the development life cycle or model, programming language, application type, and so forth. Although this book is quite a few years old now, nearly all of its contents are still valid. The 201 principles cover the full spectrum of software engineering: general principles, requirements engineering, design, coding, testing, management, product assurance, and evolution. The descriptions of each principle are concise, whereas my 60 lessons in Software Development Pearls go into a great deal more detail and offer many practical techniques.

There’s an unfortunate tendency among young software people to disregard knowledge from the past as irrelevant to them. That’s not correct. This book can help close significant gaps in any practicing software developer’s knowledge.

By Alan M. Davis ,

Why should I read it?

1 author picked 201 Principles of Software Development as one of their favorite books, and they share why you should read it.

What is this book about?

This text defines governing principles for software development, assumptions that work regardless of tools used, to keep software projects from costing too much, taking too long and disappointing users.


Book cover of Code Complete: A Practical Handbook of Software Construction

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

I've found this book enlightening in many key areas of software development, and as I was reading it, I felt connected with the author (even though I've never met him, I could imagine us having a conversation about software engineering, and agreeing on pretty much everything).

It was a revealing book for me, in the sense that it gave a formal framework to several ideas I've noticed as a practitioner over the years. In that regard, I wish I'd come across this work way earlier in my career.

By Steve McConnell ,

Why should I read it?

2 authors picked Code Complete as one of their favorite books, and they share why you should read it.

What is this book about?

Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices-and hundreds of new code samples-illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking-and help you build



Book cover of Software Engineering at Google: Lessons Learned from Programming Over Time

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Why am I passionate about this?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why Chris loves this book

A thoroughly fascinating (and fascinatingly thorough) look at engineering practices at Google.

It’s an encyclopedia written by a bunch of authors, so some of the chapters are a little dry, but for those of us who aren’t on teams with 25,000 engineers it’s spell-binding to see what programming at that sort of scale looks like. Some of the chapters prompted us to think really hard about the way we do things at Sucker Punch.

By Titus Winters , Tom Manshreck , Hyrum Wright

Why should I read it?

2 authors picked Software Engineering at Google as one of their favorite books, and they share why you should read it.

What is this book about?

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.

How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software. This book covers



If you love Nadia Eghbal...

Ad

Book cover of My Book Boyfriend

My Book Boyfriend by Kathy Strobos,

Lily loves her community garden. Rupert wants to bulldoze it. When feelings grow, will they blossom or turn to rubble?

"It literally had everything! - Bookworm Characters - Humor - Banter - Swoon-worthy lines."  - Book Reviewer.

Book cover of The Pragmatic Programmer

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

I've found this book to be instrumental in my career as a software engineer, especially because it's full of useful and practical advice on how to be effective and productive on a day-to-day basis, but it also includes actionable advice, and helped me a lot on thinking about my career long-term.

By David Thomas , Andrew Hunt ,

Why should I read it?

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

What is this book about?

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to



Fight software rot;
Avoid the trap of duplicating knowledge;
Write flexible, dynamic, and adaptable code;
Avoid programming by coincidence;
Bullet-proof your code with contracts, assertions, and exceptions;
Capture real requirements;
Test ruthlessly and



Book cover of The Design of Everyday Things
Book cover of Peopleware: Productive Projects and Teams
Book cover of Producing Open Source Software

Share your top 3 reads of 2025!

And get a beautiful page showing off your 3 favorite reads.

1,277

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in software engineering, software, and software development?

Software 62 books