Category Archives: career

You Are Not Special


Photo by: Ethan Hein

Everybody wants to think they are a unique and special snowflake. And they are … in a blizzard of other unique and special snowflakes.

If I seem to be going a little Tyler Durden here, it’s because I am sick to death of people assuming that the challenges they face are unique. That no one else in the history of the world has ever faced quite what they face. And in particular, that working in IT is just so completely different from every other profession out there. Despite the fact that they’ve never worked in any other profession, and don’t realize it’s the same everywhere.

“Technical Debt” … AKA Taking Shortcuts

People who write code for a living have a very specialized vocabulary, just like every other profession. And just like in every other profession, knowing the lingo is a screening tool to separate “us” from “them”. But people immersed in the vocabulary every day don’t know that they’re using jargon to describe a well-known concept.

Take technical debt. People in IT write articles arguing whether it exists or not, what to do about it, how stupid managers are for allowing it to build up. But all it means is that if you take a shortcut today, at some point in the future you’re going to have to pay for it, and it will probably cost more when you do. Yes, this is exactly what Fram was talking about when they said, “You can pay me now, or you can pay me later.

It doesn’t sound so impressive once you realize they’re just copying an old commercial, does it?

“Arbitrary Skill Lists” … AKA Weeding Out Resumés

Job listings in IT tend to be full of acronyms, and list how many years you should have worked with each technology. These lists are “unreasonable” and “arbitrary”. And exactly the same as job listings in every other industry.

What does a degree in Art History have to do with being an office manager? Not a damn thing, but you need “a college degree” to get in the door. Any old degree is fine.

And four or more years of experience with this specific vendor’s purchasing system, which has only existed for four years, is “preferred but not required”.

Oh, and Clarity for project management.

And Peoplesoft for HR.

And SAP.

And Oracle Forms.

And Sharepoint.

And this is for the entry-level admin assistant job. The Office Manager job has already been promised to the current admin assistant, but HR says they have to advertise the opening anyway.

Same as it Ever Was

Sure, there are things about every industry and segment that are unique to that area. But it’s not nearly as much as people seem to think. Odds are whatever you’re thinking is unique really isn’t. It’s the things you do every day without thinking about them that set you apart.

Being Useful Is Better Than Being Right

Being right isn’t nearly as important as most IT people think. Understanding why that’s true is one of the fastest ways to build trust and respect with the non-IT management in your company.

Let’s try an example where it’s better to be useful than to be right

Suppose you find out there is a structural problem with your building. It is severe enough that the building could collapse at any moment.

Being Right

You look up the emergency notification policy in the employee handbook. There’s a number to call. You call it and explain the details of what you’ve discovered. They start asking questions about evidence, as you get frustrated that they’re not responding fast enough to this emergency, and why don’t they get it?

Being Useful

You pull the fire alarm and everyone leaves the building.

Business Prefers Useful

Executives like to get things done. They got where they are by being good at getting what they want. The respect and respond to that trait in others.

So if you want to be recognized as someone who can get things done, you need to actually get some things done. If excruciating detail is what it takes to convince someone they should listen to you, then use detail. If a convenient metaphor will make your point more strongly, then use one. Of course it will gloss over important details, that’s why we use metaphors. They simplify reality in a (hopefully) useful way.

Find a good balance between rightness and usefulness, and you will take control of your career like you never imagined you could.

How To Stop Turning Down Work

It’s your sixth birthday and your grandfather has just handed you a ridiculously heavy package the size of a shoebox. You open it up to see that yes, it is a shoebox. A shoebox full of pennies.

“I’ve been dropping all my pennies in there each night since you were born,” he says. “I planned to give it to you when it’s full, and it’s getting close. There’s probably more than $200 in there. All you have to do is count them out into stacks of fifty and roll them in those little paper sleeves.” This was before the automatic coin counters appeared in grocery stores.

Your six-year-old mind reels at this windfall. You count and wrap until your hands are cramped. You beg you mother to take you to the bank to turn the pennies into “real money,” then straight to the toy store to get Frogger for your Atari. (Any similarities to the author’s life are purely coincidental.)

Flash forward to today. Someone offers you a box of pennies. All you have to do is count them by hand. You might still take it, but it’s not going to be such an obvious choice. How long will it take? What could I be doing instead?

