Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity


Joel Spolsky began his legendary web log,, in March 2000, in order to offer insights for improving the world of programming. Spolsky based these observations on years of personal experience.

The result just a handful of years later? Spolsky's technical knowledge, caustic wit, and extraordinary writing skills have earned him status as a programming guru! His blog has become renowned throughout the programming worldnow ...

See more details below
Paperback (1st ed. 2004. Corr. 3rd printing 2004)
$35.89 price
(Save 10%)$39.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (28) from $2.59   
  • New (10) from $8.77   
  • Used (18) from $2.59   
Sending request ...


Joel Spolsky began his legendary web log,, in March 2000, in order to offer insights for improving the world of programming. Spolsky based these observations on years of personal experience.

The result just a handful of years later? Spolsky's technical knowledge, caustic wit, and extraordinary writing skills have earned him status as a programming guru! His blog has become renowned throughout the programming worldnow linked to more than 600 websites and translated into over 30 languages.

Joel on Software covers every conceivable aspect of software programming—from the best way to write code, to the best way to design an office in which to write code! All programmers, all people who want to enhance their knowledge of programmers, and all who are trying to manage programmers will surely relate to Joel's musings.

Table of Contents

  1. Choosing a Language
  2. Back to Basics
  3. The Joel Test: 12 Steps to Better Code
  4. The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
  5. Painless Functional Specifications Part 1: Why Bother?
  6. Painless Functional Specifications Part 2: What’s a Spec?
  7. Painless Functional Specifications Part 3: But . . . How?
  8. Painless Functional Specifications Part 4: Tips
  9. Painless Software Schedules
  10. Daily Builds Are Your Friend
  11. Hard-Assed Bug Fixin’
  12. Five Worlds
  13. Paper Prototyping
  14. Don’t Let Architecture Astronauts Scare You
  15. Fire and Motion
  16. Craftsmanship
  17. Three Wrong Ideas from Computer Science
  18. Biculturalism
  19. Get Crash Reports From Users—Automatically!
  20. The Guerilla Guide to Interviewing
  21. Incentive Pay Considered Harmful
  22. Top Five (Wrong) Reasons You Don’t Have Testers
  23. Human Task Switches Considered Harmful
  24. Things You Should Never Do, Part One
  25. The Iceberg Secret, Revealed
  26. The Law of Leaky Abstractions
  27. Lord Palmerston on Programming
  28. Measurement
  29. Rick Chapman Is In Search of Stupidity
  30. What Is the Work of Dogs in This Country?
  31. Getting Things Done When You’re Only a Grunt
  32. Two Stories
  33. Big Macs vs. The Naked Chef
  34. Nothing Is As Simple As It Seems
  35. In Defense of Not-Invented-Here Syndrome
  36. Strategy Letter I: Ben & Jerry’s vs. Amazon
  37. Strategy Letter II: Chicken-and-Egg Problems
  38. Strategy Letter III: Let Me Go Back!
  39. Strategy Letter IV: Bloatware and the 80/20 Myth
  40. Strategy Letter V: The Economics of Open Source
  41. A Week of Murphy’s Law Gone Wild
  42. How Microsoft Lost the API War
  43. Microsoft Goes Bonkers
  44. Our .NET Strategy
  45. Please Sir May I Have a Linker?
Read More Show Less

Editorial Reviews
Spolsky is knowledgeable, funny and free of unnecessary religious fervor. Joel on Software is a must-read for developers, product managers and those who want more insight into the world of developing software.
Read More Show Less

Product Details

  • ISBN-13: 9781590593899
  • Publisher: Apress
  • Publication date: 8/16/2004
  • Edition description: 1st ed. 2004. Corr. 3rd printing 2004
  • Edition number: 1
  • Pages: 384
  • Sales rank: 1,424,644
  • Product dimensions: 9.00 (w) x 6.00 (h) x 0.80 (d)

Meet the Author

