More than a collection of software engineering thoughts, this book describes a collection of experiences from several years of working in software engineering companies, starting as intern at Microsoft Excel's team, to his own company Fog Creek.
Reading it in 2018, 14 years after it was first published, it's still valuable as it was back then, as most of the lessons still apply (some of them I can relate with my own experience as software engineering). There's a lot to learn from these lessons and Joel provides lots of interesting links and book references, making it a must read for young software engineers and a great read for others.
Some of the lessons I personally relate to are:
* his thoughts about using .net as new shiny technology around (in my case wasn't .net but other), how upgrade was being planned, and particularly, how he felt he was not able to write good code even though he had many years of software development under his belt.
* painless functional specs (the importance of having clear specs that other developers can use to implement their code and how that can save countless of hours - specially in endless code reviews, which are too late to make changes anyways)
* fixing bugs vs. delivering features/value.
Notes to self: it's noticeable that Joel has read many many books about software engineering (technical and non-technical). Evidence was his statement that he read all self-published books from MS employees. It would be interesting to learn his thoughts now about some of the topics he wrote (e.g. Microsoft strategy and how it stands, web applications and where are we heading now, how to cope with even bigger set o technologies/libraries/tools that are appearing everyday).