3 Books to Become a Better Developer
Post from April 20, 2022, filed under Web Development.
4 Books to Become More Efficient and Effective kicked it off; here’s the second of four pieces about books I highly recommend reading:
A Philosophy of Software Design by John K. Ousterhout
I have noticed that the design-it-twice principle is sometimes hard for really smart people to embrace. When they are growing up, smart people discover that their first quick idea about any problem is sufficient for a good grade; there is no need to consider a second or third possibility. This makes it easy to develop bad work habits. However, as these people get older, they get promoted into environments with harder and harder problems. Eventually, everyone reaches a point where your first ideas are no longer good enough; if you want to get really great results, you have to consider a second possibility, or perhaps a third, no matter how smart you are. The design of large software systems falls in this category: no-one is good enough to get it right with their first try. Unfortunately, I often see smart people who insist on implementing the first idea that comes to mind, and this causes them to underperform their true potential (it also makes them frustrating to work with).
The Pragmatic Programmer by Thomas David and Hunt Andrew
Don’t Live with Broken Windows
Don’t leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, or display a “Not Implemented” message, or substitute dummy data instead. Take some action to prevent further damage and to show that you’re on top of the situation.
Clean Code by Robert C. Martin
Programmers face a conundrum of basic values. All developers with more than a few years experience know that previous messes slow them down. And yet all developers feel the pressure to make messes in order to meet deadlines. In short, they don’t take the time to go fast!
True professionals know that the second part of the conundrum is wrong. You will not make the deadline by making the mess. Indeed, the mess will slow you down instantly, and will force you to miss the deadline. The only way to make the deadline—the only way to go fast—is to keep the code as clean as possible at all times.
❧ You notice how I’m skipping a detailed account of how these three books have made me a better developer. Yet my experience reading both of them, late (2020–2022), was more one of pouring concrete into my foundation as a developer, rather than leveling me up. And that’s how I think you may experience these books: As a junior developer, these will level you up, and as a senior developer, they reinforce your base.
You may also notice how I, as a frontend developer, are only listing three books here, and not even one about frontend development. Do I only write, but not read books about frontend development? Are there no good books on frontend development?
That’s not it. I do read books about frontend development, and some are really good (check my 4- and 5-star ratings). But none I’ve read were as strong and impactful as A Philosophy of Software Design, The Pragmatic Programmer, or Clean Code. If you know one—please let me know!
I’m Jens Oliver Meiert, and I’m an engineering manager and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have questions or suggestions about what I write, please leave a comment (if available) or a message.
Have a look at the most popular posts, possibly including:
Looking for a way to comment? Comments have been disabled, unfortunately.
Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.