Managing Down

Your #1 Job

Your #1 j ob is to make people want to work with you.  If you’re ever faced with a work decision, use that measuring stick first by asking if your response makes someone want to work with you more, less, or the same. Since a large part of my brand is clarity, I’ll break this down into specifics, but please keep in mind that this list isn’t comprehensive and that environments vary widely.

  • Deliver.  Getting your work done is critical. This is the biggest influencer on whether people want to work with you.
  • Smile. Not just in your facial expressions, but in your words and voice. Being pleasant is a close second to getting your work done and close enough that I’ve seen ineffective people retain their position far longer than they should simply because everyone liked them.
  • Innovate.  While this is a pretty overused term, I’m using it here to specifically mean “do something or create something new which is a pleasant surprise”. It only takes 1 or 2 small innovations a year for people to want to work with you and see what’s next.
  • Bleed. You are going to make a mistake – own that mistake and do everything you can to make things right. You should not, of course, intentionally create problems but it’s pretty safe to say that problems will come.  If you are the type of person who never blames others nor covers things up then people will notice (consciously or not) and want to work with you.
  • Support. Keep an eye out for others having difficulty and jump in to get their head above water.  Someone who can keep the team moving in the toughest of times will be sought out and held onto.
  • Teach. If you can make others more valuable then you are a force multiplier and people will want to work with you.
  • Delight. The occasional left-field surprise goes a long way.

The challenging aspect to all this is that it needs to be genuine – for example pleasant can’t be an act, it needs to be a commitment.

The Dead Simple Guide to Running a Team

Nearly 7 years ago, I wrote a post on how to run a development team.  Recently, I was talking to someone who needed to run a team which wasn’t focused on software development.  I told him that the same basic principles applied, but instead of focusing on the theory I simply laid out the practice.  Re-reading the old post I realized that while I had conveyed the strategy that had worked for me and others, I had left out any specific tactical details.

Time to fix that by presenting the 4 things you must have to run a team effectively.  You may decide to add other aspects to optimize for your specific situation but these are the items which are either in place or causing you trouble.

1. Backlog

A backlog is simply a prioritized list of everything you know that needs to happen.  Prioritization is key – in the absence of further instruction, a team member should be able to pull the highest priority item from the list to work on and know that it’s the right thing to do.

2. In Progress List

To run a team, you need to know what’s in progress.  If you (and others) don’t know what’s being worked on, then you aren’t really managing.  The easier it is for you, and the team, to see what’s in progress the better the chances of catching the “Whoa, why is that happening now!” moments before someone wastes time on the wrong thing.

3. Blocked Indicator

Almost as important as prioritizing the backlog of work, blocked items are where a manager can really shine.  When a team member marks an item as blocked, it’s a way for them to say, “I can’t work on this further until _____ happens”.  The faster you can make ______ happen, the better off the team is.  Sometimes it doesn’t fall on you, there are outside influences like other teams, clients, vendors, etc. – know the difference.  Read every blocked item and ask yourself if there’s some way in which you can help.  Also, since the backlog is prioritized, a team member should be able to roll from a blocked item to the next item smoothly.

4. Finished Indicator

I’ve been surprised on numerous occasions to find out that a team has no “public” way to indicate that a task is finished nor see what other items are finished.  The rational I’ve usually heard (and it’s almost always smaller teams and companies) is that finishing is what counts and the manager is usually informed.  This sets up a communications bottleneck where everyone has to check with the manager to get overall status or (more likely) no one really pays attention to what’s getting completed.  Having a way for everyone on the team to know what’s done not only gives the group a feeling for where projects stand, it also allows for the “Hold on there, Sparky – that’s not actually done because you forgot _____”.  This is more common where projects have lots of dependencies amongst the tasks.


There are dozens of good options (and hundreds of bad ones) for tools to make this easy.  My tool of choice for a team which is starting from scratch is Trello.  Create 3 lists: Backlog, In Progress, and Done.  Add one label called Blocked and make it red.  Boom! In 5 minutes (literally) you are now ready to start prioritizing and monitoring work while keeping an eye out for blockages.  A lot of teams will later “graduate” to a more formal system, but getting the initial mechanics in place is critical and you don’t want to spend hours or days hunting around for the “perfect” solution until you’ve got things humming along enough that more advanced functionality makes sense.

If you feel your work day is too chaotic or your team could be performing more efficiently, chances are you’re missing one of the 4 items above.  Do yourself and your crew a favor and put just a little process in place so you can start to troubleshoot and stabilize.

A Practical Guide to Managing Bad Employees

Hal commented on last year’s post The Dead Simple Guide To Being a Good Manager and asked for some solutions to Step 1: Make It Terrible to be Bad.  There is one simple and effective technique that I’ve used (and seen used) multiple times and I can sum it up in 4 words:

Remove the hiding places

Bad employees continue to be bad because they are, somehow, able to convince themselves and/or others that they aren’t bad.  They hide in all the little places that we create when we aren’t careful, scurrying to their favorite spots when things aren’t going their way.  The bad news is that we, as managers and peers, create these hideouts when we aren’t clear and when we accept anything less than clarity. The good news is that you can start fixing things immediately by being clear and demanding clarity.  Here’s what I mean:

  1. Define success in unambiguous terms.  It’s unfair to fault someone for not being good if it’s not clear what “being good” means.
  2. Prefer to be clear over being right.  Ditch terms like “leverage”, “strategic”, “high-level” and other words that can be defined retroactively to support any outcome.  Instead, state things in terms that can be proven right or wrong, even if that means that you’ll be proven wrong sometimes.
  3. Be objective.  Measure according to the standards you’ve laid out.