Thinking small

For the mid-career freelancer, this is the calculation that dooms you to punching a clock. You could build that website for the local restaurant, but they want you to keep it up-to-date with their specials. You’re not interested in doing maintenance, and they can’t afford to keep paying your development rate. So you don’t take the work.

You just turned down a lucrative contract because you’re thinking like an employee. No, you don’t have a boss, but you still think that any hour you’re not working is an hour you’re not getting paid. To break this mindset, you need to start delegating. You need people working for you.

You’re making it as a freelancer because you solve people’s problems. When someone wants a site and ongoing support, they have two problems. You can solve the first by building the site, and the second by finding a qualified support person. There are plenty of online resources for finding contract technical workers. Don’t make your client go to these sites and try to evaluate people, do it for them.

Thinking big

Instead of selling a Content Management System that will allow a small business owner to update his own site, offer a one-stop service, where your employees will keep the site updated for a monthly fee. Do this enough times and your “passive income” could exceed your new development work.

But even if you don’t take a cut of the support fees, having the capability means you can bid on a whole new type of contract: the large kind.

How to negotiate a better contracting rate

In any transaction, the person with more information and more experience usually comes out ahead. That’s why the typical consumer negotiating with a full-time salesman is at a huge disadvantage. A car dealer, for example, might negotiate several sales every week, while you only do it every two to three years.

So people making big decisions — new car, new house, new job — do as much research as they can, trying to level the playing field just a little bit. And lots of the information they come up with is flat out wrong.

One of the most damaging pieces of advice to follow when looking for a job is to rely on a headhunter’s self-interest to get you the best rate. The idea – which seems quite reasonable on the surface – is that the headhunter’s commission is a percentage of your salary. Obviously they want this number to be as high as possible. It’s easy to believe that their self-interest lines up with yours.

The first flaw with this idea is that the headhunter doesn’t get anything if someone else gets the job. If there are multiple qualified applicants, you are on the wrong side of a bidding war. The contractor doesn’t want to price you out of the running, so the incentive is to lowball your rate.

The second flaw is that every day the headhunter spends searching for your perfect job is day they don’t spend finding a job for the dozen other people they’re working with. They make more money by placing more people than they do by placing fewer people at higher rates. 30% of $70k x 3 is more than 30% of $80k x 2. Their incentive favors the quick hit, not protecting your interests.

So what do you do about it?

  • Stop thinking of the headhunter as your own personal agent.

    They’re doing a job for you, but they are more interested in getting you something than in getting you the best thing.

  • Know what you’ll accept before taking the interview.

    Have a bottom line that you won’t go below. Based on what you hear in the interview, you may decide to demand even more to accept the conditions. But your lower limit should never be negotiable.

  • Ask what the range is for the position up front.

    There’s no point in wasting time on a position that you’ll never take.

  • Never give up something for nothing.

    If they want you to travel and you don’t want to do it, ask for extra vacation in return. If they want you to be on call, ask for comp time. Never give up one of your demands without getting a concession in return.

  • Get it in writing.

    You can’t deposit a promise in the bank, or buy groceries with verbal assurances.

So are all headhunters ready to sell you out at a moment’s notice? Of course not, even if onlyto preserve their reputation. But if you want to avoid being disappointed, you should never forget that your best interest only sometimes matches up with the headhunter’s interests.

Hate the game if you want, don’t pretend it isn’t being played

When I was in college I worked at a bar that had a pool room. I played a lot when it was slow and after hours. I got pretty good on those tables. Only “pretty good” and only on those tables … I knew where the dead spots were in the rails.

If I bet anything on the game, it was usually who bought the next round. Sometimes we couldn’t drink as fast as we played, and we’d go for a dollar a game. We were all friends, and it was just to make the game more interesting.

But every so often someone would come in who none of us recognized. You could usually tell really fast who was better than just a casual player. Sometimes they’d see if they could get a game for $5. I’d always take them up on it. And I always won the first game.

Then they’d ask for a rematch … let them win their money back. I’d take that game, too. Sometimes I’d win, sometimes not. But I was breaking even so I didn’t care. It was usually after the second game that they’d look at their watch and realize they had somewhere they needed to be. But they had time for one more game.

How about one last round for $50?

No.

How about $30?

No.

