I don’t usually read autobiographies, but recently a close friend of mine suggested that I read “Surely you’re joking, Mr. Feynman!” Being bored with the book I was currently reading, I decided to give it a go. In it there is a chapter title “A Different Box of Tools.” While I didn’t really learn anything I didn’t already know, it affirmed a thought that had been mulling around in my head for some time, which I’ll come back to in a minute.
Not too long ago, I had a bit of a revelation about how I work. Like most of these kinds of things, I had to hear it from someone else, and like most of these kinds of thing that actually stick in my head, I had to hear it from my boss. For those of you who work in the tech industry, you’ve probably heard the term “Thrashing” thrown around, and while it can mean different things, generally speaking, “Thrashing” is what happens when your computer spends more time waiting for memory do something than actually doing that something.
In terms of what this means for me as a person, it means that I take on some number of tasks before realizing that I don’t actually have the bandwidth to complete them all in a given time frame, but being stubborn, I don’t like the word ‘can’t’ very much and so I plod on. The result of this is that when I get stuck on something, I’ll jump tasks so that I don’t feel like I’m wasting my time. What’s really going on is that my ego is telling me that I can figure this thing out, after I do these other tasks. Inevitably I come to a point where I’ve gone around a few times and actually have to spend the time on the task. But this only partially addresses the issue.
To illustrate I’ll use Feynman’s example of the toolbox. In my toolbox I have a set of tools that I’ve picked out to do a particular job, lets say, I’m an IT guy focused on providing various IT services, so I’ve got in my toolbox my laptop, a couple of different screw drivers, some Ethernet cable, some wire strippers, a punch down tool, and maybe a small socket set because sometimes they want me to install a projector. Now I go out to my car, and I realize that I’ve left the headlights on and my battery is dead. I’m not a car guy, so keeping a set of jumper cables hasn’t occurred to me, but I’m a smart guy and can figure a lot of things out. I remember that we’ve got a spare set of UPS backup batteries in the IT closet, and if I wire them up in series, I’ll get the 12 volts that I need to start my car. So I lug the batteries down, strip some cat 5 and I can hear beeping from the car since I’ve left the door open. I’ve got voltage! Great! Thinking I’ve got everything I need, I jump in the car and turn the key, and the wires melt and now I have a mess. Now, I’m no dummy, its late in the day and I’m tired and I just did something really stupid by not thinking about how much current the starter is going to draw trying to turn the engine over. So I scrape the bits of melted plastic off my bumper, cursing under my breath, and grab 50 feet of cat 5 and set to work cutting, stripping and twisting together a ridiculous mess of wires to be used for something they clearly weren’t designed for thinking, I just need it to start.
Now, I’ve made my toolbox work — the bundle of wire is enough to hold the current just long enough for the engine to catch and start before melting and my car is running. I feel proud of myself for having improvised a solution, but in the process, I’ve probably destroyed the UPS batteries that really don’t like that kind of current draw, wasted a ton of cable and am a little light headed from melting insulation, but I accomplished something! As I sit down in my now running car with a clock that’s a tad off, I slowly come to the realization that a far better solution would have been to ask for a jump from my coworker who’s still in the building.
Here’s a more applicable analogy. I have a spreadsheet that has a bunch of poorly formatted data that I’ve gotten from someone. I’m pretty good with Excel and have learned enough visual basic that I can do some nifty things, but programming has never really been my thing, so it takes me a while — to the point where sometimes its debatable whether or not writing the program would have actually been quicker. Now, I’ve recently learned that one of my coworkers is a python wiz, and one day while trying to figure out how to do something, I mention to him (more in a complaining sort of way) this problem I’m having, and he says, ‘give me a csv and I’ll have it done for you in 5 minutes.’ My jaw drops in a bit of disbelief, but sure enough, 5 minutes later I get a csv back and all the problems are fixed.
My point is this, we all have our toolboxes, but its usually our Ego that stops us from borrowing tools. Its easy to get worried about looking foolish, but when you consider that what took me 3 hours to do, took someone else 5 minutes to do, did I really accomplish something by figuring it out? Certainly there’s value in learning how to do something, but there is easily better value in learning how to ask for help.