Coaching Experts
I have found myself at times leading people who are much better at writing code or designing systems than I am. It is great to know your team members can accomplish great things. On the other side, where does that leave you as their leader? How do you add value to those smarter or more experienced than you are? Coaching those with less experience than yourself is much clearer. The best realization I've had is that people are all different. They have different experiences, skills, ways of thinking, etc. This is where to begin your coaching of an expert.
Experts, often, don't need help doing their normal job. Your job as their leader is to find their passion and encourage growth towards it. Find what drives them. Find what got them starting in Software Engineering. Find the fun quirks that make them different. To find out all of these things, you need to have deep conversations. You need to be very observant with interactions this person has with their colleagues. As you get to know your team member better, work together on what their career path and vision for the future is. Once that is set, you can now figure out what skills or experiences are missing.
Depending on their vision for the future, you now have a responsibility to find opportunities for growth in that direction. Offer to let them lead meetings or lead projects. Make them take on a mentee. It is all around building the skills and experiences towards the future. If they want to become a people leader, then more opportunities around people activities. If they want to become an architect, then more opportunities to drive up front designs and coordinate between teams. If they want to just be the best coder ever, more complex projects and R&D activities. You as their leader can only give them the opportunities, they have to do the growing.
After you do all of this, you do need to set the expectations. Let them clearly know what decisions they must and must not make. Talk about when to ask for help. Set the boundaries and expectations very clearly. Often when people are on unfamiliar ground it can be confusing. Let your team member know that you are not gone and they are not alone. Just make sure you are letting them know what they are responsible for, can own, and what they can not. I know these last few sentences are a bit repetitive, but that is intentional as you will be doing the same to coach successfully.
Having experts on your team can make delivering software much easier. Keeping your experts happy, passionate and productive takes a different approach. Sometimes this can take more effort and time than other team members, but as this expert grows you will be truly scaling your team. The more leaders we can create, the larger and more successful your teams become.