3 Comments
User's avatar
Maximillian Kirchoff's avatar

As you note, these are core skills we already knew about for effective engineering. But I would add, they are not skills every SWE is necessarily good at. More reason to focus on the critical thinking, planning, and architecture skills in eng.

Sam Keen's avatar
1dEdited

Totally with you, I've been thinking, what should an aspiring Software Engineer be skilling up on? And to your point, I feel it is those higher level skills, Architecture, Systems thinking, etc. I'm not ready to claim they "should not learn to code" (as some are), but I'm convinced the afore mentioned skills will continue to rise in value in an agent assisted development ecosystem.

Maximillian Kirchoff's avatar

Yea it's unlikely they shouldn't learn to code, and maybe they will always need to learn aspects of the language the LLM works in. With other software engineering abstractions, like higher level programming languages, it makes sense to not have to learn the lower layers as the compiling is deterministic. I'm not sure if we can call coding LLMs "abstraction layers" yet, but its clear we're already using them that way.

I know for my own usage of AI in coding, I will see it doing things I can read in that language, which is very important when it's showing signs that its taking the wrong approach or trying to "out smart" a configuration problem or bug.

Also, when I work with more "vibe coder" level folks, they will get hung up on something like the AI not knowing how to use an interface in a new version of some library and spend hours trying to get it working - while it's very clear to me what's wrong and how to fix it in a few minutes.

But maybe all of that becomes less of an issue in one of these loops?