Date Archives

October 2014

Are You Mentoring or Lecturing?

Great team leaders raise the skill level of people around them. There are so many ways to do this – team presentations, sharing articles, demonstrations, etc. Mentoring is one of the most personal and powerful ways of developing individuals on your teams. Unfortunately, this term gets tossed around freely without really understanding it.

To the Wikipedia!

Here’s what Wikipedia says:

Mentoring is a process for the informal transmission of knowledge, social capital, and the psychosocial support perceived by the recipient as relevant to work, career, or professional development; mentoring entails informal communication, usually face-to-face and during a sustained period of time, between a person who is perceived to have greater relevant knowledge, wisdom, or experience (the mentor) and a person who is perceived to have less (the protégé)”

Knowledge. Social Capital. Psychosocial Support. Mentoring is not just teaching. It’s not lecturing or demonstrating.

Let’s just be frank

You are not mentoring if you’re: criticizing, doing, judging, scolding, arguing. The goal is not to claim your throne as supreme master of knowledge and make others feel bad. The goal is not to make others do things “your way.”

As a mentor you should be asking questions and guiding others to answers. You’re building skills as well as the inherent desire to apply those skills. You should want this person to become a mentor themselves – to grow others on your team.

Ask yourself this

Are the individuals that you are mentoring only doing what you want because they are scared of you or want to avoid confrontation? If you left today, would the process or behavior cease? If you answered yes to either of these then you’re not mentoring.

Empower others

People want to be great. If you’re in a leadership position – and let’s be honest, we’re all leaders – make the time and emotional investments to help others be great. I guarantee you’ll also grow as part of the experience.

There’s a place for mentoring and there’s a place for lecturing or instructing. Be aware of which role you’re playing.

Update Jan 28 2015
Harvard Business Review has a great article with advice on how to avoid some common mentoring mistakes

Does your manager know how to code?

Who cares? Can you manage people?

I used to think that a good manager could come from any background. Hell, I’ve had some incredible managers that have never written a single line of code.

But as a full time manager of software developers I’m starting to think that a background in development does matter. I can honestly empathize with the highs and lows of being a software developer.

I understand my team’s frustration when they hit roadblocks. I share in their excitement when the business loves a new feature that they just spent a ton of time on. I feel the energy when they’re absolutely killing it during a sprint. I’ve been there. I’ve written a lot of software and have experienced the full range of emotions that come along with it.

Wait. Emotion and software development in the same sentence? Are we taking crazy pills? Software development is just a form of engineering, right? Feelings don’t produce a more accurate design or get us to production faster, you know? Obviously, I disagree, but that’s a topic for another post. Let’s just leave it at ‘software developers are humans, too’.

Why does it matter?

Not all developers are cut out to be managers. You know who I’m talking about. We’ve all had that team member who is too brilliant for their own good. The one who can solve problems before you even realize they exist. But they’d rather talk tech than talk about about you as a person. You may get some interesting insights into a new framework from these folks, but you’re not getting a deeper discussion on your career objectives. Teams need to be mentored – they don’t need to be lectured.

It’s incredibly unfortunate that some organizations only provide career advancement through the managerial path. There are a ton of talented people out there who may not fit a ‘management’ profile but can contribute from a leadership perspective. And honestly, I want a team of leaders.

OK, so here’s the big drawback.

Programming is addictive. You get into it and it’s really hard to stop. So when my team is facing a technical challenge – or when they’re exploring some new design or technology – it’s really hard to stay out of it. My instinct is to jump in. To solve problems. But that’s not the role of a manager.

Good managers help teams solve problems. They build their teams skill set. Managers don’t grow great teams by solving problems. They build the problem solving skills within the team. “Teach a man to fish”, right?

The jury’s out.

This isn’t to say that the folks who don’t have a background in software development are bad development managers. These people bring an entirely different – and generally very positive – dynamic to the team.

I know that I still have a lot to learn, but if I was back into full time development and you asked me, I’d tell you that I want a manager that has been ‘in the trenches’. I’d want someone who loves technology. I’d want someone who gets technology. Someone who knows the challenges, the highs, and the lows. Someone who knows that even the seemingly simplest problem may turn out to be an event that turns your hair gray. And by that line of reasoning, I’m becoming more qualified by the day 🙂

Update: November 13, 2014

JD Meier has a great post about building digital skills. He talks about how “hybrid leaders” – those who are skilled in technical and leadership aspects – are the leaders of tomorrow.