Do you want to be the first person he ever manages?

Ok, so everyone starts somewhere.  However, do you remember the first time you managed a staff (even if just one person?)  I don’t know about you – I was a HORRIBLE manager!  I had no clue what I was doing.  It’s like parenting. One day you are sailing along by yourself just working like crazy on what you love to do and the next day you have this human being dependent on you for his/her sustenance.  No instruction manuals.  No “do overs” when you screw up.

Well, ask yourself this:  If you are offered a job at a company where you’d be the first person ever to work for the hiring manager, would you take it?

Most people don’t think about it before they take a job.  Most people just assume the person hiring them knows how to manage, right?  Have you ever interviewed for a job and asked the hiring person if he/she has ever manage anyone before?

I bring all this up because of a recent experience I’ve had with my own manager being a virgin to that position.  Wow.  What a roller coaster.  I think the situation was exacerbated by his short temper, but it was definitely a volatile environment.  I think I should have earned hazard pay.

The one takeaway I have from this whole experience is to really, really understand how much experience a manager has before you accept a new position.  It’ll definitely make my short list of questions I ask in interviews going forward.

~ Amy



Do you really want to rule the world? Sure, why not.

If you ask any technical manager what his objective is for the day, he will usually have a reasonably normal response.  If you ask my husband he invariably responds with, “The same thing we do every day.  Take over the world, Pinky.”

Now, that’s not to say my husband has aspirations to take over the world.  Ok, maybe he does (he is a programmer, after all), but that’s not my point.  Most people get out of bed every day and think, “I’ll do what I do every day today once again.”  It’s easy.  It’s comfortable.  It’s what has become normal to them.

What if today is the day?  Today you are going to do something so radical everyone is shocked.

I’m not talking radical like Walter White Breaking Bad crystal meth radical.  

I’m talking about changing your whole view on the day the moment you crawl out of bed today.

Stop and ask yourself one thing:  what could I do today that would make one of my employees feel fantastic about themselves and in turn make them thoroughly enjoy working today?

Sound insane?  Really? Then maybe you should rethink your career choice in management.

Yes, it’s easy to find employees doing things “wrong” but why don’t you take today – just one day – and really look for someone doing something super right?

“Word up” (slang for listen) for the day – and in a really good way.  Tonight someone on your team will go home and brag to their spouse about the great day they had and you’ll come home and brag to yours about how productive the team seemed today.




He’s a great programmer so he’ll make a great manager

That statement is akin to saying, “That cat fetches like a dog.  She must be a dog!”  Programming (or software engineering) has absolutely nothing to do with management.  There aren’t even any similarities between the two.

I get it: finding someone to manage technical staff is like finding a needle in a haystack. 

1.)  They have to be “normal” enough to be able to communicate with senior management while they manage a group of highly unusual and self-proclaimed intellectuals.  (Therefore, senior management often mistakes a relatively normal techie for management potential.) 

2.)  They have to be able to communicate with these intellectuals using “tech speak”.  (The worst example of a technical manager is always when senior management assumes someone who is gifted at software engineering makes a great manager of caffeine-addicted geeks in superhero t-shirts.)

Today, we’re going to look at the latter: technical managers chosen to supervise and direct a programming team simply because they rose to the top of the group with ninja technical skills.

First let me be very clear about one thing: I cannot stake claim to being the most intellectually gifted programmer in the room – anywhere.  I’m always learning and always growing (even though my feeble old mind fights me over it these days).  For the most part those of us who are programmers/software engineers/computer geeks chose this profession because:

  • We like working alone
  • We like math and logic
  • We adore caffeine, late night debates on the possibility of black holes and which is better: Star Trek or Star Wars (I lean toward the trekkie side as I’m of an older generation)
  • We think we can do things no one else can do – sort of
  • We have some hidden insecurity about our intellectual prowess

Using that knowledge it is pretty simple to see that most programmers have some deep-seated insecurities which rarely makes for good management potential.

There are, of course, great examples of exceptions to that assumption (besides which, we all know about the trichotomy of assumption, right?)  However, I am willing to stake my reputation on the fact that those examples are few and far between.

