Skip to content

Life isn’t fair—The review curve

 Two devs, Harley and Charlie, same level, same division. Harley works hard and well; Charlie works hard and well. Harley is smart; Charlie is smart. Harley is a team player; Charlie is a team player. Harley works on a high-profile feature; Charlie works on a low-profile feature. Guess who comes out on top in calibration? Guess who gets the 4.0 instead of the 3.5? You know it’s Harley.

Eric AsideThe numbers refer to the old Microsoft rating system, which ranged from 2.5 to 4.5 (the higher the rating, the better the rewards). While a 3.0 was acceptable, most people pursued and received a 3.5 or higher. We’ve changed the review process, like the rating system, many times at Microsoft, but it’s always been about comparing and calibrating your work to the work of others doing the same job at the same level of responsibility.

I can’t tell you how many times a Charlie has walked into my office or the office of another manager to whine about how he got shafted. “I worked just as hard as Harley,” says Charlie. “You assigned me to the crud feature. I followed what you said and I got the frigging staff. It’s not fair.” Sorry, Charlie—life isn’t fair.

Hear that crashing sound? It’s the Charlies of the world leaping out of their seats and screaming, “What the heck do you mean, ‘Life isn’t fair’? What kind of excuse is that for your poor management! You delegated this crud to me. Am I supposed to blow off your assignment and then drive a truck over Harley and steal his? Who GPF’d your brain, and why am I still working for a manager with a blue screen for brains?”

Welcome to the real world, Charlie. It’s harsh and switching managers may not help.

Eric AsideGPF means general protection fault, which crashes old computer systems, causing them to display a blue screen with crash information. As for Charlie’s system crash, from his perspective he was set up for failure, when in fact, as I describe next, Charlie had choice and opportunity but passively allowed himself to fail.

I’m not going to take this anymore

Sure, management matters (to borrow a phrase), but it’s your career and managers have to juggle many different demands. Someone has to create the less glamorous features, and if you are willing to do it, well you’ve made your own bed. I hope it’s comfortable.

But no one says you have to lie down and take it. Wake up, grow up, be your own Harley—hit the throttle and put your career in the passing lane. “How?” you say. Get wise or eat Harley’s dust.

The Harleys of the world are either lucky, savvy, or both. Because we’ve already concluded that your luck stinks, you’d better get savvy. Here’s the key: the savvy dev knows the customer and knows the business.

Eric AsideThe names “Harley” and “Charlie” were originally “Hughie” and “Dewey.” (I enjoy “Car Talk.”) When I came to the critical “Sorry, Charlie” line, I changed names. The only neutral name I could rhyme with Charlie was Harley, as in “Harley Davidson.” That set the tone and metaphors for the rest of the column.

Knowledge is power

Sometimes high-profile features are obvious; everyone can point to them from the beginning of the product cycle. However, there are always features that don’t look high profile but will be, and some seemingly high-profile features that turn out not to be. To discern the difference, you, Charlie, must understand your customers and understand your business. Typically, most of your team, including management, doesn’t.

Why don’t many of your peers and managers understand your customers and business?

  • Because they think they understand, but are relying on old information.
  • Because they think the customer is just like them and the business is to “make lots of money.”
  • Because they are relying on someone else to understand these things.

You don’t need to be so foolish and ignorant.

Taking care of business

To align your work with the business, you’ve got to research your group’s business model. Remember, your boss may not be any more familiar with it than you are. Chances are good that your product unit manager (PUM) knows it fairly well and that your PUM’s boss knows it quite well. It’s easier to get an appointment with your PUM, so start there.

However, a chat with your PUM may not be enough. A PUM’s view of the business model may well be skewed to overemphasize her own products. To really understand the bigger picture, you often need to go to the director, general manager (GM), or VP. As an important courtesy, seek approval from your PUM first, then set up a meeting with her boss.

Uh oh, it’s Charlie again: “Why in the world would my director/GM/VP ever want to see me? Don’t they have better things to do with their time?” Assuming that they have a free 30 minutes, most of these high-level folks would actually love to see you.

Eric Aside The days of PUMs are nearly over at Microsoft, though we still have directors and VPs. You can read more about Microsoft’s switch away from product units in Are we functional?

Go ahead, make my day

Sure, a director/GM/VP’s life is full; they deal with politics, defend their division and strategy in meetings, put out fires left and right, scrub data to support their positions or find weaknesses, and all sorts of other tasks completely abstracted from the real work that you do—the real work that they did when they started out. Trust me, they miss it.

These high-level folks love to talk to real people. It helps them get in touch with what’s happening on the front lines. They love to talk about the business with folks who’ll admire them and politely ask them questions that are easily answered. It’s a little slice of heavenly pie for these VIPs, and you are the essential ingredient.

One thing to remember is that high-level people deal with problems all day. They don’t want to hear you complain; if you use this time for whining, they will associate you with your problems. When you ask for the appointment, make it clear that you want to talk about where you and your team fit into the business.

