This is part one of a mini-series comparing elements of sports teams to software engineering teams. Each part of the series will be released weekly.
I am a massive fan of American football. This might not be the typical sport for a Brit, but I can’t get enough of it. Every year I watch the NFL season, from the pre-season in August to the Super Bowl in the cold winter depths in February. The game, the players, the draft, the off-season, free agency, the business of the sport, the fans — I love it all. Watching the NFL for the past seven years — whilst being a source of enlivening entertainment — has uncovered some parallels between sports teams and software teams. So with the 2023 NFL season right around the corner, I want to reflect on what it is to be a “team player” in the software industry and how a High-Value engineer navigates this world.
Sports competitors naturally specialise. In the NFL, teams comprise at least ten categories of specialisms. And some specialist areas can be divided further; for example, an offensive lineman can specialise in playing the tackle position. We have the same notion in software engineering. If we take my field of web applications, we have front-end engineers, back-end engineers, database administrators, security experts, and SEO engineers, to name a few.
But it’s not enough to just fit ourselves into our division and do what everyone else is doing. As a high-value engineer, you have to set yourself apart if you wish to climb the career ladder. You have to find some niche in your expertise to make your own. In front-end development, it might be specialising in design systems, analytics tracking, or perhaps SEO. Recently I have specialised in making our application more accessible so that users with varying disabilities may interact with our product more easily. There’s been a fair amount of grunt work — not all of it pretty — but all of it necessary to increase the product’s value and the value of the engineers who have embraced the challenge.
If you want to maximise your value in specialising, you should look for specialisms that most are avoiding. If you take on a challenge that most of your colleagues actively avoid, you will massively increase your value to the company and those around you.
Remember, we should constantly look for ways to set ourselves apart from the rest of the pack. The reason you have the engineering job you have right now is because you did exactly that. You competed for a position that other people were vying for, and you separated yourself from the others and landed the job. However, once we secure a job, we must not fall prey to comfort. Just because you set yourself apart in the interview stage does not mean you should stop doing this when you’re actually doing the job. I’d argue it’s more critical once you have landed the job. On day one of the new gig, you’re almost likely starting from zero. You’ll have zero experience in that particular company, zero knowledge of your colleagues, and critically low to zero levels of trust. We must earn these attributes. Finding your area of expertise in the company as quickly as possible is the best way to earn trust, knowledge, and experience.
Become the person your teammates come to when they need help in a particular subject area. Specialise fast; find your niche.