private override

7Oct/0912

Do You Own Your Tools?

I saw this tweet from @unclebobmartin the other day.

image

Why do we feel like our company ought to buy our tools for us?

This is an interesting concept to me, because, as of late, I’ve been considering pimping my work area to be mine… just as any other craftsman might.

My dad is a skilled tradesman.  He’s a Mould Maker in a glass shop.  He’s been doing this for over 30 years… and he is what I’d call a master craftsman.  I asked about the idea of owning your own tools last weekend.  He nearly interrupted my question by saying:

Yeah, I’ve got about $6000 of my own tools.

I stood floored.  I had no idea.

Previously, I considered the idea to include things like my IDE (Visual Studio, since it is somewhat expensive), ReSharper, Profilers, Editors, Static Analysis Tools, and more.  I also feel like this applies to books (you do read [tech] books… right?).  Someone asked me the other day:

so how do you get SEP to just buy all of your books?

… uhhh, I don’t.  I use my own money.

I can only assume that all machinists have their own copy of the machinist handbook as well.

I actually do have my own copy of all the tools I [willingly] use every day.

Do you?

P.S.  I’ll leave you with one more thought.  I challenge you to add one more piece of equipment to your tool chest (or to at least think about it)…your dev machine.  Should your company provide you with a dev machine?  Why not?  Why so?  I had never considered this until I read this article talking about Hashrocket.  They all use their own machines!

Update:
I think my lack of skill in writing prose has caused some confusion or misunderstanding [Thanks for the feedback!  For Reals.]  This was really meant to be more about responsibility and craftsmanship than about money (or anything else).  The main thought I wanted to invoke was who's responsibility is it to buy/make your tools?

I also did not try to infer that SEP doesn't buy me all the things I need (I'm sure they would, in fact... I just wonder who's responsibility it really is).

Sorry for any confusion.

