How to Run a Team with Varied Skill Levels

In one of my first group projects as a computer science student, a team member with a background in software engineering overwrote a segment of code that I spent a lot of time on.

However inconsiderate, in a group project, I was thrilled to have members who actually showed up and worked on the project. It dawned on me later that I had spent the same amount of tuition as he did, but was robbed of a potential learning opportunity. Not only was I unable to see my own code used in the project, but I missed out on the potential learning opportunity to improve my improve my skills.

Unlike short-term group projects, tech organizations have hierarchical structures and training processes. However, team members will always have different strengths and areas of expertise. Ideally, a knowledge sharing strategy and code review practices could benefit the whole team.

Code reviews can benefit the whole team

Internal Knowledge Base

Senior team members are pulled in many different directions. Asking them to document their best practices and instructions in an internal knowledge base may seem painful at first, but will save them time in the long run.

An internal knowledge base is a central, inward-facing site featuring knowledge articles, guidelines and examples for staff. This is similar to a customer service knowledge base that is commonly used for customer to seek solutions; in this case, it is used for employees. It can be an invaluable tool for on-boarding new staff, standardizing processes and reducing on-one-on training.

Many organizations use a wiki tool such as Confluence to organize a knowledge base. Confluence has some built in “How-to” article templates that can be used to and several easy-to-use navigational features.

Code Reviews

A code review is a way to ensure that your more experienced team members can share their knowledge and help others grow. At the same time, junior team members can begin to incorporate improved practices. This process offers accountability for the member whose code is reviewed and is perhaps the most beneficial form of training available to a junior engineer.

While some styles of code review require in-person meetings, repositories such as Github offer additional tools for lightweight code reviews. Over the shoulder style code reviews or paired programming can also be used. Experienced programmers must understand how to deliver quality feedback respectfully, will also help their soft skills.

Mentoring is important part of training

Avoid Competitiveness and Intimidation

In analyzing ways to improve diversity in computer science, some programs such as Harvey Mudd School College have implemented ways to prevent students from dropping out or avoiding computer science. In particular, women tend to drop out of computer science program in greater numbers than men. There is no definitive consensus on the reason for this phenomenon. One potential cause is that beginners who are new to programming are intimated by others in the program who have already had experience with code.

If an organization would like to remain competitive, it is important for all team members to accept the responsibility of mentoring less experienced programmers. Beyond this, seasoned members should realize the impact that they can have on those with less experience and work to empower them. This will ensure a long-term benefit for all.

Print Friendly, PDF & Email

One thought on “How to Run a Team with Varied Skill Levels

Leave a Reply

Your email address will not be published. Required fields are marked *