One Last Chance In Private

Once you have clearly defined success and expectations, counsel your troubled employee in private.  This is a critical step, because this is where you can find out if the problem is actually yours and not theirs.  If you’ve done everything above then it should be obvious to both of you that your employee is falling short.  What you’re looking for is a sign that they understood what was expected and they simply didn’t deliver.  This private counsel is also where you can separate bad employees from immature ones.  The immature ones didn’t believe that it was important, the bad ones didn’t care that it was important.  If you find yourself counseling an immature employee, then you have a great opportunity to turn someone’s life around.  Spend a little extra time with them over the coming weeks and break things down to the smallest feasible chunks so you can provide plenty of feedback.  If they turnaround and become good then you’ve become not just a good manager, but a great one.  If they don’t turnaround, then chances are they acted immaturely when really they’re not going to get any better.

One Last Chance In Public

If private counsel didn’t work, then it’s time to go public.  Make it clear in a meeting, with other team members present, that the work (not the worker)  is unacceptable.  Once again, if you’ve defined things clearly then this should be obvious to everyone in the room.  It won’t be comfortable, but it’s important for a couple of reasons:

  1. It gives peer pressure/support a chance to work.  If the team rallies around the weakest link and helps him succeed, then you have another shot at turnaround.  If the team shuns him, then it’s not going to be a fun place for him to work.
  2. It sends a message to the team that you mean what you say.
  3. It can begin the self selection process where they figure out that they’re in the wrong place and relocate themselves elsewhere.  It is almost always easier to have someone voluntarily leave than to have to terminate them.

3 Strikes, You’re Out

After the previous last chances, failure to improve should result in termination.  When you terminate someone, they should never be surprised.  They can be pissed, they can even be shocked because they never thought you’d actually do it, but they should have seen it coming.  Everyone should see it coming.  Most should be relieved or appreciative.

To Be Clear

After mentioning clarity so many times, it seems appropriate to make a few things explicit:

  • Making things “terrible” is all about exposing bad work and making someone uncomfortable with their actions and choices.
  • This is not an excuse to be mean.
  • You need to be fair and objective.
  • There has to be an opportunity for turnaround.
  • There will be work and discomfort on your part.

Stick to your guns and prune respectfully and you’re on your way to being a good manager.  Go the extra mile and actually turn someone around and you’ll be great.  Either way, you and your team will be better off for it.


The Dead Simple Guide To Being a Good Manager

I've been fortunate in my career to have had a couple of great managers.  The rare combination of vision and execution found in my managers at Microsoft Research and DuClaw Brewing Company have established a kind of gold standard in my mind.  I've been thinking about management a lot lately.  I'll probably be head down doing technical work for the next few months, but after that I hope to build and run a new technical team.  Even though I aspire to be like the outstanding managers I've worked for, I don't think you have to be great to be successful.  As a matter of fact, I think that being a good manager can be distilled into 2 simple steps.

Step 1: Make It Terrible to be Bad

There are plenty of good people who are bad employees, especially in the technical world.  Since I've worked mostly in software, I'll focus there for a moment but the same principle is applicable to any industry.  My definition of a good developer is one who develops good software.  It's no surprise then that I think a bad developer is someone who doesn't develop good software.  As a manager, it's your job to make the environment unpleasant for bad employees.  Yes, you get extra points for offering up solutions to their crapitude like training and whatnot but even if you don't you can still be good manager simply by making bad employees not want to be there.  Why am I harping on this so much?  Because bad employees are a cancer to a team and they kill the team from the inside.  First we have displacement – a bad employee is sitting in the seat that could be occupied by a good one.  Next we have infection – bad employees have a very strong potential to turn others bad either by active instruction ("Here, junior dev, let me show you the wrong way") or through passive observance ("Why should I be any better if that guy sucks and he's still here?").  And finally we have repulsion – good employees don't enjoy working with bad ones so they leave.

Step 2: Make it Easy to be Good

The step is all about clearing the path for your direct reports.  Most technical people really enjoy what they do, it's all the other stupid stuff that turns what they enjoy into "work".  This is one of the reasons so many good and great developers work for start-ups, small software companies, or the few "big name" companies that you read about all the time like Google.  It's about the purity of the work as much as it is about the work itself.  This is where most companies inflict Death By 1000 Cuts – poorly managed web filtering that blocks technical blogs? Cut.  Stupid HR rules that require filling out a paper form once a month? Cut.  17" screen instead of a 24"? Cut.  Slow network, unstable email server, not enough hard drive space? Cut, cut, cut.  Sure, any given one of these isn't enough for someone to leave but put enough of them together and you've got one seriously unpleasant and ineffective environment to work in.

The steps are listed in order of importance.  Sure, you can start knocking off some of the low hanging fruit to make it easy to be good while you're putting the heat on the bad folks but you can't ignore step 1 and make it up by doing lots of step 2.  When a patient is diagnosed with cancer, the immediate focus is on eradicating the cancer not on adding lean muscle or lowering cholesterol.  Yes, the latter two can contribute to improved overall health by they simply don't matter if you don't take care of the most pressing need first.