Thank you for a thoughtful write up! I am looking forward to recommending it to people.
The whole situation with AI and coding reminds me of Advanced Chess where humans compete in chess with full availability of computers. There were two interesting things that came out of that for me. First of all, while computer beats a human in chess, a human-computer pair is much stronger than a computer. Another interesting thing is that a very different archetypes of players dominate advanced chess tournaments: these are lower ranked chess players with stronger engineering backgrounds. The skill seems to be more in high level strategy and delegation as opposed to remembering millions of positions.
Code machine engineers are more like chess grand masters, whereas PM-IC hybrids, are more like people who win the advanced chess tournaments.
Also, chess is very much a “kind environment”, where things are very cleanly scoped and states are discrete. Making products to be used by humans in the presence of competition is very much a “wicked environment”, so AI has a lot of catching up to do before it “beats” a moderately skilled engineer at end-to-end ownership, as you have pointed out.
I love the chess analogy and didn't realize there were computer-human tandem tournaments. I play tournament bridge, which is perhaps the last major classic game where the best humans still easily beat the best computers. Bridge is definitely a "wicked environment!" However, I don't believe LLM technology has been incorporated into bridge AI yet and it will be interesting to see how much it helps if at all.
Interesting post! I kind of feel like the A solutions have value to engineers regardless of AI's impact. Your engineering work is always done in context, and the more of that context you understand, the better software you'll be able to write.
Thank you for a thoughtful write up! I am looking forward to recommending it to people.
The whole situation with AI and coding reminds me of Advanced Chess where humans compete in chess with full availability of computers. There were two interesting things that came out of that for me. First of all, while computer beats a human in chess, a human-computer pair is much stronger than a computer. Another interesting thing is that a very different archetypes of players dominate advanced chess tournaments: these are lower ranked chess players with stronger engineering backgrounds. The skill seems to be more in high level strategy and delegation as opposed to remembering millions of positions.
Code machine engineers are more like chess grand masters, whereas PM-IC hybrids, are more like people who win the advanced chess tournaments.
Also, chess is very much a “kind environment”, where things are very cleanly scoped and states are discrete. Making products to be used by humans in the presence of competition is very much a “wicked environment”, so AI has a lot of catching up to do before it “beats” a moderately skilled engineer at end-to-end ownership, as you have pointed out.
I love the chess analogy and didn't realize there were computer-human tandem tournaments. I play tournament bridge, which is perhaps the last major classic game where the best humans still easily beat the best computers. Bridge is definitely a "wicked environment!" However, I don't believe LLM technology has been incorporated into bridge AI yet and it will be interesting to see how much it helps if at all.
Great framework and robust run through of key scenarios, Drew! Appreciate sharing these insights.
Interesting post! I kind of feel like the A solutions have value to engineers regardless of AI's impact. Your engineering work is always done in context, and the more of that context you understand, the better software you'll be able to write.
Agreed!