Do You Lament Being a Generalist?

Why We Will Never Have Enough Software Developers

Software engineers never escape the skill-change vortex, even many years into their careers. Experienced engineers must learn and adopt technologies that didn’t even exist when they started out. Developers must constantly retool themselves…

the quickest learners are also the quickest dropouts.

To understand why, think back to the model we just outlined. Quick learners accumulate human capital faster than their slower peers, which means they have the most to lose when certain skills or abilities fall out of favor. In fact, the return to being a fast learner is higher in jobs with low rates of skill change because the learnings can compound over time instead of dwindle in relevance.

High-ability workers are faster learners, in all jobs. However, the relative return to ability is higher in careers that change less, because learning gains accumulate. Said another way, the opportunity cost of working in a rapidly-changing field is highest for the best learners. This creates immense pressure to drop out of software engineering and other fast-changing careers into more stable roles and industries.

…rapid technological change can lead to a short shelf life for technical skills. This tradeoff between technology-specific and general skills is an important consideration for policymakers and colleges seeking to educate the workers of today, while also building the skills of the next generation.

Over the majority of the last decade, as my technical skills have become mostly obsolete and my business and management skills have not proportionally compensated, I’ve often found myself under waves of impostor syndrome. It’s as if, at 45, I’m just now experiencing Dunning-Kruger’s valley of despair, not as it relates to a specific skill, but as it relates to my entire life.

As I watched the Adam Savage video above, as he referred to his “quiver full of arrows”, all I could think was my arrows are broken and dull. The Nnamdi Iregbulem article confirmed my suspicions. I’m no longer qualified to accomplish the technical tasks I spent most of my career training myself to do properly. The new tasks are, by comparison, nauseatingly un-quantifiable. There’s no RSpec or Cypress to let me know if I’m doing it right. There’s just going out of business.

At some point, being a leader doesn’t mean understanding minefields more than others, it just means being the most willing to first step on a land mine.

^ middle-age vs life ^