What Does Building a Software Engineering Team and Building a Football Team Have in Common?
Super Bowl excitement is in the air. To get into the Super Bowl spirit, let’s play a game – Football Recruiting for a Day. Pretend we’re recruiters for a NFL football team. What are some things we should first think about as we prepare ourselves to recruit and build a champion team? Let’s begin!
- We need to know – Player stats
- Here’s why – It is crucial to understand player statistics to gauge the size of the qualified player pool given a specific position. Many factors should be taken into account to determine whether a prospective player is a fit within an organization. Knowing a player’s stats and understanding what these numbers mean is a must before assessing and recruiting football players.
- We need to know – Personal history and personality
- Here’s why – Other than stats, a player’s personal history and personality are taken into account. This is to determine how a player behaves on and off the field. For instance, if a player has great stats but a reckless history off the field, it’s a significant red flag. A player’s personality is important because an organization can’t afford to have a player create turmoil with other players in a team sport like football.
- We need to know – Player position
- Here’s why – Knowing how well a player is at a specific position can open up opportunities for him to play at other positions. Typically a player is recruited to play one position, but it isn’t uncommon for them to play multiple positions. For example, a running back can play as a receiver. A player with versatile athleticism at more than one position has an advantage because teams are looking for players that can help create better game schemes.
If we apply the same recruiting lessons from building a great football team to a software team, we can see much overlap and similarity.
- We need to know – Developers’ performance measures
- Here’s why – On a software team, a recruiter needs to know the performance metrics of developers and how to identify those with high performance. While football players’ stats are consistently recorded and widely available, developers’ performance history are harder to find and evaluate, but not impossible.
- You need to know – Work history and personality
- Here’s why – Previous work history will tell you the type of software products the candidate has done and the domain knowledge they also have. You can measure their accomplishments and performance both technically and in their soft skills. Software development is also a team effort, just like football. How a developer fits in and works with the rest of team matters.
- You need to know – Position(s)
- Here’s why – The positions the candidate has been in and their success in certain roles would give you an indication of what other positions or technologies they are likely to also be successful in. For example, a SDET who is heavily involved in setting up and managing test automation could take on a DevOps position more easily, compared to a front-end developer in general. Since many companies and technology teams like to see their people “wear many hats”, a recruiter’s solid understanding of various roles would help tremendously.
Just like playing Fantasy Football with your buddies, put your NFL recruiting cap on and tell us who you would pick to fill the quarter back position on your team?
- Russell Wilson – Seahawks
- Tom Brady – Patriots
- Aaron Rodgers – Packers
- Colin Kaepernick – 49ers
Who would you pick to fill the tight end position?
- Jimmy Graham – Saints
- Zack Miller – Seahawks
- Rob Gronkowski – Patriots
- Antonio Gates – Chargers
Next, who would you pick to fill the running back position?
- Marshawn Lynch – Seahawks
- Justin Forsett – Ravens
- DeMarco Murray – Cowboys
- LeGarrette Blount – Patriots
Lastly, if you were to put together a “fantasy” engineering team, what would your roster look like?