The problem with Compensation

August 10, 2007

(Disclaimer: I have not always followed what I have written below, as my co-workers would attest. I’ve learned and changed over time. People do that sometimes ::smile::)

Tech blogger Ellis Benus just posted a link to a post about programmer compensation entitled, predictably, Compensation. While an entertaining, obviously impassioned read, the overall sentiment is not one that I can agree with. And since that sentiment seems to be so common in IT, I thought I’d address some of its elements.

First, there’s this:

Most of [the software managers] are your average Econ 101 bean counting weenies. I can hear them now, “We can only afford to give three to five percent raises each year, because if we paid everybody what they deserved, then we would be spending too much. And what is it that these programmers do anyways?”

If most software managers are, in fact, “your average Econ 101 bean counting weenies”, how are they supposed to know what a programmer “deserves”? In my experience, the overwhelming majority of people simply do not understand what goes into software development and I think most developers (including the author obviously) would agree. However, if that’s true, how could they EVER pay someone what they deserve? What would they base it on? (See next paragraph for the answer!)

What’s the criteria for this “pay me what I deserve” scale? If it’s truly someone without a programming background determining the progammer’s worth, the only possible way they could pay him/her fairly is by trial-and-error, i.e. go through the experience of having both GOOD programmers and BAD programmers. This scale is necessarily relative in nature. After all, if you only ever had good programmers, how would you know they were good? Without sufficient experience, I don’t believe it’s possible.

And then there’s this:

A more likely scenario is that this bright young coder will finally break down and take a call from one of the bottom feeders, I mean head hunters, and he will land a job, somewhere else, making what he asked for, and taking all the things that you’ve taught him over to someone else. [. . .]

Oh no! Poor guy – he’s making what he asked for. Seriously, I get a little tired of the “poor me” approach some developers take. “The users are asking for something stupid” or “They’re making me do this”. So? You readily admit they have no idea what’s involved in your job. Does complaining about it serve a purpose? Unless your goal is to waste time and irritate folks who have constructive things to do, I don’t think it does.

We’d all do well to keep in mind that ANY relationship, work or otherwise, is made up of 50% one party and 50% the other. You each have responsibilities and options. In this scenario, the programmer exercised his right to better his situtation. The system worked as intended. End of story.


And guess what. In order to replace him, you are going to have to pay the new guy as much money as he was asking for in the first place. Plus that nice 15% fee to the head hunter. And now, because you were trying to be cheap, you have to spend even more than what you should have spent in the first place. And God knows, you’ll probably screw it up with this guy too, and thus the circle of life continues.

Maybe managers aren’t trying to be cheap. Maybe they’re trying to be fair and they’re just missing the mark. Hopefully, the manager will learn from experience, do some research, and offer better compensation in the future. When did managers stop being people? When did they become immune to making mistakes? Being afforded the opportunity to learn from mistakes? And growing as individuals? Why are people so quick to forget that managers are people, too? They have bad days. And they do dumb shit sometimes. You may not realize it, but so do you. Every day.

So managers don’t know what developers are worth? Well, neither does anyone else. If you don’t like it and don’t understand human nature well enough to deal with it, find a shop where you are satisfied or do something else for a living.

The rest of us developers will keep writing code and being nice to users. And we’ll be fine without you.


Stuff-you-haven’t-seen Friday (8/10/07)

August 10, 2007

It’s Friday! Here’s more stuff you haven’t seen:

Things to do in Denver when you wish you were dead

August 9, 2007

This week, I’m in the Mile-High City for training on Cisco content switches. As a public service should you ever find yourself in the same scenario, let me tell you how to get to [unnamed tech training facility] in Denver, Colorado.

First, find your rental car in the hotel parking lot, a Chevy HHR (a vehicle that is capable of outrunning only toddlers and the very elderly). Next, apply full acceleration to exit the parking lot and merge with other cars traveling at 30MPH. At this point, begin driving around the city. As you attempt to decipher the map you’ve brought, notice that several streets are named identically except for their suffixes. If you see Johnson St., don’t turn. However, if you see Johnson Rd., make a left. Don’t forget to curse the city planners. Also, don’t forget to accelerate liberally, or you may find yourself moving in reverse, such is the awesome power of the HHR.

