This is a summary for the blog by Joel Spolsky, Joel on Software, volume 2004. The summary for the years 2000-2010 can be found on the Joel on Software summary index page.
The number one best way to get someone to look at your resume closely: come across as a human being, not a list of jobs and programming languages. -- Getting Your Résumé Read.
.NET should have had a linker that could enable software vendors to ship executables without dependencies. -- Please Sir May I Have a Linker?
Be careful with you beta testers. Don't pick too few, don't overload them, and reward feedback. -- Top Twelve Tips for Running a Beta Test
RDBMS access is intrinsic to modern application implementation and should be supported in programming languages in a first-class way syntactically. -- Blog post 25/03/2004
Perfectionism is a very dangerous quality in business and in life, because by being perfectionist about one thing you are, by definition, neglecting another. -- Blog post 22/04/2004
Nobody thinks they know how to remove a burst appendix, or rebuild a car engine, unless they actually know how to do it, but for some reason there are all these people floating around who think they know everything there is to know about software development. -- Mike Gunderloy's Coder to Developer.
Microsoft has decided to break the compatibility of many API's when shipping a new version. There's no return on investment for application developers to convert their applications to a new API. Microsoft alienates developers from the Windows platform and forces them into web development. -- How Microsoft Lost the API War.
When you're writing software that mediates between people, you have to get the social interface right. -- It's Not Just Usability
It is hard to come up with a price that maximizes profit for a piece of software. Product price segmentation can have significant negative implications for the long term image of your product. And people don't even know themselves what they are willing to pay. -- Camels and Rubber Duckies