As the name implies, The Joel Test: 12 Steps to Better Code has 12 parts to it. That makes this the last parallel Big Swinging Developer Test question. Just joining the test? You can start from here and marathon it like an HBO series on Tivo.
The Joel Test:
12. Do you do hallway usability testing?
The Big Swinging Developer Test:
12. If you see a usability problem, do you treat it as a defect?
Check out the Wikipedia definition of usability. At the time of this writing the first sentence says, "…the ease with which people can employ a particular tool or other human-made object to achieve a particular goal." There’s a lot of other text that follows, but I think that the first sentence really nails what you should be measuring when you think about usability.
If we accept that definition of usability, then a usability problem is one that makes it hard for someone to use your software to accomplish a goal. Notice that this has nothing to do with fulfilling a functional specification or a passing a suite of automated tests. That’s what commodity developers do. If you see your job as writing code to fulfill a requirement or close a defect then you can easily (and cheaply) be replaced. If you see your job as building software to help other people kick ass then you’re well on your way to being a Big Swinging Developer.
If you’ve read at least a few posts on this blog, you’ve seen that it’s almost all about behavior . . . the behaviors that have helped me become a valuable developer. This seems like a good time to ask about what you’ve learned during your career. Even if you’re not a "blog comment type of person", take a moment to share some of your experience and wisdom in the comments below. Thanks!