← Back to context

Comment by daviddever23box

5 days ago

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!

I would say you can take opposite route as well. Become even more of a T-shaped engineer than you were before. For me that meant transitioning to vertical roles (i.e., performance engineering) rather than backend engineering. Sure, an AI can understand every level of the stack but reasoning up and down at every level of abstraction still has a human element to it (at least for now).

Quality still matters sometimes. You can make a lot of things by AI, but you can't make them good. The same is true of 3D printing.

Also 3D printing is good at making unique objects, but if you want to make ten thousand of the same object, you definitely need someone who knows the "old" ways. They're not irrelevant at all. And you can even use a 3D printer to help make your tools and dies.

I have successfully explored AI & prompt engineering. I already feel I'm "augmented" vs when I didn't had access to these tools.

I do 100% agree with you, thanks for the good wishes

> Domain-specific knowledge, having no relation to software engineering per se, is a necessary skill set.

In other words, you wasted time and energy becoming a programmer/software developer/whatever.

Should have done something else.

  • This is only true if you weren't paid for your work all those years (which, then, it was just a hobby).

    But more importantly, this is only relevant for vomiting boilerplate code. I don't know about you but I always did a lot more than that.