30 years later I now understand that most successful projects need people with modest or average technical skills and outstanding communication skills.
It doesn't matter if you have super-genius engineers; if the business people don't really understand the problem that they're trying to solve then you're going to end up with a crap solution (may shiny, fast, and beautiful, but still crap).
A: Eventually we won't need programmers people will just tell the computer what they need and it will generate the code for them.
B: True, there's actually already an industry term for a specification that's detailed enough to generate a working program from.
A: Oh, what is it called?
B: Code.
edit: found it. https://www.commitstrip.com/en/2016/08/25/a-very-comprehensi...?
"Okay, I understand what to do when {thing} happens. What do you want done when {not thing} happens?"
"Oh, umm..."
"{Not thing} can happen, right?"
"Oh yeah, all the time."
"So was the plan when it does?"
"I'm not sure..."
* or think at all, in any meaningful way.
Communication might be strictly email in the future. Or something that could be pipelined into the "AI" for context. Video/Calls might make it too at some point. Face to Face meetings strictly prohibited.
A big part of my job in software is having a very sharpened grasp of my ignorance, the ability to weigh a variety of tradeoffs, and the ability to convey my confidence of my abilities and my team's abilities. I'm not sure this is possible for this generation of AI.
We work as translators. We translate intentions into actual descriptions.