Stories about Software


We’re Not Beasts, So Let’s Not Act Like It

If I were in the kind of blogger that sought readers via click gimmicks, I might title this post, “In Business, You’re Either a Partner or an Asset.”  Actually, on reading that, it still wouldn’t exactly be juicy click bait, but it’d at least be less nuanced and more provocative than my actual point here.  Maybe.

On Cats and Humans

Rather than get to the point, I’ll lead with a parable of sorts.  Let’s say that I were an aspiring entrepreneur in the death market, and that I were interested in “niche-ing down.”  I wanted to start an extermination business, and, specifically, a mouse extermination business.  You’ve got mice?  Call Erik — the mouse-killer.

Toward this end, I establish two distinct service products.  The first is that I’ll dispatch a mouse-removal expert to your house to take a more-or-less scientific approach to mouse removal.  This person will wander around your house, doing whatever it is that exterminators normally do, dispatching poison and such.  This will cost you $100 per hour.  The second service product is that I’ll rent you a cat for $15 per day.  The cat will wander around your house, doing whatever it is that cats normally do, which presumably includes chasing and sometimes killing mice.

The difference in price is significant, but it also makes sense.  The exterminator, while onsite, will focus in laser fashion on your mouse problem.  He’s basically a consultant, dedicated to helping you with your mouse problem.  His time is valuable.

The cat, on the other hand, will do whatever it wants.  It will arrive onsite and most likely take a nap.  It will then wake up, meow for food, wander around the house, purr and put its anus near your face, spend a weird amount of time sniffing a couch cushion, and then, maybe, take an interest in the scrabbling sound in your wall that represents the mouse problem.  Or, maybe it won’t.  Maybe you’ll just have to wait until tomorrow or the next day.  Eventually, the cat will be sufficiently interested to do something about the mice, but that’s clearly going to proceed according to the cat’s calendar and not yours.


Are You a Cat?

I’ve talked before about the gulf between a software developer’s market worth and a software developer’s salary.  If you’re reading this and you’re a software developer, you probably make something like $50 dollars per hour (on average).  But if you agreed to do some spot moonlighting for me, I could probably sell your same labor for up to $150 per hour (though admittedly not for 40 hours per week, like clockwork).  And I’m not alone in this — application development ‘consultancies’ across the US tend to bill at around $150 per hour for a “senior software engineer.”  And they can sell it for $150 per hour like clockwork.

I suspect that you’re aware you could make a lot more money if you hawked your labor on the open market.  But I also suspect that you sort of put it out of your mind, in much the same way that you put your slightly elevated blood pressure or weight out of your mind — yeah, yeah, you know it’s not ideal, but you’ve got a lot going on and it’s depressing to think about, and that’s what New Years of 2020 is for, and you’ll totally… yeah, I get it.  I’m not here to judge.

So let me assure you that I’m not going to, in the coming paragraphs, nag or judge.  Instead, I’ll just offer food for thought.  I’ll ask you if you aren’t being a cat instead of an exterminator.

Are You Able to Focus on the Goal?

Looking back, it’s been a good decade to be a software developer.  It’s pretty common for people in this industry to sport salaries that eclipse that coveted $50/hour or $100K/year mark.  And we don’t even need to try especially hard, at least when it comes to finding such jobs (we certainly try hard once we’re in them, by and large).  After all, we get several emails/calls per day from recruiters telling us that we’re just the sort of ninja rock stars that like 20 different clients of theirs want.  We listen from time to time, do the interviews, and buy into the notion that these companies want to hire us for being the unique, special snowflakes that we are.

But they hire us as cats in that scenario.  They put us in a maze with the scent of mouse, set up some tricky obstacles, and observe how well we navigate.  This is called a “tech interview.”  And it’s designed to gauge how well, with some prodding, we can be manipulated into hunting mice.

Does that seem cynical?  If so, let me ask you a few questions.  The last time you picked a database (or NoSQL option), were you thinking more about what would cost your company the least or were you thinking more about what would look good on your resume?  The last time you picked an IoC framework, were you thinking more about the most expedient way to deliver the project, or were you thinking about the one, true, right way to do things?  When was the last time that, while chasing the best way to implement a new language feature, you stopped and thought to yourself, “would anyone with a client’s best interest in mind pay me to do what I’m doing right now?”  Or do you, instead, think to yourself, “well, this makes me better at programming and my company pays me to program, so really, everyone wins!”

Make no mistake — I’m not advocating that some PMP somewhere must always bless every move you make, even if he could begin to understand all such moves.  I’m just asking how often you even think this way.  Are you ever plowing down some potentially blind alley and asking yourself, “is this a profitable use of my time?”

If not (and be honest), you’re a cat.  You’re taking naps, meowing for food, purring, putting your anus in people’s faces, sniffing couch cushions, and, every now and then, doing what you’re supposed to be doing — chasing mice.  You’re doing whatever you feel like and expecting to be compensated for it.  And you’re being compensated for it appropriately — at 1/3 the value you might realize if you focused exclusively on what provided value.

