A generalist over a specialist – the case of a software developer

I think we’ve all heard from, well, basically everyone, that you should find your niche and specialize in something. And I’m here to tell you that, sometimes, it’s completely wrong. Sometimes you were born to be a generalist. Yes, it’s amazing to be great in your field, but dabbling in other things can be way more beneficial for you, professionally and personally. We’re going to exclude some industries because some do require specialization. But, in software development, no matter your department or field of work, it can be good to have a wider breadth of knowledge. A T-shaped, I, Pi, M, X, or E? – there will probably be a new one tomorrow There are various types of employees and developers for that matter. From I, T, Pi, M, X, to E, there seems to be a lot of knowledge and skill shapes. And each one has its benefits and downsides. Fitting ourselves just in one mold might seem like another downside sometimes. So, let’s take a closer look at each of them. T-shaped This shape describes a person that has excellent skills and knowledge in a specific field but also has fantastic collaborative skills and can work well with others. It’s an extremely desirable personality shape in software development since it also allows for such employees to easily learn new skills and adapt to changes. They are often flexible and have good hard and soft skills. Employees with T-shaped skills have an in-depth understanding of a particular role or field and a wide range of cross-discipline competencies. As a T shape, you’re both a specialist and a generalist or popularly called a “generalist specialist”. X-shaped The X-shaped person is someone who is good in multiple areas and can work cross-departmentally. They are great for managerial positions since they can understand and work with numerous different people and skills. Such personalities easily bring others together to work collaboratively and efficiently. I-shaped The I-shaped person is similar to a T one, but, even though they are experts in one certain area, they are lacking expertise in others. They don’t cover a wide breadth of knowledge and are not well-rounded since they do not put much into learning other areas or into developing extensive soft skills. Pi-shaped Pi-shaped personalities have evolved from the T-shape into one that exhibits general knowledge but also deep functional or domain expertise in two knowledge areas. These types are extremely flexible since they can easily integrate themselves into other areas of expertise based on their interests and multiple specializations. M-shaped This shape evolved further from the Pi shape. It consists of multiple areas or knowledge areas. With adding more areas of knowledge or specialization it turns into a Comb shape. These types are more adaptable than those with just one specialization and can work across broader teams. M is a multi-skill profile and can apply deep knowledge in multiple areas with great abilities and flexibility. E-shaped This shape is sort of relatively new. It covers four areas – experience, expertise, exploration, and execution and they form the letter E. Besides depth and breadth of knowledge, these types of personalities show a willingness to expand their skills into other areas, can deliver results and continuously work on improving themselves. This person has a vision and foresight that can align with company goals and ambitions. Someone with this type of personality has deep expertise in several areas and can show almost limitless potential. Why a generalist and not a specialist? Since in today’s world everything is seasonal, as they would say, some skills and knowledge become obsolete or non-trendy. Does being extremely expert in an old technology bring value if you’re not willing to learn new ones that are becoming the new norm or necessity in software development? Often, becoming a specialist is somewhat limiting. So, which shape are you, and which one is the best for you to be? Well, ideally you’ll try to become the E shape, but honestly, it might not suit your personality. Yes, it can make you a jack of all trades – a master of none, but don’t think too broadly. The full quote is, after all, “A jack of all trades is a master of none, but oftentimes better than a master of one”. Your skills don’t have to go way beyond, having just two specializations is already tremendous. Having one with the ability to adapt and learn new ones is also great. Being a T-shaped developer is often thought to be the best type for agile teams. But, as we mentioned above, the T-shaped has evolved to multiple specialization types and more towards the almost generalist. Even now we can see the new trend of younger developers and developers-to-be leaning towards full stack development, rather than specializing only in frontend or backend. The market, sort of, dictates having broader knowledge and skills. Okay, okay, you got us there. Generalists are not all that since they dabble in everything. Even full stack isn’t well-versed in absolutely everything. So, we’ll modify the term to accompany broad knowledge, but specialization in specific areas where you can be an expert. And, okay, you will try to adapt to the market, but what’s in it for you? And what value do you bring as a generalist or someone close to that but not quite there? Pluses and opportunities of a generalist Seize the opportunities offered Who knows, you might get offered an opportunity to learn something new and shift your focus. If it’s interesting and appealing to you, go for it. Going towards a more generalist side is not something you should be afraid of. Broadening your skill set and knowledge is always a good thing. Honestly, it’s how you stay competitive. Yes, one might search for skills based on one technology, for example in frontend development you might get hired for knowing certain sets of technologies and that’s it. But learning more will make you more flexible and open to new projects. You will