3 Books to Become a Better Developer
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, and I’m an engineering lead and author. I’ve worked as a technical lead for companies like Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma. I love trying things, not only in web development, but also in other areas like philosophy. Here on meiert.com I share some of my views and experiences.
If you have a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!
Maybe of interest to you, too:
- Next: 4 Books to Become a Greater Person
- Previous: 4 Books to Become More Efficient and Effective
- More under Web Development, or from 2022
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try WebGlossary.info—and The Web Development Glossary 3K (2023). With explanations and definitions for thousands of terms of web development, web design, and related fields, building on Wikipedia as well as MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.