Now, after 40 minutes or so and a distance traveled of approximately 2.6 miles, you should arrive at the correct street address for [unnamed tech training facility]. However, instead of [unnamed tech training facility], there will be a large fitness club in its place. You’ll want to sit on the curb outside the fitness club for a few moments retracing your steps, looking for [uttf]’s phone #, and just generally basking in the moment. When you’re unable to find a contact number and you’ve had your fill of curb-sitting, go inside and ask a personal trainer if she knows where [uttf] is located. She’ll tell you that it’s “downstairs“, where downstairs is short for “downstairs, across the parking garage under this building, inside section D of another building (whatever the hell ‘section D’ means), up the elevator, on the 3rd floor”. After another 10 minutes or so, you’ll be sitting in a classroom with 7-8 other folks, all of whom had nowhere near the difficulty you did.

There! Now wasn’t that easy?

$5.95 – All you can meet

August 7, 2007

Just a reminder: 95% of the time, if you leave a meeting without a clearly-defined, actionable item, the meeting was a waste of time or you shouldn’t have been in attendance.

In our office, we do a pretty good job of avoiding unnecessary meetings. However, there is the occasional status-update meeting wherein one person talks and everyone else listens. Then the next person talks and everyone else listens. Repeat until everyone (sometimes 15+ folks) has said his/her piece. By and large, these meetings can be replaced with a well-written, itemized email.

A couple of benefits to this approach:

  1. It’s historical. You have an immediate, easy-to-archive record of everyone’s project status from a moment in time. This avoids the pitfalls of poor memory or poorly-taken notes.
  2. Everyone saves time. They save the time it takes to sit in a meeting; time taking notes; time discussing the meeting topics later because they can’t quite remember when Joe said he would be finished with the Shopping Cart module and why he’s still waiting on Suzy to finish the Purchase Order module, etc.

Ok, my trainer is giving me the eye. Back to class! (FYI, I’m in Denver training through the end of the week)

The art of the life hack

August 6, 2007

I read about life hacks all the time, but it’s taken me awhile to understand their full potential. Life hacks, quite literally, will change your life.

Let’s talk a bit about what a life hack is. A life hack is anything that can remove clutter from your life, help you be more productive, enable you to save/make money, or any combination of the above. The trick here is that it should be simple. If it’s not easy to implement, the chances of it making a sustainable impact in your life are slim. The idea is that a series of small steps lead to a better life, wherein you’re more fulfilled, successful, focused, and self-aware. Life hacks may come in the following flavors: productivity, minimalism, uncluttering, frugality, economy of effort/motion, or plain ol’ efficiency.

A few examples (some I’ve mentioned previously and some I haven’t):

  • Merlin Mann’s Inbox Zero system (productivity, economy of effort, uncluttering)
  • LifeHacker editor Adam Pash’s Texter (economy of effort, efficiency)
  • Keyword launcher Launchy(efficiency)
  • Keeping a detailed project and task list with actionable, verb-centric items (productivity, uncluttering, efficiency)
  • Using Google Calender to track, share, and receive configurable reminders about your schedule (and you can even manage it via text message- how cool is that?) (productivity, uncluttering)
  • Subscribing to RSS feeds from sites like DealHack and Bargainist to find free or dramatically discounted stuff (AT&T & Amazon paid me $10.02 to take a new BlackBerry 8300 Curve) (frugality)
  • Paying your bills online manually or automatically instead of via snail mail or phone

Some excellent places to find life hacks

As a side note, the ultimate life hack is a good partner. This could be friend, relative, co-worker, spouse or all of the above (eww). Seriously, though, my girlfriend is a motivator, organizer, and co-financial planner. Plus, we’re very much alike despite the fact that we aren’t related. (Hey, I’m from Tennessee. I have to be clear about these things).

What it’s like to live in a cave

August 4, 2007

It’s cold and damp. There’s no light, really. And when you’re in this cave and you want to know if there’s new content you want to read on the internet, you have to actually type in a URL, navigate to a particular website, and look for clues that someone’s made an update. Sounds awful, doesn’t it? Nevermind the occasional attack by previously-hibernating, currently-starving bear.

Without RSS, I was living in a cave. It didn’t feel like a cave, but after I realized the power of having content delivered to me instead of going looking for it, my perspective changed completely. And you thought bookmarks were a time-saver – ha! The bear I mentioned? Well for me, that’s analogous to all the new technology advances that I was missing because I didn’t have time to scour the ‘net. Inevitably, I’d miss something important that would eventually come back to bite me.