Come on, give me a chance to win it back!

No, you’re a better pool player than I am. But you suck at reading people. You thought I didn’t know you were throwing the first two games.

That’s when they’d get pissed. It wasn’t fair that I took their money even though they could beat me without trying hard. I was just a punk-ass bitch that couldn’t carry their stick.

Yup. But I had their money, and they were leaving.

If I wanted to, I could have spent the equivalent of a full-time job becoming a professional level pool player. I would have run into diminishing returns as I was going up against ever stronger competition. It would have dominated my life, and the only way to make a steady living would be constant travel.

Plus there’d be no retirement plan. Your earnings stop the moment you stop playing. The skills don’t translate to anything else worthwhile.

So I stayed in school and learned to be a programmer, which doesn’t suffer from any of those negatives. </sarcasm>


Hmm, that came out a lot longer (and a lot faster) than I expected. It all started from one idea, though: You don’t win by being better, you win by playing better. And you start by knowing what game you’re playing.

When you’re in an interview, you’re playing the “get the job” game. Once you have the job you’re in the “impress the decision-makers” game. If you go the uISV route you’re in the “sell the most product” game.

Being better at coding is one of the plays in each of those playbooks. But it’s not the one they keep score with.

Is your resume hot or not?

Getting a job is like getting a date.

  1. There may or may not be rules to it.
  2. It may or may not be fair.
  3. They may be so desperate it doesn’t matter what you say. But do you want to hook up with someone who’s desperate?
  4. Or maybe it doesn’t matter what you say because they’ve decided the answer is “no” before you opened your mouth.
  5. The more in-demand you are, the more choosy you can afford to be. But if you want to get this job — or this date — then you’re probably going to have to say what they want to hear. Good luck figuring out what that is.

A Tale of Two Techies

You’ve just finished learning MS SQL 4.2 and VB 5 in school. You get a job with a company that has just upgraded to those languages. You get to learn the ins and outs of the languages along with the rest of your co-workers.

Two years later you want to upgrade from your entry-level salary. You know that big raises only come from job hopping, and you see that most of the job ads are for VB6, so you start studying it on your own. You find some cool new things you think would help in your current job and start pushing people to upgrade.

Your tech lead, Bob — who has been with the company for seven years — says the current applications are stable and it’s not worth the cost to upgrade. The boss listens to Bob instead of you. You say bad things about Bob on an internet forum.

You find a new contract gig working with VB6, and making almost as much as Bob does. Boy, Bob sure is dumb. If he had any balls he’d have jumped already. You start racking up frequent-flyer miles chasing the next gig. Bob evaluates and recommends a new third-party tool that uses VB6. He gets a VB6 class for his whole staff included in the project cost.

Five years later, you’re a .NET hired gun and you know which airports have the best frequent-flyer clubs. You’ve got a fat bank account and all the best buzzwords on your resume.

Bob is still with the same company, but now he’s the IT Director. He’s not making as much as you, but he’s vested and his 401 is looking pretty good. He hasn’t touched any code in a couple of years, but has a few long-term employees working for him whose opinions he trusts. He also hasn’t answered an after-hours page for a few years.

You meet Bob on a street corner one day and talk about old times, catch up on what’s been happening. Suddenly a car jumps the curb and puts you both in the hospital. Oops.

You were smart enough to get good medical insurance, but your income stops since you’re not billing hours any more. Bob goes on medical leave. His wife takes his two children out of junior high and comes in to visit. Your pregnant wife comes in to visit. (You spent your twenties traveling, so are just starting your family.)

Three months later, Bob goes back to work part-time while you sit at home, surfing the net, searching for a gig that will give you the flexibility you need to work around your physical therapy.

By the end of the year, your savings are gone. Microsoft has released the Next Big Thing after .NET, and you don’t have any work experience with it on your resume. You’re applying for maintenance gigs on “legacy” apps — two-year-old .NET apps written by guys straight out of school, who just left for their first not-entry-level jobs. Maybe in another year or two you’ll be able to climb back onto the leading edge.

Bob just accepted an internal transfer to run the division he’s been supporting for the last decade. He recommends as his replacement the long-term employee who filled in for him during his absence. The last division head held the job for 15 years until his retirement. Bob could do the same, and retire with a decent pension when he’s 60.