Buy your own tools
Bless me father, for I have sinned. I know software piracy is wrong.
But at one early job, I spent over a year coding on a less-than-legal license of Visual Studio. I was a junior developer, and I couldn't quite manage to convince my boss that it was worth $600 for me to have the basic tools to perform my job. Instead, I begged Microsoft for an extension of the 90-day free trial, and then managed to find a generous co-worker who let me copy his license key.
Now, I've worked in many, much more functional organizations since then. But I've noticed that its very common for organizations to have a blind spot as far as programming tools are concerned. The payroll for an experienced developer costs the company at least $50 per hour. Once you account for all the baggage that comes with employing people (taxes, health insurance, office space), the true cost is a good 30% beyond that. You would think, given these circumstances, that paying, say, $300 for for a little piece of equipment would be a no-brainer. It would only need to save half a day's time over the course of the next year to pay for itself: a mere 0.2% increase in efficiency. That is even before taking into account the morale boost of working with the best tools.
In most offices I've worked in, this is just not the way it works. What's more common is that the development team receives a standardized set of tools and training resources, and trying to obtain licenses or utilities which go beyond that is quite difficult.
I suspect the underlying reason is failure of corporate process. When I ask my direct manager for that Resharper license, he isn't unaware of the value of it. The problem is, he doesn't have the authority to just whip out the company credit card and spend 300 bucks. He has to get his boss's permission. He can just imagine how that conversation would play out:
Him: "Hey, this Stiennon fellow wants to get this license to Resharper, for $300"
Director: "What on Earth is that?""
Him: "It's complicated. It's a tool for programming. It helps refactor code.....
Director: "You do remember that we're in the middle of a cost-cutting initiative, don't you?"
Him: "I know, but the he really seem to want it...."
Director: (rolls eyes) "Fine. But if it's so valuable, why aren't we buying this for all our developers?"
It probably wouldn't even be that bad. The director might even approve it without a second glance. But business runs on an economy of back and forth favors, and the favor he would need to expend on my behalf is simply not worth it to him. I don't even think he's wrong, when I consider things from his angle. In fact, I think that line of reasoning applies at my level too: It's not worth it for ME to expend the political capital with my own boss over a $300 tool.
For organizations to avoid this problem, I think the best way is just to give each developer a discretionary tooling-and-training budget. For a mere thousand or two a year, we can easily buy just about any tool, conference ticket, or class that that our hearts desire. The productivity increase from this is certainly going to be higher than 1%, which is all it needs to pay for itself.
For most of us who work in organizations without such a policy, I can see two viable approaches. One is to simply buy it on my own dime, and submit an expense report. That way, there's no forcing my boss into the role of liaison between me and his boss. There are no meetings or discussions that need to be scheduled, and no justifications that need to be made. It becomes part of the standard process: just a routine piece of paperwork for a trivial sum of money.
The other one, which I've come to buy into, is that it makes most sense to simply own my own tools.
For years, This seemed to me like giving up, like capitulating when I really ought to stick to my principles (My employer should pay for these tools). But now that I've made the jump, I find it liberating.
- I've switched jobs fairly often. I don't have to re-fight the same fights every year or two
- I get to use the same tools for my coding projects at home as I'm using in the office. This makes it way easier to Sharpen my Saw at home
- It's good to be known around the office as a guy who gets things done. If once in a while I'm able to accomplish something that would have been very hard to do otherwise by having having the right tool, or by having great training resources to come up to speed quickly on an open source tool, that's a nice ace up my sleeve.
- Most of all, it subtly changes my attitude about work. It puts me more in a mindset of being a business of one who just happens to consult for my employer. I think anything I can do to break out of the (oh-so-common) mindset where I see my employer as a pseudo-parent, and myself as their dependent child, is a good thing.
It's not even that expensive. Best I can figure, I spend about $30 per month on some sort of subscription screencast service (Either Pluralsight, Egghead.io, or Codeschool, depending on exactly what I'm working on), with another $10~ish per month on Udemy courses. Then, I keep around a JetBrains subscription for about $150 a year, and over the course of the year I'll usually buy a couple one-off tools or courses for around $70 apiece.
In other words, for a grand total of about $800 a year, I'm able to load myself up with tools and training. Some years, I also shell out $500 for some sort of conference ticket or deeper class.
It really isn't a lot. All I need to make it pay for itself is to, once in my career, get a job that pays $2000 per year more than I would have gotten without those resources to help me. I think that's already happened to me multiple times. It's a better payoff than putting the money in my 401K.
I recommend it for everybody. It's completely worth it.
Subscribe to Axten Software
Get the latest posts delivered right to your inbox