This explanation is so 2001, but here goes: RSS is an acronym for Really Simple Syndication. It allows you to subscribe to web sites that enable RSS feeds. When feeds are updated, the content is delivered directly to your feed-reader. So instead of 10 (or, like me, 50+) places to check for new content, you have 1. Your feed-reader can either reside on your computer (FeedReader) or it can be web-based (Google Reader, Fastladder). I prefer web-based because it allows you to read your feeds wherever there’s internet, but there are benefits to both approaches. Specifically, Google Reader is my choice for reading both on my laptop and on my BlackBerry.

Once you’ve got your reader, the next step is get some feeds. Here are some of my favorite at the moment:

So get started already. If your favorite sites don’t offer RSS, drop ’em a line and ask them to. Hopefully, you won’t have to explain it to them, but if you do, you can always make the point that the more convenient it is to read their content, the larger their audience. I’ll explain why they may be reluctant in an upcoming post. . .

Stuff-you-haven’t-seen Friday

August 3, 2007

I’m catching up on my reading. Care to join me?

Let’s trade: you be me and I’ll be you, ok?

August 2, 2007

Or maybe in your free time, you can manage my identity for me. It is the internet, after all. These sorts of things do happen. And, really, who wants to bother with the time sink of being him/herself all the time?

As an occasional reader of Chris Pirillo, who you may remember from TechTV’s Call For Help, I’ve been following a recent thread of his. I’ll save you some reading:

Chris recently found his profile on Pownce, the invite-only social-networking, file-sharing thing. The only problem is that Chris never signed up for a Pownce account and that it was, in fact, someone else pretending to be Chris. He’s now in a dialog about identity-by-proxy wherein he’s considering the possible benefits of having his account managed by someone else.

Now, unless I’m mistaken, isn’t the entire point of social networking that you’re able to have an online identity that represents you, where you’re able to do whatever it is people do on a social network with your friends and your colleagues? While I can’t imagine that I’ll be needing to do so in the near future, I’ve had just enough bad experiences with outsourcing that I’d rather not outsource myself.

And aside from the actual issue of whether or not you’d choose to have someone else manage your identity, where are the controls to prevent the mischievous types from doing so without your consent? I’ve never tried it, but can I just go on Facebook and sign up as anyone I want? (I would’ve attempted it but I’m half too lazy and half afraid that it might actually work, and then what would I do with my Ted Nugent Facebook account?). Sure, the internet has always promoted anonymity by its very nature, but social networking strikes me as a fundamentally different creature. It’s just that. . . well, it’s supposed to be you, dammit.

Oh, well. My advice to you is to be yourself. You’ll have to excuse me. I have to check Facebook to see if my close friends Scoble, ScottGu, and Joel have visited my wall recently. At least, I think it’s them. . .

(FWIW, I don’t even have a Facebook account and those people have no clue who I am. Probably. . .)

Stop tying your shoes

August 1, 2007

Well, don’t do it more than once, anyway.

Silly as it sounds, one of my greatest time savers has been this knot. Start using it and you can count on the fact that your shoelaces will never come untied until you’re darn good and ready for them to do so.

My co-workers think I’m left-handed

July 30, 2007

As I was explaining the virtues of left-handed mousing to one of our web designers, he replied, “Yeah, but I’m not left-handed”.

Well, neither am I. So why do I use the mouse with my left hand? 3 reasons, really:

  1. Ergonomics – Switching to my off-hand for possible RSI-inducing tasks helps reduce their impact. My right hand and wrist don’t bear the full brunt of 10-hour days of software development.
  2. Balance – Call me a nerd (because I am), but I like the idea of being equally adept at doing things with either hand. Sometimes I brush my teeth left-handed, use a fork left-handed, and shave the cats left-handed, too. Ok, made that last one up.
  3. Economy of motion – This one was a by-product. One of the first things I noticed when I started mousing left-handed is how much more efficient it is. Here’s why: think about the distance your right arm travels as you move from the mouse to your home keys (jkl;) and back again. Unless you’re doing ten-key often (and I hope you’re not – sorry, data entry folks), that’s wasted effort. Depending on the size and configuration of your keyboard, that’s an extra 4-6 inches of motion every time you switch. If that doesn’t sound like much, think about how many times you do that during the day. If you’re like me, it’s in the hundreds. But, with resources like Smashing Magazine’s 200+ Hotkeys To Boost Your Productivity, I’m getting better all the time.

Sure, it’s hard at first. You’ll notice certain shortcuts aren’t quite as accessible as they used to be and you won’t have as much coordination as you did. That’s ok – you’ll adapt and the coordination will come. And when it does, you’ll be impressed that you got used to it as quickly as you did.

I know I was.