Eric AsideAs an employee, you have every right to complain to upper management about any problem you see, any time you want. You shouldn’t keep problems to yourself—you should seek solutions. That said, this particular appointment with your director/GM/VP is about understanding the business and getting to know your leadership on a personal level.

Reach out and touch someone

So, you’ve talked to your upper management and charmed them while you learned about your business model. (This will also come in handy at promotion time.) Next you need to understand your customers.

Charlie says, “Isn’t that the PM’s job?” Sure it is; just don’t choke on Harley’s exhaust as he rides off with your rating. It is everyone’s job to understand the customer, and there are plenty of easy ways to do it:

  • Observe usability tests.
  • Attend customer visits and focus groups.
  • Join an online community.
  • Talk to the Product Support Services representative for your products.
  • Read reviews of your products.
  • Check out reviews of your competitor’s products.

Do whatever it takes to get in touch with your customers. Know what they want and what they really care about.

Got lemons? Make lemonade

Now you’re ready to slap on some chaps and fire up the hog. If you know the business and know the customer, you can tell which features are juicy and which are window dressing. You’ll also know which features aren’t getting the attention they need to really win the customers’ business.

Eric Aside“Hog” is an affectionate nickname for a Harley Davidson motorcycle.

Chances are you already work on some not-so-flashy features. Recognize that they have the potential to be key to your product’s success. They just need to be focused on serving your business and customer needs. Move them in that direction and you’ll become the team hero.

Change your tune

If you find that others have all the sweet assignments, or you just can’t stand to work on backward compatibility, legacy support, and setup (which are key but not exciting) anymore, there are other ways to change your fate.

The easiest way is to choose the best features to work on at the beginning of a product cycle. Because most folks are ignorant of business and customers, you shouldn’t find it difficult to identify some prime features that others will miss. However, if you’re already in the game and feeling shut out, there are two sure ways to get yourself back in:

  • Look for late-breaking feature needs. These are the “whoops we forgot that” feature, the “last-minute customer request” feature, the “keep up with our competitors” feature, the “new cool enabling technology” feature, and the ever popular “this critical feature stinks—we need new blood on it” feature. Remember your business and customers to avoid jumping onto a loser; but if it’s a winner, get all over it. If the boring, stupid features that you were working on suffer as a result of your new assignments, they should have been cut anyway.
  • Become the backup dev for a great feature. Go to your boss and say, “Hey, Harley is working on a pretty critical feature without any apparent backup. If it’s alright with you, maybe I could learn more about it, maybe help him fix bugs or something, and then we’d have a backup in an emergency.” Bingo, you’re in. Either you get to be the hero this go round or you get Harley’s feature next go round when he moves onto something else.

Eric AsideI talk more about taking advantage of opportunities later in Opportunity in a gorilla suit.

The one behind the wheel

Life really isn’t fair, and the good assignments don’t just get handed to you. It’s true that your boss should understand your business and customers, and share the wealth in assignments. But you can’t count on your boss’s knowledge or generosity to move your career forward.

Take ownership of your career and the work that you do. Know your business and customers well. Apply that knowledge to make your products better and drive your career forward. If you succeed, it won’t just be you who wins, we’ll all reap the benefits.

Eric Aside There are three columns that hold a special place in my heart: Dev schedules, flying pigs, and other fantasiesWhere’s the beef? Why we need quality (a turning point on the road to quality), and this one, Life isn’t fair—The review curve (critical topic and a fun read). Many great topics, rants, and word plays followed, but these early columns set the tone for the rest.

Published inUncategorized

2 Comments

  1. sihihohad sihihohad

    Life isn’t fair. So, think outside the box. Redefine/reassign life and redefeine/reassign fairness. Good luck!

  2. ObiJohn ObiJohn

    I read this thinking of my time at Microsoft, and realize that this is why I left. This kind of thinking, pitting dev against dev to ‘compete’ on work in order to get a better review and the resultant stock options is an example of zero-sum thinking… one dev benefits at the expense of another. It hurts the company. A manager’s job is not to get his people to compete with each other for the perks of a good review, it is to get his people to collaborate, to work together to build a great product that outcompetes other companies. The fundamental flaw here is the idea that there have to be winners and losers on a team. That led to arrogance, the idea that people wanted Windows everywhere (the iPhone showed the world how wrong THAT was), etc. That is why Microsoft missed so many chances to lead, why Microsoft management became so risk adverse, why some of the best people left because they refused to play the game by stupid rules.

    Life isn’t fair. You do have to own your career. An enlightened company tries to provide for equality of opportunity and then the people have to step up to maximize their outcomes. That is how you build a great place to work, not by implementing a system that rewards stepping on others, taking their work away or taking credit for them, or internal competition over collaboration. Life isn’t fair, but that doesn’t mean organizations shouldn’t be good with having it unfair internally.

Leave a Reply to sihihohadCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.