“We have two designers, two front-end developers, 2 back-end developers, and a tester.”
“Allie and Jim tend to lay out most of the pages, with help from the others. Joe, Alice, Bob and Alan tend to write most of the code, with Bob and Alan working mainly on the server side of things. Darren makes sure our work matches up to what’s expected.”
Which is better?
Job titles are labels
Labelling people with job titles as shorthand is one thing, but if we’re not careful our use of them can be dysfunctional:
Labels limit people’s potential. Our labels will limit what people will work on: they’ll subconciously start to stick to what their title says. This will happen even if they’re good people: it’s human nature to react to the culture which our team creates.
People hide behind the label. “That’s designer work, that’s not what I’m good at.” This gets worse when we get more specific: “I’m a front end developer: I don’t write Ruby.” This stops techniques like Kanban working effectively as people are less likely to help each other, and creates silos of knowledge in the team.
Labels reduce people to resources. “We need 4.2 developer days for this project, with 2.4 designer days per developer day.” Labels are interchangeable: people aren’t. Some developers are orders of magnitude more productive than others, for example. By homogenising the team, we’re extracting the soul from the company: we might as well be selling crude oil, not people’s expertise.
I’ve recently tried to stop using labels to describe myself: see my twitter bio for example. It’s been an interesting exercise, and I’d recommend it.
Selling services by team, not label
One problem we run into is when we run companies which sell client services by the hour. It’s easy to put together a rate card for different job titles, but this exacerbates the label problem and embeds it into the economics. I prefer the method of selling whole team-weeks to the client, rather than individual developers: “This crack team of people will set you back £10,000 per week”, for example.
Remember: the team environment is perfectly designed to achieve the result we’re currently getting. How are our job titles and labels affecting the way our team works today?