Dev, Buy Some Tools

Dev, Buy Some Tools

I worked as a plumber's apprentice for about a year ... many years ago. I have now been a software developer for nearly a decade. I can safely say that in terms of total dollars per year and certainly in terms of % of income that as a plumbers apprentice I spent more money on the tools needed to do my job than I spend as a software developer -- and I buy my own copy of JetBrains tools, and will purchase other pieces of office equipment that make my life better and more productive.

From all of my professional experience I can say that the pittance that I spend is an exceptionally high amount for software developers, and I can't understand why that is.

I hear daily from nearly every dev I talk to that they don't want to buy tools because "I'm cheap!" and "it's free!". This is some soft cream reasoning. A software developer is a tradesperson; we build, we create, we make things. Just the same as an electrician users their tools to detect, cut, splice, measure and safely connect electricity to outlet and lights; just the same as a plumber uses their tools to level, cut, secure, test water flow, and safely deliver water to faucets and from drains. Yet there is a culture in each of these professions where these professionals spend their own money to buy their own tools and make themselves more productive.

Does a plumber working for a company purchase the truck, digger, jackhammer, or other large expense tools? No, those large expense tools are the company's responsibilities, but the hammers, drills, drivers, blades -- the tools used to install the materials provided by the company are purchased by the plumber and are exclusively for their private usage. When they leave and move to another company they take their tools with them.

For some reason, software developers have decided that the tools we use everyday should be entirely at the decision of the company we work for, or whatever tool happens to be "free" today. This means that moving to a new company, not only do you get a new computer & monitor (the reasonably expensive tool pieces), but you are also at the whims of the corporate policy as far as the base tools you use to do your work -- mouse, keyboard, IDE. I have seen developers refuse to spend $50 to purchase a new keyboard for themselves and use a recycled 10-year-old keyboard that has multiple semi-functional keys, feels terrible, and they complain about on a daily basis.

The same level of logic applies to choice of text editor -- which everyone has taken to calling and "IDE". I love VIM; VIM is not a fully functioned IDE. Can it be setup to run that way? Sure, you can devote your soul to making that work, but what's the cost of that versus purchasing a well made piece of software that lets you stop spending all of your free (and work) time creating plugins, re-writing software bits, having it break with every change of anything in the language / syntax / build / repository pipeline. I would venture to say the cost of that is much greater than (at the high end) spending $300 per year for a real IDE that supports you and lets you be productive.

What's the cost per hour? For $300 per year that works out to roughly -- $300 / (40 * 52) == $0.14 per hour. That doesn't include that you own the software suite and can use it for any personal projects, nor that you can take it with you to your new job and be instantly more productive because you aren't fumbling spending months getting your new "free" tool set figured out and setup. If you go out for a cheap coffee once a week that adds up to ~$250; that's ~85% the cost of an expensive software toolset.

VS Code is not an IDE. It's a glorified text editor; just like VIM it can be configured to be kind-of IDE-like, but there are so many ways to have that go wrong. And it requires so much practice, customization, training, and experience to use it like a (bad) IDE. I have seen far too many devs say that they know how to use VS Code but then end up working incredibly slowly because for every command they require doing things via crazy mouse-click interactions (rather than strictly using the keyboard), and doing simple things like pausing to debug becomes a major evolution that leads to the use just saying "uhh... I guess I can't do that". Again, can you setup and use VS Code to do that stuff? Yes. experience has shown me that the likelihood of a dev setting these things up properly is very low, and then once they have gotten in the habit of not having these tools available they train themselves to not use them.

We US-based software developers are incredibly well paid. Even those of us who don't work for a silicon valley company are still exceptionally well paid for our time. So why are we (as a group) so cheap when it comes to making ourselves productive? I guarantee you that someone out there across the globe is willing to do your job for less money than you make, so how do you show your value? Productivity, and what is a simple, cheap way to boost that productivity? That's right, spending a little money on those tools that give you that advantage.



To view or add a comment, sign in

More articles by Dylan Hall

  • Basic Code Operation Speed Measurement

    I created this code operations speed test such that everyone on your team should take it using whatever tools they…

  • Your Company is Already Fully Remote (Even If They Don’t Know It).

    My company, which I quite like and enjoy working for, has not made a commitment to being full time remote yet. I can…

  • The Cost of Sloppy Work

    I had a painting and handyman company come to my house to do a do some significant repairs to drywall with lath &…

  • Micro Frontends with React Components

    My team had to add new functionality and update existing functionality in an existing (and very heavily used) legacy…

  • iPhone SE Update Thoughts

    I upgraded from the original iPhone SE (2016) to the new iPhone SE (2020) and here are my thoughts and opinions.I…

  • Secondary Effects of Long Build Times

    I work writing code in a quick build system most of the time; local builds and checks in the <1 minute range and…

  • Fix Your TLD Validation

    Here's a case of bad input validation which causes problems, several sites I've found use this "one dumb trick" for…

  • Software as a Used Car

    Prologue I’m always trying to figure out how to create a metaphor that works for me, and for others to explain how and…

  • Data Design Decisions

    Short post here, and a link to a great technical article on Why databases use ordered indexes but programming uses hash…

  • Brain ROT - Part 2

    This is a continuation and expansion of my article "Brain ROT", more focused on work situations. Experimentation is a…

Others also viewed

Explore content categories