Meditations on programming, startups, and technology
New Relic

Give your programmers professional tools

Professionals tend to have expensive tools that enable them to do their job as efficiently as possible. Even when cheaper, more commonly used tools exist, professionals often opt for higher-end ones that are faster, stronger, more durable, or more advanced. This is why the Canon Rebel — which is a great camera — isn’t the model in the hands of most professional photographers, who are more apt to go with a professional camera that costs several times as much. There’s nothing wrong with this approach, it makes a lot of sense and is part of the reason why tools of all kinds are available in a wide array of quality levels and price ranges.

Case in point, I have an electric drill and a few DIY tools at home. I don’t think I’ve spent more than $250 on all them combined over the years. However, my father-in-law, who runs his own decking and renovation company, likely spent more than that on his drill alone. That’s perfectly normal; he makes his living with his tools, whereas I simply enjoy occasionally fixing a few things around the house.

One field where pros are often not using the very tools that are designed with them in mind, is software development. I’m not just talking about the importance of having a fast laptop (important as that is). As a professional in the software world, my tools are also composed of a chair, desk, monitor, keyboard, mouse, software, bookshelf (virtual and physical), education, internet connection, drawing board, and office space, amongst others.

Most companies cheap out on many of these components, thus hindering the productivity and wellbeing of their developers. Moves such as this are done under the misguided assumption that they will save the company money, though they rarely do in the long run. A developer’s time is far more expensive than the cost of an SSD hard drive, a 30″ monitor, and a high-quality ergonomic chair. The use of poor quality tools that hinder one’s ability to be as productive as possible ultimately end up costing the company more than it is saving by cheaping out on lower quality electronics, office equipment, and developer related tools.

Perhaps what companies fail to grasp is that developer happiness is something you can rarely buy with cash alone. A few high-quality, professional level tools and perks can go a tremendous distance when it comes to creating a motivated employee. Ultimately, “Happiness Oriented Development” (HOD) will be a competitive advantage and the most important software engineering practice for your company.


If you enjoyed this post, then make sure you subscribe to my Newsletter and/or Feed.

receive my posts by email

