Are you an effective coach to your software engineering team?

Napice Tech
5 min readNov 7, 2022

--

I once worked for a company that was sold to a bigger firm and then merged with yet another. It was a time of enormous change for us, but I still remember one day when the new CEO came into our conference room and said, “You guys have done great work. Just keep doing what you’ve always done.” We were all floored because no one was doing anything new or different from what we’d been doing before; it just happened that we were now working in an environment where people were used to big changes happening all around them.

Our software engineering team was doing fine as far as I could tell. We had hit our goals every quarter without fail and launched product after product on time or ahead of schedule. We were efficient, reliable, productive — the kind of team any company would want! But then why did he think we needed so much help? Why did he think our work was subpar? In the end, it turned out that the issue wasn’t us at all; it was him — and how effective his coaching skills were when dealing with diverse groups like ours.”

1. Set the stage / Know yourself and your team

Before you start a coaching session, it’s important to think about what you want to accomplish to establish a good communication. This includes:

Knowing yourself — your strengths, weaknesses, and how you’re perceived by others. If a teammate asks for advice on how to get more involved in the company’s mentoring program, then there may be some self-awareness on their part that they’re not as involved as they could be already. Your goal here will likely be to help them identify ways in which they can get involved without feeling like they have too much on their plate (or without feeling like their participation is token).

Knowing your team — their strengths and weaknesses; where they stand with respect to each other; what issues have arisen recently among them; any ongoing projects that may affect productivity at work or otherwise impact morale; etcetera. In this case, knowing that one person struggles with burnout might lead you down a path towards helping them find ways outside of work where they can find fulfillment in life (or vice versa).

Knowing what is going on within your organization (and/or industry) at large: technology trends affecting product development cycles; cultural shifts impacting employee retention rates, etc.
As a manager, it’s important to understand the big picture and how things are changing. This will help you make better decisions about how to manage your team and guide them towards success.

A good understanding of the environment you’re in will help you knowing what is needed to be done to improve it.

2. Have the tough conversations / Provoke

You need to be able to have tough conversations. As a coach, you will be in charge of helping your team members develop and grow their skills. In order for them to do so, they must have open and honest conversations with you about their work.

However, this can sometimes be difficult because as a software engineer myself I know how annoying it can feel when someone is telling me what I should do or not do in my job. It can be frustrating when someone thinks they know better than me on how I should code something. It is important that we approach these types of interactions in the right way so that both parties leave feeling heard and understood.

For example: if one of your team members is having trouble understanding a piece of code from another engineer on your team then it would probably be beneficial for all involved if he/she were able to speak directly with the author of said code instead of trying (unsuccessfully) learning from another source like Stack Overflow.

Another example would involve two people who disagree about how something should work but haven’t been able to talk through all their differences yet because they are busy working on other projects together without any help from an outside perspective like yours! This might seem like something small at first glance–but imagine how much progress could’ve been made if everyone had just taken ten minutes out of their day earlier on?

3. Follow through / Commit

Commitment is the ability to follow through on a decision, action or promise. It’s not just about making a choice; commitment requires you to act consistently with it over time. Commitment is an ongoing process, not a one-time event.

Commitment is not about being rigid and resistant to change — it’s about building trust by showing up for your team and doing what you say you will do (even if that means changing course).

4. Stay positive / Care

As a coach, you need to be positive and caring. Don’t have a negative attitude — this can cause your team members to lose confidence in themselves and their work. Be empathetic and understanding if someone is struggling with something at work or in their personal life; don’t let it affect the way you treat them professionally or personally. If you are unable to help them with their personal issues, do not hesitate to ask for help yourself!

With these four pillars, you can navigate many tough conversations, help your team gain clarity, set goals and reach them as a collective whole.

What an engineering manager should be

An effective coach to your software engineering team must be:

⚡ A catalyst for growth.

⚡ An educator with a focus on the specific needs of the individual or group being coached.

⚡ A facilitator who empowers others to make decisions and take action.

As a coach, you should be focused on helping your team reach their potential. You don’t need to know everything about writing code, but you do need to understand how they learn best and what they need in order to grow. This means that while coaching may look different depending on the type of work being done (e.g., building mobile apps vs enterprise software), there are four pillars that remain constant:

  1. Helping them set goals and then achieve them as a collective whole or group.
  2. Helping them gain clarity around what success looks like.
  3. Providing feedback so they can improve continuously.
  4. Making sure people have opportunities for growth based upon their individual learning styles and preferences.

To conclude…

If you’re looking to improve your coaching skills, or are just starting out and wondering how to do it right, these four pillars should be a great place to start. They all have a lot of overlap with one another, but each has its own unique nuances that we highlighted here. The most important thing is for you as an individual coach (and for your organization as a whole) is that each member of the team feels heard and empowered to make positive change happen together so everyone wins in the end!

Watch our youtube video about Communication For Software Engineering Managers for extra insights.

--

--

Napice Tech
Napice Tech

Written by Napice Tech

We help software devs to grow in their careers with live courses, 1:1 coaching and community support. https://www.napice.tech/

No responses yet