Teams. Most people either like working in one or they really don’t. But it’s impossible to dispute that teamwork adds value in almost any situation. Working in teams is far more productive, fosters better ideas and produces more creative solutions. It also generally results in happier people, which in turn increases productivity. We’ve known this for a long time now, so the question instead becomes, how do we create a good team?
This was a particularly important question we had to ask ourselves when setting up Mayden Academy. The programme centres itself around immersing students in a real working developer team. The one difference? All team members are new to programming, and learning! Getting the right people for a team is hard enough in a working environment, but add the stresses of being programming novices into the mix and having to learn all day every day, and the team dynamics become essential.
Enter ‘T-shaped’ skills. If you are familiar with Agile, you have probably heard of T-shaped skills before. If not, then let me explain. If a specialist has ‘I’ shaped skills and a generalist has ‘-’ shaped skills, then T-shaped skills are a mixture of the two. While it is true that no one can be an expert at everything, it is possible to have general skills while being an expert in a specialism. For example, while I consider myself a full-stack developer, having worked as both a front-end developer and a back-end developer, I am happiest when working with the front-end. This is my specialism.
Teams of “full-stack” T-shaped skilled developers, with a mixture of specialisms, means that your applications gain from the expertise of your developers in both front-end and back-end. While this can be a difficult system to implement, especially if you are currently working in I-shaped teams, the benefits both technologically and in productivity will rapidly outweigh the costs.
There are some drawbacks however…. For one, it reduces your hiring potential, as many developers out there prefer to stick to their specialism and not step outside of that, so your pool of potential applicants is decreased. It is also quite common for developers in roles like these to expect a higher salary, and so this will likely increase your costs. That being said there is an argument that you would need fewer developers.
So, to bring this back to our original question, how do we choose teams for Mayden Academy? Well, the curriculum is designed to teach full-stack development, while giving students the opportunity to explore their own interests and talents, fostering their own specialism, thus resulting in T-shaped skilled graduates. But given that’s at the end of the academy programme what about before they start, before they have any technical skills? Read my next article to find out just how we do that.