Don’t Do Roles (Only) By Skillset

Based on this twitter thread.

One thing that always makes me think are the roles we have in the software industry. The bigger the company, the more specialized the roles it seems. In data science, I‘ve seen charts with data analysts, data scientists, ML engineers, MLOps, … some thoughts.

How do you come up with roles? The most common criterion seems to be skills. It is hard to find people good at statistics and engineering, so let‘s split!

Another approach is that you identify a set of responsibilities. For example, in SCRUM, Product Owner is a the one who owns the product backlog, etc. It doesn‘t have to be one person, but why not make it one person‘s job?

Now, as you have actual people fill these roles, you start facing reality. Some issues:

  1. Is there enough work for a person that is so specialized?
  2. How do these roles interact? Especially with role-by-skillset you can end up with highly entangled roles that need to work very closely together. If it does not work, you start adding processes and rules to „organize the work.“
  3. Few people‘s interests and skillsets actually are exact fits for given roles. People will either feel confined or always feel like they need to step outside their role (my problem).

I understand that you want clearly defined roles, for example, for more standardization when it comes to performance reviews, or so that people can switch teams.

I think you should always be aware that roles don‘t have to be mapped to people 1:1. Someone needs to do it, but it could be someone who also does something else or it could be multiple people. Talking helps to clarify who does what.

And when designing roles, don‘t just think about skillsets but also how roles need to interact. It is a bit like system design, you want components with a clear purpose, clear interfaces, and which are loosely coupled.

As Olli Zeigermann points out, interactions between roles are also not static but can change over the course of a project. Product Owner’s work needs to precede the work of the engineering team. Or the work of engineers depends on whether the research work of data scientists lead to good results.

In bigger companies, people become increasingly removed from customer impact, and you often start to introduce individual goals and metrics. If this isn’t done well, you’re bound to run into all kinds of misalignment issues, so try to keep this in mind as well.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.