• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

Should you have a team of specialists or generalists?

July 24, 2013 Leave a Comment

Rugby Soccer

American Football specialists is to Soccer generalists as Engineering specialists are to Developer generalists

Last week I was thinking about the comparison of cycling vs. running
and how the decision related to technology (in that case: CoffeeScript
vs. JavaScript as a choice
).

Those thoughts revolved around the choice of actions, platforms, and
approach. This reminded me of another topic of conversation that has
been doing the rounds recently.

A couple of startup friends have been asking me about whether they
should be hiring generalists or specialists. E.g. Backend guys and
client UI guys. And then you get the niches of “big data guys” and
“iOS guys who know CoreAnimation up the wazoo!”

This comes up a lot at larger companies too. In my world I run
engineering as part of a global team, so beyond creating amazing
products, we are looking to get leverage (I know, I hate the term
too!) as we scale out.

One way to do this is to create a “services team” that is in charge of
the platform and services that sit on top. Then you have client teams
(in our mobile world, iOS, Android, and mWeb folks) that talk to the
services guys. This means that the API contract is key. It is the
place where the world meet. To do this right involves:

  • Working closely together on this contract
  • Having great test suites that both sides can write too. To be able
    to work in parallel there needs to be a mock tier that the client can
    hit, and the services guys need to be implementing a real solution
    that results in more and more tests passing. If this isn’t rock solid
    then you are in for a world of hurt.

I have seen this model go wrong more than I have seen it be
successful. The culprits of disaster have been:

Misalignment of the teams

The teams aren’t on a shared mission to product an experience with a
set of outcomes. Instead they are working to implement some features,
and are in the weeds in their world so just want to “get it done”.

Rather than making a call to do something right for the end user, they
want to “finish” their piece.

Often the client and services worlds don’t have good touch points. It
is very common for the services guys to move off to something else
before the product is finished which leads to changes not being made.

One team; One Mission

If you structure the team around the mission with generalists who can
back on the Android app in one sprint but then jump into the backend
the next, you make sure that everyone has a lot to do and people feel
empowered. There is no “waiting for those guys”.

Football

When I think about sports, I find it interesting to see how different
sports evolved different solutions. American Football is the ultimate
extreme. You not only have different players for offense and defense,
but you have amazing specialists (e.g. A kicker). The context of how
the game works allows for this of course. It is a game of “plays”
where new teams sub on and off at will.

If you look at something like soccer (football 😉 then you have
players that need to be more generalists. Sure there are wingers and
attackers and central defenders and goalies, but everyone has to
attack an defend. In fact, the Dutch team famously came up with the
notion of total offense and defense and changed the way the game was
played (to great affect).

Even in American Football you see hybrids who can change the game by having special skills. E.g. Deon Saunders on special teams and
defense, or the new quarter backs who can run. Michael Vick and the
new San Francisco 49ers quarterback open up new options not just
because they can run so well, but because now the defense needs to
account for that.

This all leads me to believe that:

  • What is special about what you are building? What specialists do you really benefit from?
  • You should be mindful of the players that you have and how you are
    using their skills
  • Know they any “other” skills can change the game, so use them
  • Hybrid players can give you a massive boost in flexibility (including:
    if a team member gets sick / leaves…. you have built in backup)
  • Having people who have “done this before” and bring experience to the table is incredibly valuable
  • Having people who have “never done this before” and have other
    experience is also incredibly valuable!
  • Making sure the entire team is aligned on one set of measured outcomes is what matters more than the structure

Have you mapped out your team like a coach would in sport? Mapped it
to strategy? Thought about how “injuries” would change things?

Maybe now is the time.

Share this:

  • Twitter
  • Facebook

Reader Interactions

Leave a Reply Cancel reply

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

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • Generative AI: It’s Time to Get Into First Gear
  • Developer Docs + GenAI = ❤️
  • We keep confusing efficacy for effectiveness
  • The holy grail of a Web SDK
  • The rise of the extensible app platforms

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Family Fitness Founders Future GenAI Gender Equality Google Google Developer Google IO Habits Health HR JavaScript Jobs Jquery Kids Stories Kotlin Language Leadership Learning Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Software Software Development Spaced Repetition Speaking Startup Steve Jobs Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2023 · Log in