NORD’s Notebook


The Solid Software Bookshelf

Posted on March 07, 2019

One upon a time I worked at a web agency in Amsterdam. It was great times. We were talented and hungry, had lunch together every day, and the Grolsch was free and always fully stocked.

Something in particular I loved was our library of books, spanning everything from operating system design to Zen buddhism. Management books explained TPM and The Toyota Way; personal productivity books taught GTD and The 7 Habits; and philosophy books provided different perspectives on everything.

It felt comforting having it there and walking past it all day. Whether you felt an urge to learn, needed to looking something up, or just wanted to relax, you could always grab a book and chill on the couch. Doing this was considered a good thing.

So today I suggested that we set up something similar at my current place of work, starting out with development related material.

Hence, here is my list of books that provide a rock solid foundation for anyone in the business of creating software—in general, but most of all for the web.

Refactoring: Improving the Design of Existing Code (2nd Edition)

Amazon

For more than twenty years, experienced programmers worldwide have relied on Martin Fowler’s Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.

This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes. —Amazon

Code Complete: A Practical Handbook of Software Construction (2nd Edition)

Amazon
Read as PDF

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 the highest quality code. —GoodReads

The Pragmatic Programmer

Amazon
Read as PDF

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. —Amazon

Design Patterns: Elements of Reusable Object-Oriented Software

Amazon
Read as PDF

This book isn’t an introduction to object-oriented technology or design. Many books already do a good job of that…this isn’t an advanced treatise either. It’s a book of design patterns that describe simple and elegant solutions to specific problems in object-oriented software design…Once you understand the design patterns and have had an “Aha!” (and not just a “Huh?” experience with them, you won’t ever think about object-oriented design in the same way. You’ll have insights that can make your own designs more flexible, modular, reusable, and understandable—which is why you’re interested in object-oriented technology in the first place, right? —Preface

Clean Code

Amazon
Read as PDF

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way. — Amazon

You Don’t Know JS

Amazon
Free online

This is actually a series of six to-the-point books that are available completely for free online. And, for truly understanding JavaScript, I’d actually argue that these are the most useful and important ones on the list. Read them all, or simply read the ones you feel would benefit you most.

The JavaScript you know right now is probably parts handed down to you by others who’ve been burned by incomplete understanding. That JavaScript is but a shadow of the true language. You don’t really know JavaScript, yet, but if you dig into this series, you will. —Preface

How JavaScript Works

Amazon

A newly released book by Douglas Crockford, one of the developers of JavaScript. Crockford also wrote the famous book “JavaScript: The Good Parts” many years ago. I recommend that book as well, to understand the quirks and design mistakes of JavaScript. However, with today’s tooling it has become outdated. Either way, sincerely, do watch his his presentation on the matter. Trust me.

Eloquent JavaScript

Amazon
Read online
Read as PDF

“A concise and balanced mix of principles and pragmatics. I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!” —Brendan Eich, creator of JavaScript

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

Amazon
Read as PDF

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. —Amazon

When Microsoft started growing seriously in the 1980s, everybody there had read The Mythical Man-Month, one of the classics of software management. (If you haven’t read it, I highly recommend it.) The main point of that book was that when you add more programmers to a late project, it gets even later. —Joel Spolsky, co-founder of Stack Overflow

Don’t Make Me Think

Amazon
Read as PDF

Since it was first published in 2000, hundreds of thousands of Web designers and developers have relied on usability guru Steve Krug’s guide to understand the principles of intuitive navigation and information design. Witty, commonsensical, and eminently practical, it’s one of the best loved and most recommended books on the subject. It’s a core foundational book that every Web designer must internalize to make their designs truly effective. —Amazon

One More Thing…

There’s actually tons of great books you can read online for free. This GitHub page provides a massive list of programming books sorted by language, and even links to other similar resources. And of course, you could just google it and find even more.

Knowledge really is everywhere.

(Personally, I really do like paperbacks though.)


Daniel builds modern web solutions at work, and livestreams on Twitch at home. He tweets rarely, but he upvotes a lot of funny trash pandas on reddit.