Software, by nature, is becoming diverse with every passing year. Education systems, by design, are meant to follow fundamentals, but with the internet, the mentality of educators has become trend oriented as well. A degree is reduced to a tool to get a salary. The software has gone from a tool to execute engineering to a hack to become rich. As expected, the term generalist itself is too vague to be defined!
Software development is often paired with education in some computer science courses. The arrogance bred by such ignorance can last a lifetime. “Expert” developers who cannot tell why a BIOS message coming up has nothing to do with a hard disk failure are common. The IT experts who cringe at the Linux command line in an enterprise are also available in abundance. The percolation of expertise into identity is the root cause. The notion of expertise leading to prosperity in a corporate environment has created a mass hysteria around certificate worshiping. Unfortunately, the notion of generalist is diluted to someone who says yes to every task and hit the search engine immediately to understand what was just told.
Specialists can be manufactured. Generalists evolve.
Anyone with more than five years of experience has crossed the point of no return. Building expertise takes at least 2-3 years. A framework that changes every year is not a candidate to build expertise to start with! The expertise is like homes built on a glacial mud deposit with an imminent expiry date.
How does one explain this risk to someone with a 30-year home loan already in process? Indeed they are obsessed with debt, just not technical ones. Let me explain with an example. The notion of an expert is misconstrued as someone who knows a lot about one topic.
Hire generalists not generals!
Expertise, in my opinion, is about asking why and continuing to learn. Some people are blessed with the skills to be knowledgeable about many topics in one lifetime, but finding them among noise is getting more challenging by the second.
The following video will walk you through an end-to-end example. I have been through this stack firsthand across various projects.
The curse of generic perspective
Software engineering at the last mile is as political as democracy. Everyone can express their opinion, but the hierarchy decides the facts. The education system conveniently distances itself from reality with the help of theoretical jargon. The students are handed off from theory into corporate jargon with the help of interview portals. I am more comfortable believing in an astrologer than a recruitment site hiding as an education platform. Circumstances forced me to understand the value of being a generalist.
People + Programs = Software
The curse of a generalist approach stems from respect for correctness and completeness. The specialists are good at or rather can only provide one piece of advice in detail, irrespective of the context. With the way power is distributed in corporate hierarchies, the context is molded to suit expertise, not the user experience. User experience is something to yell about on social media platforms, not caring about during design. It becomes an obstacle pretty soon. Forgetting about the people in the process of building software continues to sink unicorns and market leaders alike. The compassion for fellow humans cannot be sidelined under the cloak of statistics and capitalism.
The metrics of a successful career as a generalist are hard to define. The growth paths are polluted with vanity. I still believe grooming a generalist is the only way to build value over time. Experts will drag the system into a rut of their egos; generalists will avoid that pitfall by survival instinct. The probability of building a diverse culture in software around a team of generalists is much higher. Invest in people who care about solving problems instead of simply building a reputation.
As my two cents, I have built a course that can help early stage professional upskill independently. The journey takes time but results in a scalable career.
How to succeed in software without computer science degree?
20 topics necessary to become a complete software professional. Software as a business is a lot more than coding.