Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A colleague of mine wrote a post a while ago asking Do you own your tools. It raises an important question. Do you? I answered way down in the comments. As an independent, I do own my tools. Even when I wasn't independent, I had my own (fully licensed) tools that I used for personal development. I don't think buying your own tools are something to puff your chest up about (just because you can buy a $100 pair of basketball sneakers they won't make you as good as Michael Jordan), but it IS an investment in yourself that shouldn't be taken lightly.

What do you think good people?

share|improve this question

closed as not constructive by MichaelT, Kilian Foth, Jalayn, GlenH7, World Engineer Apr 17 '13 at 14:49

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

11 Answers 11

up vote 18 down vote accepted

The problem between traditional craftsmen and programmers is that traditional tools don't typically expire after a year. My dad works on cars, the house, and more in his spare time and has amassed tons of tools over the years. The difference I see is that he's still got the same awesome hammer since the 90s, the same power saw he had from 10+ years ago, the same workbench since I was born. Let's say I want to buy Resharper. That's 100 bucks. After a year I need to buy it again so I can get a licence for the next year...and again and again. Tools change so often, and licenses need to be repurchased so often that it really doesn't make sense many times to buy your own tools besides basics. Only if you're doing contract work does it make sense because legally, you can't steal the tools and you probably need that IDE to get the job done in a competitive amount of time.

share|improve this answer
    
You make a great point! Having to constantly upgrade your tools makes maintaining your own collection more expensive. –  Mike Brown Feb 5 '11 at 0:39
    
It does make it more expensive. But it is an investment in your craft, a bit like those craftsmen all used to pay their fees for membership of the craft guilds. You don't get something for nothing. And if you make a profit from those tools that you keep paying for, you should be able to offset that expense against your income. At least its paid for in before-tax $. –  quickly_now Feb 5 '11 at 2:06
    
that is all true, but not complete ;) For programmers there are awesome free tools, so sometimes you get that fancy hammer for free. –  Antonio Bakula Feb 6 '11 at 0:30
    
Or, if the fancy hammer doesn't exist, as programmers we can try to find other programmers, band together, and develop a new and improved hammer to replace them all. We should call it a... "Screwdriver!" :-) –  the Tin Man Feb 6 '11 at 2:07
add comment

At previous employers, I didn't think too much about spending up to $100 out of my own pockets on a software tool. However, since the early 00's, most companies that I've worked at have had policies prohibiting this. So while I didn't mind spending the money, it has since become against the rules to do so.

Furthermore, with many companies quite happy to immediately walk you to the door and prohibit your access to the computer you worked with when you give notice (or get fired or laid off), you won't be able to recover your tools that you've paid for. And by leaving them installed you probably violate a number of license agreements.

My rule of thumb these days is:

  • If it goes on my personal machine, then pay I for it, I install and I use it.
  • If it goes on the company's property, then the company should be paying for it.
  • If the company is unwilling to pay for the tool, then that means they want me to spend the time doing it the hard/long way.
share|improve this answer
2  
+1 for your second paragraph. –  David Thornley Feb 4 '11 at 21:38
add comment

If you're independent, then yes, you should. If I hire a contractor to come in and fix my drywall, I'd expect him to bring his own tools. If I started a drywall repair company, I might supply some standard-issue tools to everyone, for consistency, and if they want their own tools, they can spend their own money.

If you want to go ahead and buy your own dev tools for your own purposes, go right ahead!! :)

share|improve this answer
add comment

I work for a company. The company insists that they own everything I produce. I think it is absolutely unreasonable for them not to provide all my tools. There is no way I would spend up $15,000/yr for tools and give them everything I produce with those tools.

Additionally, that's about 33% of my annual take home pay. There's no way I can justify that kind of expenditure.

share|improve this answer
add comment

Collectively the tools I use to do my work would cost about $80,000 to purchase. If I was expected to buy those, I'd also expect to be paid a considerably more hourly rate.

share|improve this answer
add comment

This is tangential to the OP's question, but applies to several of the answers:

If you're a freelancer/contract worker in the US, and a company provides your tools, there may be tax consequences: good ones for you, but not for the company.

