Types of software engineers as football players

Types of software engineers as football players
Photo by Daniel Norin / Unsplash

I've worked in startups, midsize companies, and big corporations. Through my experience, I realized that technical skills are just one part of what makes a great engineer.

The human element - how engineers approach problems, interact with team members, handle pressure, and maintain professional growth - often determines their true impact.

That human element reminds me of some football players. I've encountered various engineering personalities that remind me of the famous players you can see on a football pitch.

Each engineer brings a combination of skills, quirks, and approaches that go far beyond their technical capabilities.

1. The Gianluigi Buffon Engineer

This type of engineer is an experienced veteran who's seen it all. Because of that, he provides stability and historical context to the team and is exceptional at preventing disasters through careful review and quality assurance.

Often, these engineers maintain important systems that nobody else wants to touch but everyone depends on. They show longevity and consistent performance across the fast-changing tech scene.

They can be reluctant to embrace modern development practices, clinging to outdated tools and approaches. Sometimes, they can be overly pessimistic about new initiatives based on past failures because they saw how it was in some old PHP versions.

Because of that, they sometimes block innovation with excessive caution from past experiences. They occasionally struggle to adapt to new technologies.

2. The Roy Keane Engineer

Managers love these types of engineers. "Roy Keane" engineer is the enforcer who maintains code quality standards with iron discipline.

This engineer is ruthlessly efficient at eliminating technical debt and doesn't tolerate sloppy work. Provides brutally honest code reviews that improve the entire team's output.

Sometimes, they create a tense work environment with their uncompromising approach. Also, they often dismiss creative solutions that don't fit their rigid methodology.

Their legacy codebases are maintained perfectly but can be intimidating for new engineers to modify.

3. The Juninho Pernambucano Engineer

"Juninho" engineer is a one-trick pony, the free-kick specialist who excels at solving one specific type of problem better than anyone else.

This engineer creates elegant solutions for particularly challenging technical obstacles that leave others in awe. For example, they can be SQL gurus, Excel or Regex wizards, CSS masters, etc. Usually, it's stuff that others find intimidating or use with basic knowledge.

These engineers tend to force their specialized approach even when simpler solutions would be ok.

Often, they can be overly academic about their specialty, suffocating other team members with jargon and unnecessary complexity. They struggle with basic tasks outside their narrow expertise.

4. The Zinedine Zidane Engineer

The undeniable superstar of the team. Possesses extraordinary problem-solving skills that seem almost magical. When they're motivated, they can solve crazy complex problems that make other devs' heads spin.

Their solutions are elegant, mind-blowing, and seemingly impossible. The entire team revolves around their talent, and managers are willing to put up with almost anything just to keep them happy.

They operate on natural talent and can't be bothered to put in consistent work. Super moody and unpredictable, they might solve a massive problem one day and then disappear for days.

Sometimes, they are known for dramatic meltdowns that can completely wreck team vibes. Will randomly "headbutt" project rules when they feel annoyed and cause drama.

Their superstar status means they get away with stuff that would get any other developer fired on the spot. Team members secretly roll their eyes but are also impressed by their brilliance.

5. The John Terry Engineer

This is the natural team captain who leads by example rather than just technical skill. Takes responsibility for project outcomes and shields teammates from blame.

JT engineer creates a culture of accountability and boosts morale during challenging sprints. They are excellent at mentoring junior engineers and promoting collaboration in teams.

Sometimes, they are too willing to sacrifice proper work-life balance for the team's success. Side effects can be the development of inner circles that exclude newer members.

Occasionally, they can overstep boundaries when fighting for team members and create tensions with management.

6. The James Milner Engineer

This is the ultimate utility player of the software development world. This engineer can transition between front end, back end, DevOps, and other roles without missing a beat. "James Milner" engineers' versatility makes them invaluable to managers.

They can pick up new technologies quickly and deliver solid work across different tech stacks. Their adaptability means they can be plugged into any project and solve critical gaps in team capabilities. And they never complain.

The bad sides can be summed up in one quote: Jack of all trades, master of none. While incredibly flexible, they lack the deep specialization that comes with focused expertise in a single domain.

Sometimes, they spread themselves too thin. Their breadth of knowledge can occasionally come at the cost of depth in specific technologies.

Managers love their flexibility but might hesitate to assign them on complex, specialized technical challenges.

7. The N'Golo Kanté Engineer

N'golo is the ultimate team player who combines humility and an exceptional work ethic. This type of engineer consistently covers massive amounts of technical ground without seeking recognition.

Their best skill is to handle the most unglamorous tasks that other engineers avoid - bugs, legacy systems, refactoring, writing tests and generally work on shitty projects.

Always the first to arrive and last to leave, quietly working to ensure the team's success. They can recognize technical problems before they even emerge.

They are so focused on supporting others that they often struggle to advocate for their career growth. Because of that, they can be overlooked for promotions despite being the most crucial team member.

Sometimes, this allows more aggressive or flashier colleagues to take credit for work they've implemented. Their humility can be mistaken for lack of ambition when in reality, they're driving much of the team's underlying success.

8. The Nicolas Anelka Engineer

Everyone knows at least one talented job-hopper who's worked at eight different companies in six years. They bring massive experience from multiple tech stacks and industry domains.

Anelka engineers are like paid assassins. They quickly adapt to new codebases and hit the ground running. They are excellent at identifying patterns across different systems.

Because they move too fast, they never stay long enough in the company to maintain what they build or witness long-term consequences of their design decisions.

Companies hesitate to invest in them, knowing they'll be gone within 18 months.

9. The Jamie Vardy Engineer

This type of engineer is the non-traditional engineer who took an unconventional path into tech with no computer science degree. Everyone knows one engineer who started coding at 28 after dropping out of college and careers in hotel tourism and retail.

The best skills of these engineers are real-world problem-solving and business perspective that formally trained engineers often lack. They write pragmatic code with a focus on outcomes rather than elegance. Also, they tackle problems that intimidate classically trained engineers.

When working with them, you can notice some gaps in computer science fundamentals that occasionally become evident in some domains.

They rely on Google and ChatGPT more than theory and often implement hacky "good enough" solutions that work now but create maintenance challenges.

Sometimes, they are defensive about their educational background. Their documentation and work sometimes reflect their self-taught nature, missing standard conventions other engineers expect.

10. The Mario Balotelli Engineer

"Balotelli" engineer possesses extraordinary raw talent and potential that occasionally manifests in perfect solutions.

When fully engaged, they can solve massive problems with creativity and unconventional approaches.

Very often, these engineers are chronically undisciplined and unpredictable. They frequently miss critical deadlines, meetings, and sprint commitments.

They can create unnecessary drama within the team and undermine the project management's authority. Constant behavioral issues overshadow their technical skills.

They will randomly introduce experimental code changes without team consultation and cause significant challenges for the rest of the team. Management constantly walks on eggshells, never sure whether they'll receive brilliant work or complete chaos.

Conclusion

Some engineers are creative geniuses who see solutions that nobody else can. Others are the reliable workhorses who keep the entire system running. The leaders help team members grow, while the veterans provide crucial stability.

As a manager, it's important to understand that a Zidane-level creative engineer might struggle with daily maintenance, while a Kanté-type engineer keeps everything running smoothly behind the scenes.

It's crucial to recognize each engineer's strengths, give them space to grow, and help them work together.

Like in football, the best teams aren't made of superstars, they're made of players who understand how to complement each other.