28 Responses to “Give your programmers professional tools”

  1. Sam LG says:

    Minor typo: “DYI” should be “DIY”. (Do Yourself It?)

    As a developer, I naturally agree that my employer should buy me all the best goodies. When they fail to see the light, however, I buy my own tools. Maybe not the best on the market, but sometimes what I can afford is still better than what’s provided to me.

    For example, I use a $150 standing desk and $15 barstool from IKEA instead of an $800+ motorized sit/stand arrangement. I also have a 24″ monitor with USB-to-DVI adapter instead of a 30″ monitor. In the latter case, my pixel count (adding in a cheap 1680×1050 monitor that does belong to work) is within about 5% of my coworker’s 30″ monitor at half the cost, and I have more flexibility in how I arrange my displays to suit the way I work.

    That’s not to say that I wouldn’t happily use a larger monitor if they bought me one, but where it really matters to me, I’ve put my money where my mouth is. Either my employer will eventually get their act together, or I’ll be able to reuse some of my kit at the next one.

    • Minor typo: “DYI” should be “DIY”. (Do Yourself It?)

      Good spotting. Thanks Sam.

      I’ve put my money where my mouth is.

      This is indeed the right attitude. When I work from home I use my own 27″ monitor. The problem is that in some large companies (e.g., IBM) there is a strict policy when it comes to using non approved hardware and software.

    • Dave K says:

      Yes, we all end up buying our own tools, that’s not thepoint. The point is our employers DON’T, as a general rule, and in fact rely on our professinalism to shore up their companies. Show me a lawyer, doctor, or elevator repairman that would put up with this. It’s long past time we stopped this practice. Your employer wants to provide substabdard tools? Fine, work at a slower than normal pace. Stop subsidizing our employers now!

      • beezlerco says:

        @Dave K. I am a consultant and work onsite. I see people using substandard tools, myself included. Unfortunately individuals subsidize these companies by working 50 and 60+ hour work weeks. This too is a practice that needs to stop.

  2. You make an excellent point. One of the first things I did when starting my company was invest in upgrading my old secondary monitor to larger one. Before the secondary monitor was used only for the odd web page or reference, but now it is an integral part of my work flow.

    Part of the problem on the part of the big companies is that things like SSD, more RAM, faster processors, etc. are not visible. A professional camera or drill look beefier and more robust so there is an added percieved value in addition to actual value. Computer parts don’t get the same respect.

    • Part of the problem on the part of the big companies is that things like SSD, more RAM, faster processors, etc. are not visible. A professional camera or drill look beefier and more robust so there is an added percieved value in addition to actual value. Computer parts don’t get the same respect.

      Very astute observation. I don’t think it’s the main culprit (or we’d all have big monitors), but it’s definitely a factor.

  3. bg says:

    I work as a prorammer for ibm and so far they are the stingiest company i’ve ever worked for. not only is the kit years out of date, but we’re forced to use lenovo kit which is a pile crap.

    And if it goes wrong its impossible to get anything fixed if costs more than £50.

    I’ve had to buy memory/mice/keyboards myself to try and get anything done – have you tried programming with eclipse against websphere with only 2 gb of ram and 1.6 dual core.

  4. Isaac Gouy says:

    Your message is “Give your programmers professional tools” but if we take your analogy with professional photographers seriously for a moment – no one “gives” professional photographers tools at all!

    My guess is that most professional photographers run their own small businesses, and their “tools” are purchased by their small business and they take tax write-offs and deprecation for their chairs as well as their cameras.

    Let’s follow through on your analogy – those software developers who have managed to find a way around the US tax code and be professional enough to run their own small businesses, are directly comparable to professional photographers.

  5. I completely agree. Both good technology and a quiet, comfortable environment that looks good and facilitates concentration are very important. I’m sure you are familiar with Joel Spolsky’s take on it, but I thought it would be good to link to one of the things he’s written about this.

  6. Matt Rose says:

    Any of the examples (contractors, photogs, mechanics, etc) have to buy their own tools. Many of the employees go into serious hock when becoming apprentices buying all the tools necessary to do their job. Programmers have it lucky…

  7. Rocky Madden says:

    Agreed, the cost of such items are typically pretty small in comparison to the increase to productivity/job satisfaction that they bring. Its may be unrealistic to expect top of the line items in all situations, however. As others have mentioned, in these situations I will typically fork out the money myself.

    Something that wasn’t brought up, but I find equally as important, is the working environment itself. Having a nice quiet atmosphere for development, for instance, makes all the difference in the world.

  8. James says:

    %s/cheeping/cheaping/

    unless that is a Britishism or something that I am unaware of.

    To a certain extent I agree. Personally I think they should just let you buy your own peripherals for work as long as they are delivered directly to work. Wouldn’t be hard to have a list of what people could take home.

    /shrug

  9. Ancorehraq sis says:

    For most companies, having better (or better-equipped) programmers is not a competitive advantage. Mediocre Visual Basic jockeys, for example, are entirely fungible.

    If you think you deserve better tools, consider that maybe your employer and its competitors want to replace you with three programmers in India for the same cost. Case in point: most parts of IBM.

    • Mike says:

      It is possible, of course. However.

      Consider that 3 Indian developers generally work at about 30% capacity due to a number of factors, such as a huge communication disadvantage and usually lack of motivation.

      Consider that it takes about 6 months to bring even a small offshore the team up to speed and that it will require a local BA and possibly a local tech lead.

      Consider that offshore teams have a significantly higher risk to fail projects, go over budget and over schedule.

      All these issues considered, I don’t personally know a single good developer that lost a job to an offshore team. I know plenty that became leads or managers of offshore teams. Hardly a thing to worry about.

  10. DA says:

    I’m a “Level 3 Programmer” for a fortune 100 company.

    Development box:
    Windows XP
    1.80 GHz Pentium 4
    512 MB of RAM
    20 GB hard drive.

    Yes, that’s right. Half of a gig of RAM to write Cold Fusion/Flex applications.

    • Yes, that’s right. Half of a gig of RAM to write Cold Fusion/Flex applications.

      Let’s do some very approximative math, just to get ballpark figures. I think it’s fair to say that a fast machine and a good monitor would save you at the very least 1 hour per day. That’s 5 hours per week, or 50*5 = 2500 hours per year. Even if the investment were to be for just 3 years, you’d save about 7500 hours that would be lost. Without going over board, providing you with a decent machine and a good monitor would cost about $2500.

      If your hourly salary is higher than $0.34, your employer is losing money by not upgrading your hardware.

  11. JOwy Hurtado says:

    I gave up on expecting any company I work for to provide me with my own tools and just opted to get the ones I wanted. Everyone has a different setup, some 1 monitor, 2, in my case I wanted 3 because I’m a programmer and system admin. I didn’t expect the company to pay for that or my 2 servers. I own them and they’re mine to use and screw up then fix how I’d like. I factor this cost into my salary before I take a position or accept a contract(however now it’s not factored in as much since I have everything). I’ve run into a couple of jobs/contracts where they want you to use their equipment only, i.e. please use this 15″ mac pro to do your development on. Uh, sorry don’t think so, I’m not 18 with perfect vision. Everyone here should read People Ware, and in jobs where the management have issues I usually toss a book on their desks when no-one is looking.

  12. Nicolas says:

    First you should pay attention to the fact that other professionnal do not allways have the best material. Many have to work with subpar tools.

    Second, even in software sector, we don’t need so great tools to work.

    Show me the productivity increase of using a 30″ instead of a 24″ screen. Or even the difference of using a 24″ screen instead of a 22″ one…

    is there a so big difference between a 2GHz Core 2 duo and a 4Ghz i7 for day to day work?

    Show me the difference of having 8GB instead of 4GB or having 1TB instead of 200GB for your work machine…

    I agree that an SSD can give a great increase in performance, but people tend to just “want more”.

    • local user says:

      If you don’t recognize the differences between those specs you listed, you’re doing it wrong or just being a jerk. To be honest, it sounds like you are a lousy manager who thinks his developers just ‘want more’. I am guessing you have never tried to do a bug fix with 4 versions of visual studio open at once because policy dictates you cannot upgrade a project to the latest version of .NET, but you need all in debug to find the issue. Or a legacy project that has C++, Java, VB, and .NET that all needs to work together at the same time. Or on a project that spans multiple databases at once where you need to run multiple versions of MS SQL and and instance of Oracle for an app to run in development. *sigh* In any case I could go on and on on how your insight is misguided.

      On another note, I think this article is very good. I am a technical lead for a fortune top 20 company and luckily my company has recognized *some* of these things. We have duo 2.6GHz with 4GB/32bit or 8GB/64bit systems with an extra monitor. Unfortunately we have to take a 1 hour ergonomic video course once a year, but aren’t allowed to get stands to bring our monitors to eye level (we all steal copy paper to stack up underneath), or ergonomic keyboards, proper lighting, keyboard trays, comfortable mice, etc. So, it is a good running joke around here. But at least they meet us 1/2 way. The developers only have to invest in the cheap stuff (like keyboards, mice, etc.) if they want the good ones. So, I can’t complain (except about the video!)

  13. Steve says:

    For one thing if I had a faster computer and internet connection at work, the faster I’m done with my personal web surfing and get back to work sooner. All kidding aside, I agree that having a faster computer including a SSD drive makes a huge difference especially for those of us who do compilations and are frequently using disk I/Os.

    My previous company had really low cubicle walls and you could see everyone’s head even when you sat down. The argument is that they’re fostering an environment where you can communicate and collaborate w/ others without “barrier”. In my new job, we have large cubicles with tall walls and nice chairs and I find myself working much longer hours on a regular basis because I’m comfortable in my own space and don’t get visually distracted all the time by somebody walking down the hallway.

  14. Petr says:

    As a software developer and a website designer working for a contracting firm with strict security policies. I open heartedly agree with this article.

    I’m often consider myself lucky being able to telecommute for a larger part of my work schedule. This has allowed me to use my own hardware for to do a lot of work.

    I have a home office where I have two stations, one for work and one for pleasure. Each station has a dual 27″ screens($800), Logitech G11 ($50) keyboard and MX 518 ($30) mouse running a Phenom X4 with 4GB ram ($500) and ATI 4900 HD($250). I don’t consider any of these an excessive use of money. In contrast to working from the office with obligatory 19″ monitor ($300) and a Lenovo laptop($1500).

    I get much more utility and comfort from my home setup, than my mandatory work setup.

  15. Edison Leon says:

    Boss, did you read this, did you…? where did you go!

  16. Isaac Gouy says:

    > Professionals tend to have…

    Is programming a profession?

    Do you mean anything more by “professionals” than anyone who gets paid for their work?

  17. IT Guy says:

    For the most part, I do agree that many companies tend to skimp on the “tools” they provide to their professionals. On the other hand, in response to Antonio Cangiano’s post above me.. that hour of work lost? It’s okay because in any given 40 hr work week, we’re not actually even working the whole time. Your average work week is probably closer to 30 hours even though you’re getting paid for 40 hours. Tack that extra hour onto the 10 hours of break/dozing off/slacking off and the reality is that not much work is lost.

    I have never been in a work environment where the employees are always working, counting every minute. And that is okay because no one could work for long under such conditions. Computer running slow? Take a minute to chug that Coke or Pepsi or , take a minute to file away that paperwork that has been sprawled on the corner of your desk for a day or two.

    It seems that we are just feeling “entitled” to the best when we can work with just as much efficiency having your average desktop/laptop/mac/what-have-you.

  18. It’s interesting that you specifically mentioned expensive drills. Are you aware of the essay by Neal Stephenson about the Unix operating system and the Hole Hawg drill? Here’s a link:

    http://steve-parker.org/articles/others/stephenson/holehawg.shtml

    It’s from the 1999 book “In the beginning was the command line”. Among my old-time coder friends, when someone speaks of “hole hawg” trouble, everyone understands that it’s “a large problem due to a small error by an experienced person using powerful tools”. We use the term in the context of any technical environment, not just Unix.

Leave a Reply

I sincerely welcome and appreciate your comments, whether in agreement or dissenting with my article. However, trolling will not be tolerated. Comments are automatically closed 15 days after the publication of each article.

Current ye@r *

Copyright © 2005-2014 Antonio Cangiano. All rights reserved.