The IRS has guidelines on figuring out if you're an Independent Contractor (Self-Employed) or Employee. One of the factors is "who provides tools/supplies."

It may be in the company's financial interest to call you a freelancer, but if they provide your tools and tell you when, where, & on what to work, you may be getting ripped off.

See Permatemp (Wikipedia) for additional background.

[Note: Not a lawyer, not an IRS agent, not a tax pro, not legal advice, consult someone who knows what they're talking about, etc.]

share|improve this answer
2  
Yeah a lot of companies do questionable things to shirk their tax responsibility. –  Mike Brown Feb 6 '11 at 2:07
add comment

As a freelance, you definitely should, otherwise you're dependent of what your client provides which may not always be best for your workflow, if they have any tool at all (are consultants even covered in VL licences ?)

As an employee, it could be interesting if it's a tool the company has no licence for, however if it's boosting productivity, you should push getting management to licence it for everyone, that way the others would benefit from it and you don't have to spend your own money on it (and it definitely helps if everyone are using the same development tools).

share|improve this answer
    
I'd qualify this: If you are a freelancer the employer can if it chooses provide tools. In this case you should be charging a lower rate than if you provide the tools yourself. If the employer (or you the contractor / freelancer) engages you on the grounds that you have all the tools and understands you will use your own, you should be charging a suitable rate that compensates you for the expenditure you have to make. You don't always have to disclose this difference of your charge-out rates. The employer might have that conversation with you, or not. –  quickly_now Feb 5 '11 at 2:10
add comment

I don't think it's unreasonable to expect your employer to buy your tools, but I also think the best developers will eventually have their own tools for their personal projects - once they have a little extra money post-college.

In the post, his dad says, "Yeah, I’ve got about $6000 of my own tools." The tools provided for me at work probably run closer to $15,000 and probably only lasts a year or two before another payment needs to be made for a new version (vs. hardware tools that last decades, as long as they are any good). Also, developers often "buy their own tools" in the form of library books, technological equipment, and other investments that are more difficult to have employers pay for. Finally, there is much more variety in developer tools - starting with Microsoft vs. open source, and including source control, CI, and so much more - which really needs to be selected from by the person making the business decisions, usually the employer (unless you are freelance). So I think it's reasonable to not own your own tools for your day job.

At the same time, putting time aside for personal projects is key to becoming one of the best developers, and part of that investment is buying the tools for your own projects.

share|improve this answer
add comment

I think it depends as much on the policy of the company one works for and what the IT department is willing to support as anything else. I had to buy pretty much all of my own tools because I needed to get work done, and, at the time, getting the money authorized to purchase what I needed either was more trouble than it was worth or there simply was no budget. Since then I've gotten them to open the coffers and buy their own licenses, but those coffers are closed again and a couple apps are due for significant upgrades.

Do I feel better—proud even—about owning my own tools? Not entirely. While I do have a sense of ownership over the products I create for my company, the work was ultimately done for them and not for me, so they should have been paying for it. At the same time, if I wanted to use my tools for stuff at home as well as work, then I never had the moral crush of borrowing (stealing) the company's licenses for my nefarious purposes, and I learned a lot outside of the harried workday, so I don't mind that much. Still, it can get pricey and I've been forced to drop a couple tools out of lack of funding.

share|improve this answer
add comment

As a freelancer I could see it going either way, but if you're being hired to handle a project (as opposed to being one more warm body in a seat), then you'd probably need your own tools.

As a regular employee, your employer is going to have to provide the tools because they are going to be using a particular tool chain (often not of your choosing).

For personal work, obviously you'll need your own tools, but for many people that consists of an open-source tool-chain. Honestly, most folks personal projects don't touch on the sorts of things you'd need a high-end toolchain for.

share|improve this answer
add comment

I like a lot of your third paragraph @Michael Kohne. Basically for me it comes down to two things:

  • If its me doing things, then Open Source rules, because almost everything that I need is open sourced (gcc/llvm, cmake, doxygen, python, ruby and eclipse) (I mainly program in C/C++, python, java, ruby and occasionally I do some web development)

  • If its an company that I (will) work for, then its the company problem, I just want to do my thing, the best I can (I'm only a stupeed developer);

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.