DEV Community

Cover image for How to Manage Programmers Without Losing Your Damn Mind
Blaine Osepchuk
Blaine Osepchuk

Posted on • Updated on • Originally published at smallbusinessprogramming.com

How to Manage Programmers Without Losing Your Damn Mind

Stop me if this sounds like you. Somewhere along the way someone put you in charge of something at your job. Maybe you're coaching a new hire, maybe you're a technical lead on a small team, or maybe you're running a whole project. Regardless of what you're managing, you need to deal with people and that's not going quite as well as you had hoped because managing programmers is hard. And it can be hard on your sanity.

Maybe you even picked up a book or two about management in the hopes that you'd find something--some trick or skill--to help you manage your people better. I can tell you from experience that most of those books are crap. But there are a couple of exceptions and in this post I want to give you a summary of one of them: The Coaching Habit: Say Less, Ask More & Change the Way You Lead Forever by Michael Bungay Stanier.

The problem

Too many conversations between managers and the people they manage feel like this:

  • the manager is doing too much of the work
  • the manager thinks he knows what's wrong and how to fix it
  • the conversation gets derailed
  • the manager has too much trouble getting the conversation back into productive territory
  • the manager is exhausted at the end and hasn't accomplished nearly as much as he hoped

Coaching as a leadership style

Coaching is an effective leadership style but most people don't know how to do it. Managers are programmed to solve problems but solving problems for your staff is not a healthy practice. It makes your staff dependent on you for advice and solutions and you become a bottleneck. Nobody ever grows and performance never improves. When this happens you've fallen victim to the "advice monster" lurking inside of you.

Through the "seven essential questions," The Coaching Habit flips the script. You must resist the urge to dive into advice-giving mode. You need to coach your staff to solve their own problems and do so effectively. This book's approach only takes a few minutes per day. But you have to actually do.

Understanding the different types of coaching

There are two types of coaching:

  1. coaching for performance - how do we solve the problem in front of us as efficiently as possible
  2. coaching for development - goes beyond solving the immediate problem to development of problem solving skills and confidence in the person experiencing the problem

Coaching for development pays greater dividends.

The seven essential questions

  1. What's on your mind?
  2. And what else?
  3. What's the real challenge for you here?
  4. What do you want from me?
  5. How can I help?
  6. If you're saying yes to this, what are you saying no to?
  7. What was most useful to you?

I'll briefly describe each question and how to use it below.

1 - What's on your mind?

Start with this question. You can prefix the question with: "out of curiosity" to take some of the heaviness out of it and make it easier to answer.

If you get a vague answer like "the project," you can put the three "Ps" to use by saying that there are three different facets we could look at:

  1. the project - any challenges around the actual content
  2. the people - any challenges with the people involved
  3. the patterns - if there's a way you're getting in your own way or not showing up in the best way possible

Then you ask "Where would you like to begin?" No matter how the person answers, you are on your way to a deep conversion.

2 - And what else?

It buys you time to think and generates options, which is a good thing. It's also more appropriate than just jumping in with the answer.

Tips for using this question:

  • stay curious, genuine
  • ask the question one more time (3-5 times is usually where you end up)
  • recognize success (success is when the person says there is nothing else)
  • move on when it's time (if the energy is dropping you can wrap up with a variation: is there anything else?)

Tip: acknowledge the answers you get

Remember to acknowledge the person's answers before moving on to the next "and what else?" to let the person being coached know that you're listening and to encourage them to continue.

Examples:

  • Fantastic. I like it. Good One
  • Nice. Yes, that's good.

Another tip: stop offering advice with a question mark attached

When you've got an answer you want to suggest, ask at least one of the seven essential questions first. Then if you still want to offer your suggestion, you can offer it up as an "option" instead of disguising it as a question. People know you're not really asking a question so don't play games. And offering it as an "option" makes it part of a discussion instead of saying "I think we should do X," which is a conversation killer.

3 - What's the real challenge here for you?

When you ask question 1 ("what's on your mind?") you can get three responses that aren't helpful. You can refocus them with "What's the real challenge for you?" You want to get to the real issue and not the first thing that comes to someone's mind.

Three possible unhelpful responses to this question:

  1. proliferation of challenges - the person says everything that's wrong (often a very long list)
  2. coaching the ghost - the person is complaining about a third party or situation (but you can't coach a person who isn't there so this focusing question will bring the person back to what you can do for them)
  3. abstractions and generalizations - if the person is talking about theory and generalizations this focusing question will bring you back to the person at hand and the concrete situation. We're not philosophers, we are just trying to do our jobs.

