Building and Maintaining Teams
One of the biggest challenges I have seen teams consistently face is building teams, and once they have built a good (or even great) team maintaining it. Some of the most common challenges I have seen are:
- An interview process that is disconnected from day to day work.
- I'm not a fan of white board interviews, but if you're building a software engineering team you should have programming somewhere in your process. My preferred approach to this is some form of code review and possibly pair programming.
- If your interview process doesn't stress the communication channels you expect people to participate in daily (for instance only having interviews that involve verbal speak and no writing component) you're setting everybody up to be surprised.
- If your team regularly collaborates with other teams or stake holders they should be part of your process.
-
An interview that only provides feedback in one direction.
-
As much as some companies may not want to consider it, interviews provide feedback in both directions. The team is evaluating the candidate, but (a good candidate) is also evaluating the team to determine if this is somewhere they want to be, and where they would succeed.
-
Interview processes and candidate pipelines are only maintained when the team needs to hire somebody.
- If you wait until you need to hire somebody to make sure your interview process is good to go you're already way behind. Steps will be missed, mistakes will be made. Create a consistent process, and iterate on it. Share it with the team. Do a dry run internally (remember how we used to prepare for public speaking speeches in school?).
Once you hire somebody the other hard part is maintaining teams. Life happens, you can't prevent that. What you can do is:
- Make sure your onboarding process doesn't suck. Nothing sets a bad tone for a new team member like an onboarding process that shows the company doesn't care.
- Keep a pulse on wether or not team members feel like their contributions make a difference. Good engineers care, people that care want to do something meaningful.
- Push back on notions throughout the company that anybody is "plug and play". With the continued propagation of LLM and other tools and in an age where companies are looking for quick savings my experience is that every team member that is an integral part of the team provides a different lens or set of skills.
- Ensure that team members take time off. A refresh mind and new perspective is good for everybody now and then.
- Listen. People will tell you what's on their mind. Rarely have I seen people leave for reasons that were impossible to resolve, but plenty of times I've seen people leave because nobody was listening.