What makes a great technical manager, you ask?  There are many features of a great technical manager, but the one most often used to judge capability is really only a fraction of a much larger picture:

  1. The ability to understand technical jargon and translate it for senior management
  2. A genuine concern for those who work for him/her
  3. Understanding what motivates each person on his/her staff – why are those people really working there?  (When it comes to programmers, the answers will always surprise you.  Sure, money is a huge motivator, but what almost always ranks second?  A really cool, cutting edge project to work on.  If you want to demotivate a programmer tell them they have to do maintenance on a project using 10 year old technology.  Nightmare job!)
  4. A willingness to admit his/her own weaknesses, strengths, mistakes and successes (setting an example of humility while maintaining an official managerial demeanor)
  5. Respect for those who work for him/her and their natural individuality (some might see this as a respect for each extreme of geekiness)
  6. Being able to identify and tap into the true strength in each resource on the team while encouraging each person to take on roles that might fall outside their normal comfort zone
  7. Being able to keep the team focused and drive a project through to the end without making everyone on the team insane.  If I had a dollar for every project I saw fail because a team was not cohesive with clear direction I’d be very wealthy.  (One of my favorite interview questions is to ask programmers about projects they finished.  You would be amazed at how many programmers cannot answer that question because they never finish anything.)
  8. Giving constructive feedback.  Yelling, manipulation, and vicissitude have no place in management.
  9. Appreciating the difference between “downtime” and “avoiding work” and being able to identify each
  10. Personal accountability

Clearly I’m not the resident expert on all that makes a great technical manager, but as someone who has been on both sides of the fence I can assure you I know a bad technical manager when I see one.  Usually (but not always) that person was once the “Kid Rock” of programming and rose to the top of the ranks with his or her technical aptitude.  As you can see from the brief list I’ve made, being a great programmer has absolutely nothing to do with great technical management skills.

In fact, let’s take a look at your typical premium code jockey (here I will use the term “he” for the sake of brevity, but clearly I mean both genders of programmer):

  1. He views himself as cerebrally superior to most of humanity
  2. His self-opinion is usually reinforced daily by those outside the technical community who come to him for guidance and view him as a god of technology
  3. He views the other members of his team as inferior because they tend to view him as a god of technology
  4. He rarely admits to making mistakes
  5. He has absolutely no desire to “teach” anyone anything (In his mind they should have been gifted with his cerebral talent in the beginning.  He can’t fix their sad plight.)
  6. He believes people who make mistakes are idiots and has no respect for them
  7. His communication with senior management is often very smooth – I mean, he’s the god of technology, right?  Senior management loves him.  He can “fix” anything quickly.  He is, indeed, the god of technology
  8. He has no clue what his peers want out of life.  He couldn’t care less what motivates them.
  9. He can finish anything, but the boobs he works with are incompetent.  If he wants something done right he does it himself.
  10. He loves to humiliate potential new programmers in an interview.  He spends days brewing up the most insane technical interview questions he can find on the internet…umm…I mean in his mind…and then proudly prances into the interview room and swooshes out the white board markers to scrawl out a complex algorithm that encircles the room in a hush of reverence for his vast intellect.

Sound like someone you would want to work for?  I can imagine your answer is a resounding “No”.  So, perhaps you’ll take time to post a few stories below about someone technical you worked for who was really, really a great manager?  I’d love to hear your stories!

Until the next time my Tardis passes through,




The best worst boss ever

When I first started as a software engineer (over 20 years ago) I had a very wise person tell me I would learn something valuable from every boss I ever had.  I really took that to heart and tried to make note of those things as my career progressed.

One thing became apparent after a few years: I learned the most from the worst bosses I had.  Why, you ask?  Because I learned what I never wanted to be – and that kept me focused on doing what’s right – all the time.

So today I start a blog about some of the things I’ve learned from the best worst bosses ever.  Let’s start with my current boss.

Mid-thirties, ex-college-soccer player, and his technical skills range from moderate SQL to moderate report writing.  However, as one of six partners in his business he is considered the expert in business intelligence (really?)  I would bore you with all my qualifications, but that’s not what this story is about.  What I will tell you is that I have 20 years of very deep technology skills – far beyond moderate report writing and moderate SQL.

So what I’ve learned from this man is:

1.)  Never be threatened by employees you know are more knowledgeable than yourself.  Embrace that talent and use it to the betterment of your company and your own position.

2.) Listen.  Especially when you are “on top of the world” and making all kinds of money.  Listen.  Stop talking.  As long as you talk you are not absorbing and that means you are getting less knowledgeable every day.

3.)  Constructive feedback is specific and unemotional.  If you get angry when you point out someone else’s mistakes you just scare them into immobility.

4.)  Every day take time to say, “Hello” to those who work for you.  It demonstrates humility and respect.

5.)  Find something positive to say at least once a week – and be specific.  It takes very little to encourage an employee on a daily basis.

6.)  Encourage creativity.  Don’t be afraid of creative and bright employees.  In the long run they will make you look better.

7.)  What makes your employees happy?  Do you have a clue?  Why do they work for you?  How far are they from strangling you in your sleep?

8.)  Learn to love yourself so you can be kind to your employees.  If you don’t love yourself you’ll take it out on your employees and your company and career suffers.

I could go on, but it’s time to spend quality time with the children.  Tomorrow we’ll talk a little more about what makes a boss the best worst boss.