6.03.20182 min


T-shaped skills for developers

Technical expertise and math proficiency are the most important skills for a good developer. At least, that’s what most people think.

T-shaped skills for developers

Some 10 years ago, possessing a certain level of technical skills was good enough to pursue a career in development.  However, times are changing. Today, to become a successful software engineer a candidate has to demonstrate T-shaped skills.

What are T-shaped skills?

The term “T-shaped skills” goes back to 1991 David Guest’s article “The hunt is on for the Renaissance Man of computing,” [The Independent (London)].  The concept has been popularised by Tim Brown, CEO and president of the design firm IDEO as an HR-approach to find the right workers for his organization. The goal was to build an interdisciplinary team able to generate new interesting ideas.

A “T-shaped person” is a metaphor for depth and breadth of person’s abilities. The vertical bar on the T designates the depth of relevant skills and proficiency in a single area, while the horizontal bar stands for the ability to cooperate across disciplines with professionals in other fields and to apply knowledge in fields of expertise other than one’s own.

Aside from deep tech skills developers have to master “soft skills” such as empathy, problem-solving, adaptability and flexibility, big-picture thinking, willingness to learn, communication, teamwork, critical thinking.

Why T-shaped skills matter?

There are many reasons why employees prefer hiring a T-shaped person. Most of the enterprises invest tons of money and time to spread the knowledge across their development teams. There is a chance that knowledge will be lost if employees have no T-shaped skills like working in team or desire to learn.

Many companies deal with the “it’s not my job” attitude inside the team, where developers don’t take responsibility for anything other than their work. Building a team with T-shaped skills rather than one with common skills allows organizations to deal with coordination challenges and differing priorities, encourage team ownership of the whole product or solution rather than specific chunks.

While an individual person does not have to possess every possible skill, the whole team does. In a versatile team, where each team member has a broad knowledge and a slightly different set of skills, it’s easier to solve an array of problems in a faster and more efficient manner.