This is the third in a three part series on empowering early career devs. In this post, I’ll give you strategies to build a process tailored to your team to empower the early career developers on your team.
- Empowering Early Career Devs: Why its important
- Empowering Early Career Devs: My current team process
- Empowering Early Career Devs: Strategies for your team
I’ll be using the framework of Prepare, Propose, and Practice to talk about building an empowerment process for your team.
Prepare > Propose > Practice
In the first phase, identify the skills you, your team, and your company value in your senior engineers.
Some ideas of skills that you may value in your senior engineers include
- Technical ability
- Learning and becoming an expert in new frameworks like React, Kotlin, or some other framework specific to your stack.
- Improving database design skills.
- Leveling up on when and how to test software. What makes a good unit test? When should we integration test?
- Or maybe your team is pretty solid in general, but not very strong with traditional OO patterns and you want to spend some time learning design patterns and algorithms.
- Technical communication - both verbal and written
- Time management
- This skill is often overlooked as a skill that can be practiced and improved. But I know that I want my senior engineers to be really good at this since they’ll be continuously taking on new responsibilities.
- Product vision - making decisions and prioritization based on the big product picture rather than short-term feature requests
- This is especially vital if you have a bunch of mid-level engineers on your team who will be stepping into senior roles soon
- Client engagement
From the list of skills you value in senior engineers, identify which ones you want to encourage and grow on your team.
Some helpful questions to ask to identify these gaps can include
- How are you (as a lead) a silo on the team?
- What skills do you wish your team got to practice?
- What skills are needed for individuals to level up?
While you’re going through these thought exercises, consider the scope of your current project or problem. You want to make sure the project or problem that you’re working on is large enough to accommodate all of this new shared responsibility. Will having the team share more responsibility decrease overhead or increase it? You want to make sure you won’t run into the "too many cooks in the kitchen” problem.
My current project is an 18-month project with many distinct application areas. There was plenty of work to go around and having everyone on the team share responsibilities would lighten the load enough for us all to have more time to focus on our personal career goals.
Now that you’ve identified the skills you value and the specific ones that you want to encourage and grow on your team, define the purpose of your new process. You want your purpose narrow enough to set clear expectations, but broad enough that there is a variety of ways to achieve the purpose and a variety of opportunities for your team to learn and grow.
For all members of the team to gain consulting, client engagement, and leadership experience.
For my team, our purpose was more focused on “soft” skills and less on technical expertise, because that’s what made sense for our team. And notice that our purpose had a few different skills areas we would work on, but they were pretty broad. I didn’t define the purpose as “everyone will improve their meeting facilitation skills.” That would’ve been too narrow.
So how do you achieve this purpose? It’s time to define the responsibilities that the team will share in this new process.
The following questions are helpful to identify what those responsibilities might be.
- What responsibilities satisfy one or more of the skill areas you chose to focus on?
- What types of tasks would serve the purpose you identified?
- What responsibilities do you have, as a lead, that everyone on the team could share?
- What responsibilities do you, as an individual, find challenging to keep up with?
And start mentally preparing yourself to delegate. It can be really difficult to fight the urge to take on more responsibility from the team because “it will just be faster if I do it” or “it’s really hard to explain, I’ll take care of it.” But it is really important for the growth of your team to take the extra time to explain and support rather than doing things for them. See the previous post in the series for the airport grounds crew metaphor. You don’t want to jump into the cockpit for your team members 🙂
In the next phase Propose, schedule time with your team to introduce what you prepared. I know a framework like the one in the post can feel formal, but the goal is to create a process that’s tailored to your specific team. It can be as formal or as informal as you’d like so don’t be afraid to have fun with it. I introduced our new process and responsibilities to my team using Wizard of Oz themed slides where each responsibility and feature was a step on the yellow brick road and Oz was the project is complete and we’ve all grown a ton.
And use this as an opportunity to solicit feedback from your team. Make sure you’re understanding how they feel about the following questions
- Are there skills your team would like to practice that aren’t covered?
- Does the team feel comfortable but challenged by the responsibilities?
- Is there anything your team wants to add or clarify?
- Does your team feel that this implementation will be sustainable?
This last question is the most vital. You want to make sure that the responsibilities don’t feel so overwhelming that the team could get burned out. But you also want to make sure the responsibilities are challenging enough that they’re not easily ignored and put on the back burner.
Now it’s time to follow through. Support your team, but let them take it from here.
There are many ways to offer support to your team members. And a lot of times, they are small ways of providing encouragement and feedback.
- Regular 1:1s
- Schedule time with each member of your team so they have a consistent time and place to talk through their specific challenges and questions
- Reading an email
- It can be helpful to get another pair of eyes on client communication to make sure the asks are clear and the requests are actionable
- Prep before a meeting
- Pairing on story writing
- For people who haven’t shared this responsibility before, writing stories for the team can be really challenging. How big do you write them? How small? What details should you include? Pairing can be a good way to practice those skills and talk about the scope at which we should write stories.
- Pairing on data modeling/architecture
- Similarly, data modeling and other architecture decision exercises can be challenging the first time you do them. Pairing with someone who doesn’t have a lot of experience making these kinds of decisions can be a good opportunity to ask questions to help guide their thinking.
- Calendar invites for the above activities
- The activities mentioned above - story writing, data modeling, etc - can be difficult to estimate how long they take. I’ve noticed that sometimes people who haven’t done them before may waaayyy underestimate or waaayyy overestimate how long they take. Calendar invites can be a simple way early on to set expectations so you don’t have team members spending 3 days on an activity that should’ve taken an afternoon or spending a cursory 15 minutes on something they should’ve given 2 hours.
- Reminders about deadlines
- And lastly, it's easy for things to slip through the cracks when you start taking on a lot of new responsibility. Be kind and give your team members gentle reminders about deadlines to help them stay on track. “I know you promised the client that documentation by Friday. It’s Wednesday and I wanted to check in and see how it's going."
But above all, make sure that the support you’re offering is individualized and tailored to your team members. Every person has different strengths and different challenges so you want to make sure that the support you’re giving works for them.
Our industry is missing out on so much talent because we don’t do enough to support the growth of those early in their career. We all need to do our part to empower our early career developers and grow them into the amazing seniors and leads we all know they can be.
If you try any of these strategies for your team, let me know how it goes! Do you have other tips to empower your early career team members? Tweet me and tell me about it!
In the first part of this series, I covered why its so important for those of us in senior or lead roles to invest in and encourage the early career talent on our teams.
In the second part of this series, I talked about what processes we’ve been putting in place on my current team to facilitate these types of opportunities. I walked through what we’ve done and what we’ve learned.