This is a summary for the blog by Joel Spolsky, Joel on Software, volume 2003. The summary for the years 2000-2010 can be found on the Joel on Software summary index page.
Local optimizations can harm your business as a whole. -- Blog post on 2003/01/15
The Apple strategy is not to talk about future versions of their products. Advantages: 1) you will be guaranteed at least half a year without competition. 2) Avoid disappointed expectations. 3) flexibility that you need later when Murphy strikes. 4) It is a simple policy. -- Mouth Wide Shut.
An attractive community site is easy to understand and work with, and discourages fuss. Small software implementation details result in big differences in the way the community develops, behaves, and feels. -- Building Communities with Software
VCs do not have goals that are aligned with the goals of the company founders. Company founders would prefer reasonable success with high probability, while VCs are looking for fantastic hit-it-out-of-the-ballpark success with low probability. -- Fixing Venture Capital.
The way to stand out when applying for a job is to write a letter that reflects your unique personality and highlights the reasons why you want to work at the place to which you are applying. -- Blog post 2003/06/15.
No software company can succeed unless there is a programmer at the helm. -- Rick Chapman is In Search of Stupidity.
Unicode maps characters to codes. The encoding defines the way the sequence of codes that represent characters are stored. You have to know what encoding a string is to display it correctly. -- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
The most important factor in software work is not the tools and techniques used by the programmers, but rather the quality of the programmers themselves. -- random qoute from Blog post 2003/11/14
When software is built by a true craftsman, more effort went into getting rare cases exactly right than getting the main code working, even if it took an extra 500% effort to handle 1% of the cases. This delights users and provides longstanding competitive advantage. -- Craftsmanship.
Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers. -- Biculturalism