Cats are beasts that aren’t trainable (for the most part).  If you want to capture value from what they do, you have to weigh the value of their actions on cat time.  You have to accept that a lot of what they do will be waste when it comes to your goals and assess the worth of their labor accordingly.  An exterminator is worth $100 per hour because you know that exterminator will be entirely dedicated to solving your mouse problem.  A cat is worth $15 per day because it will do whatever it wants and you have to hope that some fraction of that can be harnessed toward the useful end of getting rid of mice.


Why Software Developers are ‘Managed’

Does it ever seem strange to you that we’re so highly compensated, and yet there’s an entire industry of people (managers, project managers, product managers, delivery managers, business analysts, etc) whose main charter is keeping us focused?  Doesn’t it seem odd when you weigh it against the utter lack of something like this for other sorts of knowledge work (doctors, lawyers, etc)?  It’s not so odd when you consider that family doctors don’t ignore their patients because they discovered some interesting new skin rash and that practicing lawyers don’t spend more time picking out the ideal suit for raising objections than litigating.

Being a cat is actually kind of awesome, in a Hotel California way.  It’s like being in a think tank — you show up, do whatever you want, and get paid well for it.  The only drawback is that you have to put up with ‘cat handlers’ nagging and prodding you to be more effective and that you don’t get paid as well as you could.  Oh, and also you have no real autonomy.  Sure, you can nap when you want, but you don’t choose your clients.

As a developer, it’s nice to show up to work and have the freedom to argue with people on Stackoverflow, to spend days or weeks ruminating about MVVM vs MVC vs MVP, to make your code beautiful, and to switch javascript frameworks every six hours when a new one comes out.  Does making the ‘right’ decision about any of that stuff matter?  Who cares!  It’s being right that’s most important.  At least, as long as you’re a cat.

Maybe life is good enough as a cat that we shouldn’t rock the boat too much, but I kind of don’t think so.  I love the autonomy of being a free agent and the feeling of satisfaction from working directly with people that want me to solve business problems.  They leave the technical decisions to me without any kind of ‘governance’ because they view me as an exterminator and not a cat — they trust that my efforts will be dedicated to their problems and not to my own whims.

Sometimes that means that I have to be content with a less than perfect technical solution or that I can’t pick a bleeding edge technology because it’s the “new, right thing.”  That bums me out when it happens, but I wouldn’t trade the pay or the freedom for it.  I decide that I won’t be including keepingUPwithTHEjonses.js in my next project instead of having some project manager slap my hand and tell me not to do it.  And I think that’s a great tradeoff, personally.  And so do my clients.


So What?

I’m not saying that everyone is doing it wrong, nor am I lobbying for a mass change (at least not yet).  I’m not saying that you should stop working for companies, that you should demand a raise, or that you should refuse to work with * managers.  My call to action is much smaller.  I’m just asking you to stop being a cat.  And, how do you do that?

All that’s required is a simple, cognitive game.  Do your best, at all times, to be able to articulate who profits from what you’re working on, and how.  If the answer to that question ever becomes, “gosh, I’m not sure,” then you’re purring and wandering aimlessly.  Do that on your time for your own amusement, and get back to the task at hand.  If you do that, you won’t need to be managed, like a beast, and you won’t need to surrender a cut of your worth to a beast handler.

Newest Most Voted
Inline Feedbacks
View all comments
Grant Winney
8 years ago

How about “One easy step to doubling your pay and increasing your freedom!” or “By 2020, 3 cats will replace you at work!”? I don’t think click-baity headlines need to make a lot of sense… the more nonsensical, the better. 😉

It’s not always easy to see things from the company’s perspective, but introspecting from time to time on what we’re currently doing and why (are we meandering down a personally interesting path, or are we doing something that is worth the money the company is paying us) seems like a very good thing.

Thanks for the food for thought.

Erik Dietrich
Erik Dietrich
8 years ago
Reply to  Grant Winney

Yeah, bonus points if the post has almost nothing to do with the sensational headline too 🙂

Glad you like the line of thought here. And that’s really all I meant it to be — something to contemplate every now and then.

8 years ago

So for a software engineer, basically I can be a cat, get paid less but have a normal job, PTO, sick days and more, or owning my own consulting company which will make me 3 times more money, but I will have to get work (which is not easy, you have to build your name)?

One more question: so working as a cat for some exterminator is a bad deal no? the cat will get cat money but will be working like an exterminator. is that right?

Erik Dietrich
Erik Dietrich
8 years ago
Reply to  Victor

I think there are a lot more paths than just those two. The thing that comes immediately to mind is to behave like the exterminator in a ‘cat role’ and gain more leverage in salary and promotion negotiations (or when switching jobs). I think that if programmers as a larger demographic starting being more exterminator like, so to speak, there’d be (mercifully) fewer people tagged with doing nothing but ‘managing’ us. One doesn’t need to own the extermination company to be an exterminator. The employed exterminators still make more than the cats. (though I’m probably pushing the limits of this… Read more »

Andrzej Rehmann
Andrzej Rehmann
8 years ago

Nice analogy.

I like this paragraph:
>Being a cat is actually kind of awesome, in a Hotel California way. It’s like being in a >think tank — you show up, do whatever you want, and get paid well for it.
>The only drawback is that you have to put up with ‘cat handlers’ nagging and prodding >you to be more effective and that you don’t get paid as well as you could. Oh, and also >you have no real autonomy.

Erik Dietrich
Erik Dietrich
8 years ago

Thanks — glad you liked!