Tips:

  • trust that this process is actually useful (the person you're coaching will never learn anything if you always jump straight in with the answer)
  • remember that there's a place for advice. We're just trying to slow things down so everyone can think and giving people the answer immediately is no longer your default setting. But sometimes it is totally appropriate to give someone the answer immediately
  • remember the second question: "and what else?" Or "what else is the real challenge for you here?" These questions will help you get past the superficial
  • the words "for you" are a kind of magic sauce that cuts through all kinds generalities and hypothetical problems

Another tip: stick with questions starting with "what" (and avoid questions starting with "why")

"Why" puts people on the defensive. "Why" asks for the backstory. You don't need the "why" if you aren't trying to solve the problem. Whenever you are tempted to ask a "why" question. Reformulate it into a "what" question. For example, "why did you do that?" becomes "what did you hope to accomplish here?"

4 - What do you want from me?

It's a powerful question that people are rarely asked so they might not have an answer. Nevertheless, it's an important question. You are not a mind reader and you shouldn't assume that you know what the person being coached wants.

You should ask the question without fear you might not be able to grant their request. If you can get to what they actually want, at least you're are having a meaningful conversation.

How to actually help without taking over someone's initiative

Start by assuming that you are playing lessor versions of yourself at least some of the time. You are usually bouncing between one of the roles in the drama triangle:

  1. victim - my life is so hard, my life is so unfair, poor me. Nothing's my fault. I feel stuck because I have no power and no influence. I feel useless.
  2. persecutor - I'm surrounded by idiots and fools. It's not my fault, it's theirs. I feel stuck because I don't trust anyone. I feel alone.
  3. rescuer - don't fight, don't worry. Let me take it on and fix it. It's my fault, not yours. I feel stuck because my rescuing doesn't work. I feel burdened. Rescuers create more victims the more they take over.

Tip: people are hardwired to look for danger all the time

And if they sense danger they start looking for ways to defend themselves instead of being productive and high functioning. As a manger, it is in your interest to have people feeling safe so that they can perform at their best.

Here are four factors that influence whether people feel safe (TERA):

  • T - is for tribe - are you on the same team or are you opponents?
  • E - is for expectation - if you know what to expect, you'll feel safer
  • R - is for rank - if I'm relatively more powerful than you, you'll feel less safe
  • A - is for autonomy - if you get a say in the outcome, you'll feel safer

It's your job as a manger to increase the TERA quotient for the person you're talking with. It's good for all parties. You do that by asking the seven essential questions and especially the "what do you want" question. (It also helps to not be a jerk the rest of the time.)

Another tip: get used to silence.

Don't immediately fill the void when you ask one of the seven essential questions and don't get an immediate response.

5 - How can I help?

You can't avoid the drama triangle. But you can learn to recognize when you're in it and you can get yourself out by asking: "how can I help?" This question is powerful for two reasons:

  1. it forces the other person to make a specific request, which they might not have thought of before you asked
  2. it keeps you from assuming you know what's wrong and what the right solution is

Tip: if someone directly asks for advice you need to resist the urge to provide an answer directly, which will be extremely difficult

Respond by saying "that's a great question. I have some ideas on that, which I'll share. But before I do that, what are your first thoughts?" And when he answers, which he inevitable will, you nod your head and be engaged and interested, and when he finishes you say, "that's terrific. What else could you do?" More nodding, more being interested. Then you say, "this is all good. Is there anything else you could try here?"

And then, and only then, you could add your own idea to the mix here if you want. And, of course, if the conversation is going well keep asking " and what else?" until he's run out of ideas.

Use this technique every time you get the urge to jump in, help out, and volunteer. And the real insult here--to your time, effort, and good intentions--is that the recipients may not even want or need what you're about to give them.

6 - If you're saying yes to this, what are you saying no to?

It's easy to say "yes" to things but it's hard to get them done unless you take something off your plate. So part of saying "yes" is thinking about what you are not going to do while you're doing this.

Other forms of the question:

  • "What could being fully committed to this idea look like?"
  • "What will you say 'no' to, to make this 'yes' rock-solid and real?"

There are two kinds of "no" to consider. The first type applies to the things that are automatically impossible if you say "yes" to this. For example, if you say "yes" to a meeting tomorrow morning, you can't attend another meeting at the same time.

The second kind of "no" is what you need now to make the "yes" happen. Pulling off the thing you said "yes" to will take your time, attention, and energy. So how are you going to pull that off? What things are you going to de-prioritize to make sure this "yes" succeeds. You can use the 3P model to cover all the bases.

Projects:

  • What products do you need to abandon or postpone?
  • What meetings will you no longer attend?
  • What resources do you need to divert to the yes?

People:

  • What expectations do you need to manage?
  • From what Drama Triangle dynamics will you extract yourself?
  • What relationships will you let wither?

Patterns:

  • What habits do you need to break?
  • What old stories or dated ambitions do you need to update?
  • What beliefs about yourself do you need to let go of?

Tip: how to say no when you can't

The secret to saying "no" is to shift the focus and learn how to say "yes" more slowly. Saying "yes" more slowly means being willing to stay curious before committing, which means asking more questions:

  • Why are you asking me?
  • Whom else have you asked?
  • When you say this is urgent, what do you mean?
  • According to what standard does this need to be completed? By when?
  • If I couldn't do all of this, but could just do a part, what part would you have me do?
  • What do you want me to take off my plate so I can do this?

Being willing to stay curious will likely provoke one of four responses:

  1. Stop asking annoying questions and get on with it. This means that someone in authority has decided you are going to do this and you are expected to comply.
  2. The person has good answers to your questions, which means he thought this through.
  3. He doesn't have the answers but will find them and get back to you (or not).
  4. He might decide that you're too much work for him and ask someone else.

7 - What was most useful to you?

You can end your coaching session by asking "What was most useful to you?"

This question has four benefits:

  1. you'll get feedback about how the other person perceived the coaching
  2. you might plant the idea in the other person's head that these talks are useful to them
  3. and you create a mini-review to help the person remember what you talked about
  4. it wraps up the coaching session nicely

Tip: coaching over email works

When you get an advice request by email, instead of writing a big, long answer, choose the most appropriate of the seven essential questions and ask it.

Examples:

  • "Wow, there's a lot going on here. What's the real challenge here for you, do you think?"
  • "Before I jump into a longer reply, let me ask you: What's the real challenge here for you?"

Additional resources

I've found the following resources about management to be useful:

Conclusion:

I wrote this blog post because I really needed this book. I'm a problem solver by nature and I've fallen into pretty much every trap discussed in The Coaching Habit. The parts of my personality that make me a good programmer tend to make me a mediocre leader/manager, which I expect is probably true for most software developers.

I haven't mastered everything in The Coaching Habit yet (not by a long shot) but I'm trying. And just knowing that my tendency to jump into advice-giving mode isn't helping anybody is important all on its own. I tend not to do that so much anymore and I'll continue working on the rest of it.

Have you read this book or do you think you might? Is there another management books that was especially helpful to you? I'd love to hear your thoughts in the comments.

Enjoy this post? Please "like" it below.

Latest comments (10)

Collapse
 
ssimontis profile image
Scott Simontis

A few more takeaways:

  • In order to be aware of issues with your team and maintain a clear picture of what everyone is doing and if there are any red flags, you will need to code less. If you are trying to code 35-40 hours a week, there is no way you are going to be able to be an effective manager.
  • All of this is worthless without trust. If your team doesn't trust you, it doesn't matter how you phrase your questions or how you direct the conversation...eventually you'll probably end up hearing what your team thinks you want to hear from them so you will leave them alone.
  • A lot of people aren't used to working in environments where they can be as honest and straightforward as most organizations pretend they are. I made sure it was clear that I was on my team's side and I wasn't a corporate cheerleader. There were times when I was pissed off at the company too and I calmly talked to my team about it. My policy is that all conversations are confidential unless I am legally mandated to report something or my job requirements force me to. I learned far more about my team after establishing that relationship and proving that I was serious about confidentiality.
Collapse
 
bosepchuk profile image
Blaine Osepchuk

Thanks, Scott. Excellent observations and advice.

Collapse
 
kinas profile image
Angelika Kinas

I love this! I sent it to all managers and leads working around me :-). I hope it will help them. Thanks for writing and good luck as manager. Please don't lose your mind :D

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

