Part 8 of The Big Swinging Developer Test introduced the one item that you couldn’t change: the working environment. Part 9 shows you the easiest thing to change, but it’s probably the most controversial entry in the list.
The Joel Test:
9. Do you use the best tools that money can buy?
The Big Swinging Developer Test:
9. If you’re not given the tools you need/want, do you buy them yourself?
If there was one "secret" that I considered holding back, it was this one. Other than my willingness to get up at ungodly hours of the morning, this technique has done more to increase my salary than anything else.
I actually stumbled across this more than a decade ago, shortly before I went to Microsoft — who can, quite literally, buy you anything that’s for sale. I was working on several projects and I wanted to be able to work anywhere. This was before the age of cheap fast notebooks and my employer provided me with a desktop, but wouldn’t buy me a laptop. Crappy notebooks were pricey and decent notebooks were wicked expensive. Mine ended up costing about $5,000, which was a non-trivial percentage of my income at the time. That machine allowed me to do more than $100,000 of *extra* billable work before I retired it a few years later.
Ever since then I’ve been more than willing to buy books, hardware, software, stock images, and countless other tools. Development is a craft and while tools alone won’t make you a great craftsman, the right tool in the right hands is insanely valuable. There are other benefits to buying your own stuff: You don’t have to get approval, you don’t have to wade through the corporate purchasing process, you own the thing and can take it with you, and you’re more likely to use it since you bought it. Think of these purchases as an investment in yourself and watch what happens to your salary when you’re able to excel in an environment where others seem stymied. Remember: Any problem that can be solved by writing a check isn’t really a problem, it’s an expense.