This is not a book. This is the collection of blogs on Joel Spolsky’s website joelonsoftware.com and organized into a book.
Joel Spolsky is the Founder of Stack Overflow (The bread and butter of every developer ), Trello, and Fog Creek Software (now Glitch). He was a Program Manager on the Microsoft Excel team between 1991 and 1994.
So this whole book is about Joel’s commentary on software development and management. Most of the blogs share his insights from Microsoft Excel, Fogbuzz, and Juno.
I just brought a part of an experiment to see how does it feel to read a collection of the blog in form of a book. I think it’s better to read a book focus on a specific topic rather than a collection of the blog.
It’s very hard to summarise this kind of book which focuses on many aspects of the software industry. You don’t need to even buy this book as you can read on the website.
- Fixing the bug is like science: You have to be slow, methodical, and meticulous, and you can’t be sure how long it will take to discover the cure.
- Programmers are easily bribed by giving them the coolest, latest stuff. This is a far cheaper way to get them to work for you than actually paying competitive salaries!
- Don’t tell me you weren’t born funny, I don’t buy it. Everybody has funny ideas all the time, they just self-censor them because they think that it’s “unprofessional.”
- UNIX culture values code which is useful to other programmers, while Windows culture values code which is useful to nonprogrammers.
- It is much, much better to reject a good candidate than to accept a bad candidate. A bad candidate will cost a lot of money and effort and waste other people’s time fixing all their bugs.
- We’re programmers. Programmers are in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We’re not excited by incremental renovation: tinkering, improving, planting flower beds.
- When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work.
- Customers don’t know what they want. Stop expecting customers to know what they want.
- Don’t start a new project without at least one architect with several years of solid experience in the language, classes, APIs, and platforms you’re building on. If you have a choice of platforms, use the one your team has the most skills with, even if it’s not the trendiest or nominally the most productive. And when you’re designing abstractions or programming tools, go the extra mile to make them leak-proof.
- Everybody who has paid any attention whatsoever to three decades of progress in computer programming knows that reuse is the Holy Grail of all modern programming systems.
- Number-one required skill in a program manager learning to make software developers do what you want by making them think it was their own idea.