As someone who would like to one day manage a team of developers, thank you for writing this (and the book recommendations!)

Collapse
 
bosepchuk profile image
Blaine Osepchuk

You're very welcome. The people stuff can be more challenging than the technical stuff.

Collapse
 
snicker profile image
snicker

Great article Blaine. I think this will help a lot of people that became managers out of necessity or “natural” leadership without a lot of people management experience.

Collapse
 
michaelrice profile image
Michael Rice

I think too many people in our business end up in management "naturally" as you described, but they are not, shall we say, natural leaders or managers... if you know what I'm saying!

Trying to do my part to fix it too.

Collapse
 
k4ml profile image
Kamal Mustafa

Hi, nice writing. The problems you described are spot on although I'm not sure yet if the solutions are practical for me. Sometimes I have a feeling the actual problem probably me and if I'm not there, they might be performing better. I'm managing a team of ~6 programmers btw as you wrote above, still struggling to get them to the accepted performance level where I don't have to step in all the time to fix issues or get things moving.

Collapse
 
michaelrice profile image
Michael Rice

Hey Kamal, yeah there's a LOT of information about management out there, and Blaine's got a great addition (nice job Blaine)!

A lot of the management advice out there doesn't apply very well to technical fields or those where we really need people to be highly creative problem solvers. So for me, I think there are four core behaviors to focus on day to day for tech leads or hands on EMs. Do these, and then most of the rest (like the stuff Blaine took a lot of time to document) will snap into place:

(1) get very, very good at listening to the team,

(2) have a strong bias for action (e.g., step into as many leadership moments as possible),

(3) get effective at crafting clear and compelling visions, and articulating them over and over -- even for the most mundane things

(4) get very effective at tracking what the team is doing and be quick to have adjustment conversations

Happy to share more!

Collapse
 
bosepchuk profile image
Blaine Osepchuk

Thanks, Kamel. This approach might not be right for everyone but it resonates with me and I thought I'd share it.

Even though I wrote quite a lengthy post, the process is actually very simple. And even if you just do the first couple of steps you'll probably end up better off that just automatically launching into solutions with your team every time someone has a problem.

Cheers.