Hopefully you agree that every team needs experts: people who focus deeply on a particular topic and who act as a resource to everyone else on the team. So what now? How do you find your experts? How do you know what experts would benefit your team? How do you construct a plan to better use your experts?
Let me suggest an approach.
Your first task is to make three lists. While each list sounds simple, you’ll find them harder to create than you expect. The first list contains the name and specialties of each developer on your team. For some people on your team, identifying an expertise will be trivial. For others you may have to think very carefully, or even meet with the developer themselves, in order to find even a single specialty you can write down. So long as you have done a good job in your hiring process, everyone should have at least one item on this list. Many specialties will not be unique. That’s OK.
The second list contains all the specialties you wish you had on your team. Perhaps you could have solved a particular customer’s problem faster if you had a good Oracle DBA on staff. Or perhaps a team member with a strong background in 3D-math would have helped with the last feature you were developing. This list will be most useful if you can put it in priority order.
The third list contains potential areas that each developer has expressed interest in learning. If you don’t know what goes on this list, you’ll need to figure it out by talking to people. Ideally you could construct this third list at the same time as the first.
Here is an example of these lists for a very small team.
Now that you have these lists, you can start matching people up. If someone wants to focus on a specialty that you don’t think they’ll excel at, I’d suggest talking with them about it. Find out why they have interest in that area and whether they think they’ll be successful if they focus on it. If they believe their chosen area is the right one for them, I suggest letting them try. Motivation counts for an awful lot when it comes to learning. Besides, your instincts might be wrong.
Once you’ve matched everyone up with their chosen area, what do you have left? In the example above, we have nobody to focus on Performance Tuning, Firewall Admin or iPhone Development. Meanwhile, Sue wants to sharpen her skills as a Linux Admin and Tony wants to become a second expert in Threading. If you think Linux Admin skills might be useful you could consider letting Sue select it. Maybe having Tony build additional threading expertise is important to you. But those items would probably have been on your list if they were critical. I suggest an individual conversation with Sue and Tony, highlighting the team’s need for one of these other areas and seeing if they are willing to select something from that list. Chances are they’ll be willing to change. If that doesn’t work, you may need to accept their decision for the time being.
Of course, you could try forcing the issue but I don’t think you’ll be happy with the results.
Great. So now you’ve identified your current experts and you’ve got volunteers for some new ones. Now you need a plan to help people become experts in these new areas. But how do you make an expert? Frankly, I’m not sure there is a guaranteed way to do that. But you can put all the components in place and see what happens. In many cases this will be sufficient and a new expert will begin to develop. In a few cases the combination of person and topic just won’t work out. Stay close to your people so you know when this is happening and you can work with that person to select a new area of focus.
For our purposes, let’s assume we have the right match of person and topic. How can we help them become an expert?