All of us have tripped over the same stone one or twice. Maybe you are looking for a job, maybe you need to hire a developer to make your website. You check Linkedin, personal blogs, github pages. They are everywhere: “Ninjas”, “Rockstars”, “Gurus”, “Full stack developers”. Every year we change the term so it doesn’t get too oldish. But, what do this words mean?

Well, initially they were just another way to name the experts. But you know how weird is this little world of us: we are fashion victims. We love to invent new words to make us special, to distinguish ourselves from the others. Soon enough the headhunters were looking first for gurus, then ninjas or rockstars, now “fullstackers”. Pick your poison. These marvellous words explodes in our minds, like, “oh, this guys are so brilliant. They know the tech, they collaborate with it, they are famous. Let’s make a team with rockstars-ninjas-fully-gurus; we will be unstoppable”.

Well… no, it will be a mess.

Let me explain myself: I spent some years breathing with development teams and I don’t like the concept of full experts team. Don’t make me wrong: I love experts, those guys can achieve impressive things. But they have problems, too. Of course I’m oversimplifying here, but maybe “ninja” is a oversimplified way to name professionals.

So, you don’t like the fullstackmotherfockersofhells teams. Then, what’s your idea for an ideal team?

Well… I’m glad you asked. Please, allow me to be your nerdist host in this wonderful trip to the geeky side of the development world. Let me present you the:

D&D(tm) Team-party crappy theory

So, I think every team needs a couple of roles. I don’t speak about “designer, layout, back and front”. I mean people who can make diverse approaches to problems, with particular solutions and better than that, with different highs and lows.

But, how can we distinguish between this different roles? Are they all ninjas? Hard-workers? Genius? Ah, that hole is filled with my D&D(tm) Team-party crappy theory. Because you know, in D&D we have

Characters Classes & working roles

Yeah… I bet you were waiting for this: another bunch of terms to make ourselves happy. Your right but, what did you expect? Didn’t you saw “crappy” in the title of the theory?

And now, shut up and read!

The warrior

Maybe they are not the best coders in the world. Maybe they doesn’t read every feed of flashy-techie-new-techs. But man,they are a certain value. They can spend so many hours hitting the wall, learning and understaing everything they need to work. And the most important thing: they never, ever, give up. But some times they are stubborn and slowly, and they don’t accept the changes until you hit them with reality.

The wizard

‘Do not meddle in the affairs of wizards, for they are subtle and quick to anger.’

Ok, Tolkien knew it. The Wizard are your famous ninjas. They are wonderful, they know lots of things, they have the most beautiful code you ever seen. But they are proud and their frustration tolerance is almost zero. They spend too much time making things perfect, they can be patronizing. You know them: cool and insufferable.

The rogue

“What do you mean it’s done?”

They are quick. What am I saying? They are the mother-fucking-flash. They will deploy, whatever it takes. Of course the code they left behind is a mess. But ey, it’s finished and, what are you talking about “fix it”? If it’s done, it’s done. If work, you don’t touch it. And that’s the problem; like Rambo, they doesn’t left anyone behind. No one can understand what they did; they will not understand it in a few weeks!

The cleric

Maybe you never found them before, but they exist, like the holy grail of teams. They work as a mix between warriors and wizards, but with a twist: when everybody is exhausted, they encourage the team. When problems start to break apart the project, they calm the team down. They are not bosses, but good fellows. The kind who remember every birthday and make the people happy. And their down? Well, they are not so genial as wizards and they can’t stand alone as much time as the warriors. Nobody is perfect, right?

The paladin

They are natural-born leaders, or maybe self-made leaders. They convince people to follow their lead into hell. They distrust bosses because, you know, what would they know about real problems and working on them? Of course they can be wrong, and they maybe drive the team into the cliff. And they spend so much time yelling and shouting and fighing for what is right for the good cause. But the team respects every word they say. And that’s a thing.

The bard

Jack of all trades, they are the not-so-good-at-everything members of the team. Some of them have an extra quality: they’re funny. They could make a boring call interesting and they know how to make people laugh. Sometimes they are a bit onerous and usually they give their opinion in every situation, but maybe you need them at 3pm, when the pizza is cold and you only want to go home. Don’t underestimate the power of laughter, because laugh sometimes is all you have to cling to.

And the end of it… what’s the best combination of characters?

That depends on the project. Short projects can use thiefs, wizards and two or three psychiatrists in the project owner side. Long projects can make the best of warriors, clerics and wizards, and “oh-my-god-wtf-is-that” projects” will need all you can get, specially paladins and bards.

Yes, I know this is a vague answer but it’s all I have. Organizing a team is difficult: you need to think about the needs of the project, the needs of the stakeholders, the needs of the team members. Every project is different and that’s the wonderful and terrible about it. :)