|
Domain-specific knowledge, having no relation to software engineering per se, is a necessary skill set. The best analogy I can find, if not a tired one, is the equivalence of software engineering to tool-and-die making. In prior generations where manufacturing was king, it was a necessary operational skill set in order to produce things at scale, yet is much less (if no longer) relevant in the age of additive or subtractive manufacturing, where quantities can be varied according to immediate requirements. Along the same lines, a skill set in traditional software engineering is less enamored in the age of AI agents that can better regurgitate boilerplate code. The corresponding next-level-up analogy is the tool-and-die maker that learns 3D modeling + additive manufacturing, with FE analysis and CNC skills as a fallback. For software engineers, it's AI agent prompt engineering and data modeling, according to use cases defined by business needs. You need to put on your entrepreneurial hat and figure out how to do things faster, with greater accuracy, relevant to business needs - not navel-gazing at package management and build automation exclusively. This is, of course, an extremely naïve view of the state of things, though I cannot imagine, as a generalist, how one could survive with increasingly niche skills that, a decade ago, would have commanded six-figure salaries. Good luck! |