Joel Spolsky is a globally recognized expert on the software development process. His web site Joel on Software ( is popular with software developers around the world and has been translated into over 30 languages. As the founder of Fog Creek Software in New York City, he created FogBugz, a popular project management system for software teams. Joel has worked at Microsoft, where he designed Visual Basic for Applications as a member of the Excel team, and at Juno Online Services, developing an Internet client used by millions. He has written two books: User Interface Design for Programmers (Apress, 2001) and Joel on Software (Apress, 2004). Joel holds a bachelor's of science degree in computer science from Yale University. Before college, he served in the Israeli Defense Forces as a paratrooper, and he was one of the founders of Kibbutz Hanaton.
Read More Show Less

Table of Contents

1 Choosing a language 3
2 Back to basics 5
3 The Joel test : 12 steps to better code 17
4 The absolute minimum every software developer absolutely, positively must know about unicode and character sets (no excuses!) 31
5 Painless functional specifications : part 1 : why bother? 45
6 Painless functional specifications : part 2 : what's a spec? 53
7 Painless functional specifications : part 3 : but ... how? 65
8 Painless functional specifications : part 4 : tips 69
9 Painless software schedules 77
10 Daily builds are your friend 89
11 Hard-assed bug fixin' 95
12 Five worlds 101
13 Paper prototyping 109
14 Don't let architecture astronauts scare you 111
15 Fire and motion 115
16 Craftsmanship 119
17 Three wrong ideas from computer science 125
18 Biculturalism 131
19 Get crash reports from users - automatically! 139
20 The guerilla guide to interviewing 153
21 Incentive pay considered harmful 167
22 Top five (wrong) reasons you don't have testers 171
23 Human task switches considered harmful 179
24 Things you should never do, part one 183
25 The iceberg secret, revealed 189
26 The law of leaky abstractions 197
27 Lord Palmerston on programming 203
28 Measurement 211
29 Rick Chapman is in search of stupidity 215
30 What is the work of dogs in this country? 219
31 Getting things done when you're only a grunt 225
32 Two stories 231
33 Big Macs vs. the naked chef 237
34 Nothing is as simple as it seems 243
35 In defense of not-invented-here syndrome 249
36 Strategy letter I : Ben & Jerry's vs. Amazon 253
37 Strategy letter II : chicken-and-egg problems 263
38 Strategy letter III : let me go back! 271
39 Strategy letter IV : Bloatware and the 80/20 myth 277
40 Strategy letter V : the economics of open source 281
41 A week of Murphy's Law gone wild 291
42 How Microsoft lost the API war 295
43 Microsoft goes bonkers 315
44 Our .NET strategy 323
45 Please sir may I have a linker? 327
App The best of Ask Joel 333
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 5 Customer Reviews
  • Posted March 9, 2009

    more from this reviewer

    I Also Recommend:

    I loved reading this book.

    This book was fun to read. I have read many books on software development and this one of my favorites. Chapter three's 12 steps to better code should be required reading for any IT worker.

    The book covers a lot of computer development lore particularly about Microsoft. I am not a fan of Microsoft in general, but the explanations of the things they did right (before Windows Vista) was very illuminating.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 22, 2004

    Thought Provoking

    Joel on Software is a collection of 45 articles from Joel Spolsky's Web Column. Yes, that means you could read these articles online for free, but if you're like me you'll appreciate having the best of the collection gathered and arranged in one easy-to-read-anywhere source. So what are all these articles about? Opinions. Joel is one of those guys that has an opinion on everything and sometimes he's even right. (Sorry Joel, couldn't resist.) Just how right and how wrong will vary for each reader I'm sure, but in truth it doesn't matter. Joel's observations, rants, strategies, and opinions are always intelligently presented. That means he'll make you think, especially when you disagree. Joel's articles are organized into three major sections and two minor ones. The first big section 'Bits and Bytes: The Practice of Programming' is a collection of Joel's thoughts on the art and science of programming. This section largely branches out from one of the early articles, 'The Joel Test: 12 Steps to Better Code'. As it sounds, this is Joel's 12 Step Program refined from years of programming in the trenches. I agreed with him on many points, and only strongly disagreed on one point. He convinced me to at least try a few practices that I hadn't given enough consideration to in the past and that's never an easy sell with me. The next section, 'Managing Developers', centers largely around, well, managing developers. Joel has plenty of experience here. He held manager positions on the Microsoft Excel team as version 5.0 was developed, he was in charge of developers at Juno for years, and he now runs Fog Creek Software. I'm not a manager and never have been, so I honestly didn't expect to get much out of this section. In truth, it was probably my favorite. I learned scary facts about interviewing and the interviewing process, the effectiveness of multitasking (for humans, not processors), and just how the people calling the shots think. He makes a sensational case in here about why you should NEVER rewrite a code base from scratch. I just knew he was wrong about that before I read this book. I'm still struggling to find the faults in his logic, but he certainly put a few cracks in my armor here... The last major section, 'Being Joel: Random Thoughts on Not-So-Random Topics' is really an insightful section on business strategy, as it applies to software operations. There is a classic contrasting of Ben & Jerry's verses Amazon style growth, a definition of what exactly bloatware is, a great look at the economics of open source software, and detailed look at some changes Microsoft is going through. Finally, there is a small section on .NET, which surprised me by being interesting to my non-Microsoft self, and a short Q and A with Joel appendix. In all this, Joel basically develops his version of Sun Tzu's The Art of War for programmers. There are great tactics and strategies to be learned here for any level of programmer. You might have to suffer through a little praise for Microsoft and listen to some painful truths about Unix, but Joel is a fair-minded author who will also tell you what Unix does right and where Microsoft makes mistakes. Ride the waves when he stirs things up and learn what you can. Just don't tell Slashdotters what you're reading.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 26, 2008

    No text was provided for this review.

  • Anonymous

    Posted June 29, 2010

    No text was provided for this review.

  • Anonymous

    Posted July 1, 2010

    No text was provided for this review.

Sort by: Showing all of 5 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)