The Lead Developer

By | November 23, 2020

Disclaimer, this is my own view of the Lead Developer role. This works well for me, my team and my vision of the team. This is originally my vision but now most of the team is committed to the vision and we are working on this together.

When I first got the Lead Developer role I just said to myself, we have to get rid of the Lead Developer. So that is my vision, to get rid of the old Lead Developer role. My experience of a Lead Developer at that time was the one guy who knew the system the best and did all the technical planning and decisions. The know-it-all future guy. The only one in the team with a mandate to learn, teach and make the final decisions on the product. For me that didn’t make any sense, it never did. The is not healthy for any team to have all this in one person. First of all, it is extremely risky, what if he quit? Do he take all the experience and knowledge with him? But well, maybe the plan is to transfer knowledge to the new Lead Developer when it happens? That is a really bad idea as well. It is impossible to transfer knowledge and experience in that short time, 2-3 months while your team still have deliveries to make.

No, my vision was and still is, to make sure that as many as possible in my team is knowledgable about the system and have equal mandate when it comes to technology and vision of the product. We do this by dialogue and making sure that everyone is seen, showing respect to ideas and opinions and not just discarding them. If everyone feels as they can contribute on all levels it will be easier to make them committed to the product as whole.
My responsibility as a Lead Developer is to make sure that we are on the committed path, focusing on what we have agreed upon and making sure we have a safe (fail-safe) environment to work in. With fail-safe I mean an environment where everyone is comfortable to test new things, express themselves, and take chances. Having a team that can test, fail, learn and adapt should be seen as asset and not as failure. The Lead Developer should be an enabler making sure this happens rather than anything else.

To make sure that we are transferring knowledge continuously we are working in pair when needed. We practice teaching sessions, demos and dialogue. When working in pair it is important to respect each other and practice dialogue and coaching.
You as a Lead Developer should be able to coach your team and have a vision, plan or goal, to make sure that you give your team the possibility to progress and evolve.

Focusing on these practices will make your team robust and resilient, and making it less vulnerable to people quitting.

The Lead Developer should be an enabler making sure this happens rather than anything else.