Comments (12) Trackbacks (1)
  1. You know, I haven’t had too much problem with SEP buying my books and such. I typically buy my own, though, because I like having my “own” professional resources.

    I also am intrigued by us buying our own hardware, and have debated it a long time ago. I don’t think the arguments for it are unreasonable.

    Same with tools. I don’t buy too many but I do keep a collection of free-ish tools that I now carry with me from project to project. They include:
    * 7Zip
    * Beyond Compare and/or SourceGear DiffMerge
    * Paint.NET
    * Perl
    * MS Powertoys for WinXP
    * EQATEC Profiler for .NET
    * Cygwin
    * Reflector
    * VirtualBox (OS licenses are another matter)
    * Windows Scripting Host (Greg Lara’s windows scripting is GAWD)
    * A wiki (currently Screw Turn) for KBs
    * gVim
    * A bunch of the SysInternals utilities
    * Sizer (http://www.brianapps.net/sizer.html)
    * Synctoy (I do my own backups to thumb drive)
    * Prototype and/or jquery
    * FxCop (I’m not a resharper guy, though I admit I use Cop very little nowadays)
    * Primo PDF (if you care for the environment…)

    The downside to doing this is that, if you don’t have the right culture (or a project that can support the variety), I think it kills it.

    As you said, it’s expensive. I’m a little cheap, but we’ve had some super-cheap co-workers. They might not upgrade to VS2010 with us for 3.5 / 4.0, and they definitely won’t buy a hoss workstation. And we’re going to /make/ them? You would have to HIRE a certain type of person in the first place, I think.

    It also makes network/system administrating harder than it needs to. Plus, it’s a lot easier for the business to depreciate these assets and get tax advantages than it is for us.

    I’d hate to be elitist and say that only the best and most serious would invest their personal resources like this. And it wouldn’t be entirely accurate. However, if we poll the VIPs and go-to guys, what’s the pattern with regard to time, money, and perspective? One thing it’s not: “SEP didn’t buy it for me.”

  2. @beavis: I took the liberty of filtering out some of your less than professional comments. I don’t understand why you’re so angry with me. If you’d like to talk about it in person, I’d love to.

    I’m merely trying to bring up some new ideas and challenge the status quo… I’m not telling you or anyone else what you should or should not do, nor am I trying to say that one way of doing something may be better than anything else. Maybe you just misunderstood my point… I’m not sure. I’m not trying to say I’m better than anyone else or worse for that matter, just talking out loud.

    Thanks for the feedback. Next time, I’d love if you left your name so we can have a more healthy conversation.

  3. I’ll have to talk to my moldmaker father-in-law and get back to you. At this point I’ve only gone so far as to buy a fancy chair to sit my butt in all day, and that’s only because I work from home. That and books that I feel are more crafty than directly related to business. Everything else my employer is happy to buy for me.

  4. Blah. OK, let’s back up.
    Hi, Jon.
    This is (another) Matt. We’ve met once at lunch, and maybe IndyNDA. I’m an ex-SEPer. I left those comments you’re talking about.

    First, I apologize for upsetting you.

    Second, I just always enter bullshit into the Name & Email sections, out of habit and amusement. Oh well. Sometimes I enter NSFW websites, too.

    Third, look – I’m not angry at you. You haven’t written anything inflammatory. I probably did not misunderstand your post. I definitely agree with your own characterization of your post. I definitely agree you’re not doing any of the things you just said you aren’t doing. I infer from your response that you might feel crapped on but I assert that’s just the interpretation. However…

    Fourth, I am riding you a bit for having a busted blog, yes. :) I know you use the word “lame” in novel context. “LameTest”? “LessLameTest”? Dag, yo.

    Alright, I’m done. I just wanted to apologize for what I think is a mix up here.

  5. Thanks Matt for clearing the air… I REALLY do appreciate it, and I appreciate the feedback. My brain/stomach has been in knots.

    Thanks for pointing out the busted-ness of the blog… I’m gonna have to figure that out. I didn’t know it was broken.

  6. Jon,

    There is a kind of person who daily works to solve the problems they’re given, using the knowledge they already have. Their work fits in well with the existing system and their changes do not tend to be destabilizing. This approach is ok when stability is the major goal… but does not result in the wellspring of innovation a company needs to stay competitive. (It does not tend to lead to innovations in achieving the stability either!) Words that describe this kind of person: faithful, content.

    There is another kind of person who tends not to be content staying within the current bounds of the system. This second kind of person is always saying things like, “If we could just get this thing callable from the command line, then we could script it into this new jerry-rigged automated builder”. If you don’t look carefully, the second kind of person often appears to be a crazed maniac. :) BUT, companies need the energy and creativity this type of person brings.

    The desire to own your own tools is just one thing that can happen to you when you start to become one of the second kind of people.

    The first kind of person can become the second kind, but I think once you’re the second kind it’s hard to go back!

    I wanted to also say something about how the crazed maniacs/innovators do need accountability at some level — that is, they should expect to be asked to give reasons for the choices they make, and be able to answer with rational rather than emotional arguments — and on the flip side, they also thrive best when their company adopts a supportive rather than suspicious attitude… (the would-be innovator doesn’t have to be passive in this, either – see the book Fearless Change: Patterns for Introducing New Ideas)…

    And in case it’s not clear I happily consider myself one of the second kind!

  7. Interesting. I have never had a problem with buying my own books — I too like having my own copy, but I haven’t thought about programmers buying their own development tools and hardware. Since my team does paired-programming, all of our workstations have to be the same. The same apps installed, the same key mapping, etc since everyday we could be at a different station with a different pair. So, in my working env. having developers have a highly customized work space is bad for the team. I’m also glad I don’t have to pay lots of $$$ for the software we us.

  8. I would *love* to own my own tools. Which is to say, really, that I already do. I have a developer-grade setup at home for the work I do on my own time. If I felt like I could go to my employer and ask for their tech budget for me, I would be thrilled to build my own box for work, also. I’d tailor the money spent on the box to things that are important to me and that fit my productivity habits.

    Another interesting point: because I can’t use my day-job equipment for side projects, neither my home box nor my 9-5 box are as well tuned as they could be. They both have little quirks that cost me time that aren’t worth the trouble to fix because I only use them for a fraction of my work.

    It seems obvious, but I take a lot more ownership over the tools that I *own*. If Howitzer broke, my reaction was “yeah something’s wrong with that box you gave me, call IT”. With the box I own, I practically always know what’s going on when it breaks because I picked out every part and I know how they go together. Maybe this is a counterpoint, it might be more efficient for a company to keep me from being distracted by IT.

  9. Another counterpoint: there are potential legal issues involving intellectual property and equipment used to develop it. Maybe it’s a California thing or a per-company preference, but my employer would much prefer that I use their computer for company work and my computer for side work.

  10. Very interesting. I had never considered IP. I’m guessing enough lawyer lingo could be cooked up to avoid it, but yeah, it’s probably definitely easier no matter where you live to keep it separate.

  11. Interesting that my dad is also a craftsman–a carpenter. He buys almost all of the tools that he needs, and some specialty ones are provided by the companies he works for. This can be a liability, as he has had people steal his tools from his truck. Plus, tools depreciate over time (get rusty, break.)

    Most of the tools I prefer using are free and open source. This makes it a bit easier to own the tools, as it replaces the cost of the product with the cost of learning to use it and refine it to your needs. Most of the time I don’t even really consider this cost, as it is fun. I wonder if I would make the same tool decisions if I had a billion dollars.

    In the same way that a carpenter sharpens saws, a developer should sharpen his or her toolset. When I’m writing code and notice some duplication or things that I’d like to learn more about in my toolset, I make a note of this in a special file. Then, when I feel like I have some time and interest, I go through the list and batch tackle the things I am interested in improving.

    Someone commented that having machines be out of sync tool-wise can be a demotivator. I agree, and that is why using simple, free tools well can be powerful. It’s easier to copy over your five configuration files than to set up most software how you want to use it.

    I’ve recently been developing offsite and using my Ubuntu-powered laptop to do so. It’s nice when changes I make at work have an effect when I get home. It has been a chore at times to get everything working smoothly, but overall I’ve been pretty happy. It is probably a somewhat unmitigated risk that I’m using this machine. If it suddenly melted or got stolen, it might take awhile to get my environment set up again how I like it. I back up all of the files that I have created, but I wonder what would be lost.

    As far as being hard for IT or a time sink for developers, I think that there are ways to go too far in both directions. The fact that corporate IT departments have been unwilling to accommodate new software leads to finding workarounds and loopholes. On the other hand, spending all of your time tweaking your environment doesn’t help. I’d say to look at the costs versus the benefits and see what the balance is. Make the changes that will pay off over the lifetime of the change. I lean toward making people more free and thus more responsible, but I suppose that is my nature.

    I wonder if your thoughts here are that by purchasing tools you have a new appreciation, respect, or feeling about the tools. Maybe it’s kind of like purchasing music is different from simply downloading music. Regardless, I would probably argue that you can own your tools without “owning” your tools. That is, you can master your tools and how they interact (whether physical or virtual) regardless of whether you have actually purchased them. That, I think, is a more useful mindset. Bearing this in mind, owning the tools from a monetary perspective is not sufficient to own them mentally, although the opposite may apply. I think that is what you were driving at.

    Here’s my algorithm for finding books. I stop when I have the content I need:
    – free and electronic? download it
    – someone I know has it? ask to borrow it
    – mostly work-related? ask for the book from work
    – purchase it myself

    Hence the preference is for free and electronic. If I had a billion dollars, I wouldn’t spend time hunting free copies, would just buy them instead (or maybe sit on a beach, but that’s neither here nor there.) The same cost/benefit applies to books as it does to any other tool. In this case, is the time that I spend reading this going to pay off over the long run? I’ve found that it almost always does, especially if you read actively.

    I can only think of a handful of technology books that I have read more than once, even the most theoretical ones. Most of the time tech books just become outdated or used for sparing references. For me, the value of having a book that I purchase for myself seems limited.

    Thanks for the post, it was thought-provoking!

  12. Coming back to this a little over a year later. As an independent, yes I own everything I use and prefer contracts where I’m allowed to use my own tools. We developers are in a nebulous world. On the one hand, we are like craftsmen creating new products using our skills. On the other hand we are professionals, providing applied knowledge as a service to other companies.

    As a professional lawyer at a law firm, I would expect the firm to provide me everything I need to do my job (this is the case with developers at a consulting company). As an independent, I know that I’m going to have to acquire the tools on my own. Compared to other engineering professions, I think the same patterns apply, I doubt Ford would expect their car designers to go out and buy a 10 thousand dollar license for their CAD package. But if they hired an outside agency, they’d expect that agency to have their own license.

    Unfortunately that’s the major difference. For some reason, companies still believe that staff aug works for software projects (I guess people still haven’t read Mythical Man Month) and expect the contractors to use their tools. They sneak around the “employee/contractor” definition by having a third party “hire” the contractor so “they” aren’t telling him where to work or what tools to use it’s the agency doing so. Microsoft already lost that argument. (But I’m not going to knock it too much because I pay the bills that way sometimes.)


Leave a comment