If a programmer wants a second or bigger monitor, a better keyboard or stuff like that and his company doesn't buy, should the programmer buy? What would you do?
No, don't buy hardware yourself. You must try to teach your bosses why having better hardware is important for your productivity.
2 great readings about it:
The book PeopleWare by Tom de Marco, it teaches how the software business is, first of all, a business about people and their capacities.
http://joelonsoftware.com, Joel always talk about how the environment can make a programmer more productive. I like this one specially: http://www.joelonsoftware.com/articles/fog0000000050.html talented software developers are a scarce resource, and companies must provide them everything they need to be productive.
Start evangelizing your bosses now !!
What would you do?
Go to another company. No, really. We have rights too. If the company doesn't grant you these rights, it's not a company worth working for.
It all depends on your preference, the situation and your budget. If having that second monitor is a big deal to you, it's within your budget and it's not going to cause problems, then go ahead.
No. I've been in this situation where it got to the point I offered to buy my own. But it's not something you want to do. As Rob Munteanu says, it sets an awful precedent.
You're best off bringing the topic up over and over, giving measurable, quantifiable reasons why it's needed.
Anything directly related to your productivity should be provided by the employer. Dual monitors should be provided for any developer.
Well, obviously you shouldn't have to.
But if you really want a second or bigger monitor that your employer won't buy, and it will improve your job satisfaction and enjoyment of your work, if you buy it yourself you can enjoy your job more while you are there and then take it with you when you go.
It depends on the level of hardware you're requesting, and the level they're providing.
My last company provided a great box and monitors, but skimped on the keyboard and mouse. I ended up bringing in my own ergonomic keyboard from home. I didn't mind too much - I got to take it with me when I left, and now I'm at a new company with my comfortable keyboard.
If it gets to the point where you're on a crappy box or a single (or small) monitor, then you should point out the benefits of improved hardware to your company. If they continue to ignore it, then explore other job options. But things like a keyboard are largely user preference anyway; I see a good keyboard as more of a long-term investment in my hands than a boost to my productivity.
I think it depends on the item. Dual monitors used to be an extravagance. They are cheap enough and important enough that I think they are mandatory.
I once bought my own chair. I was pissed about it, but the place was full of crappy chairs and they didn't want to buy good ones.
It's up to the company and the employee to navigate what is productive and what is simply desired. Does the company buy a $4000 monitor for one guy when everyone else is using $500 monitors? Probably depends on whether that guy needs the $4000 monitor, or if he just wants it.
Dvorak keyboards? Foot pedals? Bean bag chairs? I don't know.
Pretty much everything people have said is valid but you need to combine it into a practical approach:
1) Check these things out when you're interviewing. Ask to meet the development team and see the working environment. Do they have decent kit? Two monitors? Whatever else might be important? Ask. This way you head the issue off before it's even an issue.
2) If you're in a job and the kit is substandard then try and convince management. Don't talk about your rights, if you do you might as well not bother. Pick the right moment and talk about why it's good for them - happy staff, more productive workers and for the most part this stuff is cheap. You might also want to think about whether there is real benefit for the company or whether it's perhaps more speculative and customise your approach.
3) If that's not happening then you need to weigh up the options. If the job is great in every other way (unlikely but possible) then you might want to spend your own money on better kit if it's going to make your every day life better. It's easy to say that you shouldn't but ultimately if spending $200 on something for work makes you happier than spending $200 on something for home then it's a good purchase but it's your money so look at what it's doing for you. I know people who've done this and don't have regrets.
4) If the job sucks, the kit sucks and no-one is listening you really should think about what your other options are and this time when you're interviewing, remember point 1.
If you cannot live without a better keyboard or a second monitor, then you can tell your management - but be prepared to have your bluff called and walk (to a better company) if they refuse. That's negotiation for you.
If you're in a large team/office where everyone has similar equipment, you should appreciate that management might not want the expense of kitting everyone out with second monitors, and won't want to cause trouble by being seen to favour individuals. If so, it might not be fair to demand something unless you can see a way for them to provide some similar perk to your colleagues.
Buying your own kit is the worst option - it puts everyone's nose out of joint and sets a precendence.
Daniel you said it's hard to convince them.
Let me tell you a story. My story. This was 3 years ago.
I was fed up with the hardware I had to deal with.
My boss was like yours. Just one way of thinking : "as long as it works I won't pay for a better hardware".
So here's what I did : I tried to apply for other jobs (while keeping working where I was) with a better salary.
The day I got one positive response I showed it to my boss. I told him : if I don't get a new hardware I quit. He answered : "quit".
So I quit. One year after the "old" boss called me : he definitely needed me. So I worked for him at night. I did that for one year and after that my "old" boss asked me to work full-time.
I said : okay. I need a brand new hardware, a big quiet room only for me, and a salary that is (my salary + what you pay me for the work I do for you at night).
He said okay. Since then, I have a very well paid job, a good PC (Dualcore / 2 video cards / 8 Gb RAM (and it's 3 years old, guess its price 3 years ago)), and... I'm more than happy every day I go to work.
Try to do like I did ! In the worst case it will only cost you the price of the stamps !
But never ever buy your own hardware : the boss will see he doesn't even have to buy something to make you more productive ! If you do that it will be much harder than it is to ask for new hardware the day your own hardware is old-fashioned.
I would only provide my own equipment if I was subcontracting. If I am not a subcontractor (and being paid as one) then it is up to my employer to provide equipment.
Personally I wish more companies would simply offer an equipment allowance and let us buy our own.
Think yourself as a supplier of services to the company. You've made a business deal wherein you are selling your time and labor in exchange of benefits, salary, office space and company supplied equipment. If you're not happy with the environment or your compensation, you've got three options: deal with it, renegotiate the contract (reimbursement or raise) or find a new opportunity.
If you can make a good business case as to why you need new or more equipment (increased productivity, health reasons etc.), a well managed company will make accommodations. If not, make your own conclusions whether you want to waste your career there.
I think the "stuff" a programmer needs comes in many different flavours :
must have: things you absolutely need, without which you can't do properly your job. Like a decent computer that doesn't force you to wait a long time for files to compile or things like that. This kind of hardware has a direct and important impact on productivity and you should definitely insist on management to buy what's at least decent. You should argument your request for instance with how many minutes/hours you loose per day because your computer stops responding when MCAfee does an update and you have say Eclipse loaded with a java webapp in debug mode on a local JBoss and a local Oracle XE, or things like that...
should have: stuff that would be useful to have, but which is not absolutely vital, say you can code without a 23" screen, or your laptop has already a 17" screen so you don't necessarily need an external monitor as well, etc. I think selling these to management depends a lot of the budget the company has available at a certain moment, so it might be very easy or very hard to convince them, as there's no actual solid argument as to why you need this. Otherise it would be in the "must have" category.
nice to have: things that would look superfluous to management - I'd like a certain type of keyboard, or mouse pad, or over-the-ear headphones, or whatever ... These are usually not very expensive things, that you might consider buying yourself.
Personaly I put as much pressure as I can on management regarding the "must have" stuff, ocasionaly buy myself the "nice to have" ones and wait for good opportunities for the "should have" things.
You must talk about that, every time you talk with the company people. Something like, "This is good , but if I have a greater monitor..." And it's a question of time to they get you what you want. :)
If your company has a procurement system, just start the process of getting a new one. If it gets rejected, start it again a month later; if it gets ignored, send weekly reminders. Attach copies of articles that support your case for higher productivity.
There's one thing your question is missing -- the reason management is saying no. Without that (and it is understandable why you can't post this info in a public forum), the only valid answer the community can provide is "don't do it."
Despite what others say, I wouldn't use this as a platform for quitting -- have another reason besides not getting your way. You'll get labeled as a prima donna from any work history checks and it would come out in a job interview with the right question.
No.
If you already have something that makes you more productive, then it makes sense to use it - but don't go out and buy things that a company is responsible for.
It's a good habit to get into to make a case for a company buying you something you need (not necessarily something you want). I've found the best way to do this when companies are hesitant is to sit someone with purchasing power down and show them my pain. I've used this technique successfully to get monitor upgrades, RAM and system upgrades in organizations where this is not the norm.
As Neal Ford states in "On the Lam from the Furniture Police", the ability to do this is fundamental to your job. You really do need good hardware, and need to be able to explain to others why this is.
Also remember if the equipment is to help reduce or eliminate an existing (and medically diagnosed) physical problem, you can leverage the ADA act in the US to get the company to pay for what you need. You may have to get a doctor's note and go through HR instead of the usual procurement process.
I have a particular keyboard I like (IBM Thinkpad external keyboard), and bring it to every job. It costs me $100, but it's exactly what I like.
I personally think the company should invest in a decent monitor for developers. If they don't, I think it's reasonable to go out and get your own monitor (I think Fry's has 24" monitors for around $250).
The company should at least be able to provide a decent machine with memory. Although, where I am now by cube-partner actually bought her own laptop as she wasn't happy with the company-provided one.
As a contractor, I would try to negotiate your rate high enough to cover some of these incidental expenses, as well as books to train yourself, etc. If you are full-time, you may have to cover a few things like this out of your salary, but there should be a higher chance of actually getting what you need or being reimbursed. These days though, its crazy...the last company I worked at stopped provided cups to drink water from at one point...
Then again, you could make it your primary job function to get the equipment you need.
I once worked at Boeing as a contractor. I was asked to build a web app, I asked for a web server. "It is a process" I was told, for now, use that old machine in the corner.
As the days and weeks unfolded, the process was slowly unveiled to me. Servers cost $40,000, that is the only configuration available, they have to meet Boeing standards, yada, yada. For any deviation you must attend the monthly meeting of the board.
I patiently waited, I attended the meeting. Their were about 40 other lost souls there. It felt something like a senate committee hearing. Pronouncements were made, a short public question period, one person tentatively raised their hand, shot down, I could see fear and anguish in the audience's faces...I continued attending the meetings, the seasons passed, I may have actually asked a question once, like, can I have a server that my department could afford, say a $3000 Dell server? The answer was neither yes, nor no, but it did not materialize.
The application was built, delivered, and I left about 11 months later, still having failed to procure the server. For the record, I did not volunteer to buy the 40k server.
May it go better for you.
If you have the cash go for it!
I've worked places before where some technical people would buy specialized or additional hardware because it made their work experience better. It is possible that management isn't aware of the advantages that this hardware may provide yet, or they may be really tight on cash right now. If you are willing to set the trend then give it a shot. Once management sees your productivity gains then they may (don't count on it) offer to reimburse you. If not then at least you have a better work experience. You spend most of your daily life at work, so why not enjoy it?
Everyone suggesting you get a new job is being rather close minded. There are a lot of factors that may make this the best job for you. The fact they don't buy you extra hardware (yet) may be the least of your concerns. I know people who work for non-profits that they really believe in, but the company is strapped for cash. Or maybe you have great benefits and flexibility that you don't want to give up.
In may other industries you will see professionals that buy their own tools. The fact that we as software developers do not is actually very odd. If you buy the tools yourself you can deduct them from your taxes (un-reimbursed business expenses, but consult your accountant) and also take them with you when a better job comes along.
There are some possible scenarios you might want to consider if you do buy some upgraded tools:
- Management tells you to take it home: This happened to me before when I upgraded the ram on my computer - but they bought the upgrade shortly after - problem solved.
- Other developers / technical people get jealous and either:
- Pressure management to upgrade them, which if they do then they may end up reimbursing you.
- Whine until management asks you to take it home.
Buying some better tools is a long way from your management taking advantage of you. If they start expecting you to buy your desk, chair, etc. then I would get worried. Until then I say go for it. Don't spend more then you can afford though.
Generally I'm wary of companies that won't buy good equipment. However, if you want to buy equipment consider working as a contractor and using the purchase as a business expense. Or, at least check out whether the purchase can be considered a legitimate work related expense.
There's a lot you're not saying in your question, so I'm going to assume a few things:
- You like your job enough to consider doing this
- You're getting paid enough that you can afford it
- This is basically company policy and everyone else is in the same boat
Assuming the above statements are true, I absolutely would buy my own equipment (and have). Here is why:
If your equipment makes you more productive, as you claim it would, congratulations, you just shot to the head of the class! Everyone else is laboring in the same lousy environment, except you. Assuming equal skill, you are now more productive. Assuming your company has an ounce of sense, you just put yourself on the fast track to promotion & raises, which will be worth much more to you than you ever spent on hardware. Also, your work life will be much more satisfying since you won't be grinding your teeth waiting for compiles, etc.
Now, if 1-3 aren't true, different story. If this is a lousy job to begin with, I'd leave on an asap basis. No point wasting your life doing something you don't enjoy.
I've switched out my broken 2-foot-off-the-ground pneumatic chair for a sturdy four-legged quarter-inch-of-foam-backed non-broken chair about a year ago thinking that someone would have pity on me and get me a non-broken 3-foot-off-the-ground pneumatic chair, but that never happened.
All that did happen was two other guys in the office switching their pneumatic chairs for my kind of chair (and their pneumatic chairs weren't even broken). I guess I started some sort of fad.
No, I don't think I'm ever going to buy a chair and I don't think my boss or supervisor or co-workers would think it would be appropriate.
If I need to print in color though, I'll bring in my HP deskjet. If I 'need' an esoteric clicky keyboard I'm not going to suggest they go and buy me one. What I need is a new computer, but I have faith that they'll get one eventually. The one thing your company needs to upgrade is your toolset, if they're not doing that, then you've got a problem.
And the best thing about new toolsets is that they don't run on your K6!
No, NO. A thousand times no.
A company isn't a moral animal. It is driven by simple economics. If you start buying your own stuff, you remove the downside for them to leave you with crap. Instead, do your job as best you can with whatever they give you (and whatever Free Software you can acquire).
My company also has a lot of blue-collar workers. The poor mechanics on the shop floor not only get paid a pittance, but they have to buy and bring in all their own tools! The cost of that to them runs into the thousands of dollars. Even my HR people will admit this is bordering on unconscionable, but once the industry got into this situation the economics of it allow neither side to escape it.
Imagine if we let ourselves get into that situation. Hand tools at least can last for decades. Our equipment becomes useless after 3 to 5 years. We'd be shelling out 10s or 100s of thousands of dollars over the years. Under no circumstances should any of us do anything to encourage movement in that direction.
I bought my own monitor when I was unable to get the company to buy a decent one. I have offered to buy a desk and chair as well.
It's my eyes, back and neck - it sends a message that it is important and it is worth it for me.
I'd prefer if the company paid of course, but I am not going to let a few hundred dollars and some ego get in the way of my productivity.
EDIT
When I was managing a team of a few developers I was horrified at the nasty, abused, old chairs that were given to us when we moved offices. I asked for new chairs. The request was declined. I told my boss I would buy all my reports new chairs out of my own pocket. (I took a NY salary down to southern VA at the time and it seemed reasonable to me)
I would have done it but I was also trying to show them how important it was that people have good furniture and tools to use.
They ended up buying chairs for us all.
This was partly exacerbated by the fact that other employees got new chairs and there were also new chairs in offices that were not occupied. When we borrowed them we were told they were off-limits and not to take them again. I found that mind-boggling. I think they threatened official reprimands if we took/borrowed the UNUSED chairs again.
One of the guys reporting to me actually brought in a towel from his home to cover the nasty chair he was sitting on so he would not have to sit on god-knows-what kind of stains.
I'd say no.
However, I did guilt my employers into getting bigger monitors (22", instead of the poxy 17s we were working with) when I picked up a 24".
In the end, hardware is cheap compared to people. Taking into account tax, annual leave etc a new monitor may only cost the same as 2 days salary. Productivity gains can exceed that in no time.
My take on this. As a contractor I used always bring my equipment (other than desk and chair) in. When I left I used to give the ergo keyboards equipment away to others and I saw that as a away of buying cheap goodwill. After all a 20 GBP keyboard (MS natural) was a tool. If you are an engineer you will fashion your own tools in software so why not buy what you need.
However for permie (!) work I've seem to have taken a mildly alternative stance. However if I need a tool I always try and build a business case to show it and usually its ok.
In a side note: in some other parts of the world to the US there are laws that companies have to follow for the well being of their employees - and bad keyboards/mice can be considered bad if they cause pain. This is certainly true of the uk and nz as far as i can recall.
I brought my own keyboard and mouse where I interned and my manager liked the mouse so much that he borrowed it for a day and then bought one for himself. He tried to push getting a similar mouse for everyone else in the team but that did not happen. I did not join that firm when I graduated.
YES
Why? Because they are tools. It's not even a cost thing. A professional should be responsible for knowing which tools they need to be most productive. I toured an airline maintenance facility once and saw a large area of the workshop, 20 feet by 30 feet, with nothing but large toolboxes. Every toolbox had a name and most looked like they could be locked. The guide mentioned that all the mechanics had to buy their own tools, think wrench sets and so forth - not large things like engine dollies.
At first it seems a bit silly and redundant but when you start to think about it, it's easy to see that not everyone is going to want to spend the extra money on the high-end tools, or they might want extras of the same set for whatever reason. Also, consider the hassles with sharing, e.g. "Where are the 1/2 inch box-end wrenches?" By not making the tools shared, the 'Tragedy of the commons' is avoided.
Another example is chefs and their knives. You don't touch another chef's knives. The restaurant provides the big things like ovens and stoves, the chefs bring their own knives - don't know about pots/pans.
I've brought in extra memory before. I told my manager so he'd know that some of my personal property was in the PC in case it needed worked on by the internal techs. I also put a note on the box itself. I would have had a bigger issue if they discouraged bringing your own hardware. Most shops like to provide the box itself because it minimizes their support issues but they shouldn't have any problems with you bringing accessories like monitors, keyboards, mice, etc.
To summarize, change how you think about tools and strive to use whatever makes you better at your job, even if you have to pay for them out of your own pocket. It's the 'Professional" thing to do.