That quote really perfectly encapsulates the challenge with these tools. There is an assumption that inherently code is hard to write and so if you could code in natural language it would save time. But code isn’t actually that hard to write. Sure some people are genuinely bad at it just like I’m genuinely bad at drawing but a bit of practice and most people can be perfectly competent at it.

The hard part is the engineering. Understanding and breaking down the problem, and then actually solving it. If all we gain out of these tools is that we don’t have to write code by hand anymore they are moderately useful but they won’t really be a step change in software development speed.

It's not too different in my opinion from the skills need to build complicated machinery like Boeing 747s despite how much Wallstreet and PHBs want to believe it's fungible. Having competent experienced engineers on the ground level watching these processes and constantly revising and adapting to everything from personnel, material, or vendor changes is so far irreplaceable.

Maybe if we get super AGI one day. Even then I suspect that from a thermodynamics perspective that might not be cost effective as you often need localized on site intelligence.

It's an interesting question but I bet humans combined with AI tooling will remain cost competitive for a long time barring leaps in say quantum compute. After all organic brains operate at the atomic level already and were honed in an extremely competitive environment for billions of years. The calories and resources required to create highly efficient massively powerful neural compute had incredibly thin resource "margins" with huge advantages for species to utilize.

You hit the nail on the head too. Coding itself is very easy for anyone halfway decent in this career — and yet there were a ton of people in CS101 and even in later courses who struggled with things like for loops. It was very hard for them to succeed in this career.

What’s hard is coming up with the algorithm/system design, making the right choices that will scale and won’t become a maintenance nightmare, etc. And yeah, after almost a decade, I have picked up enough I can at least write an outline of a solution that will work alright. But there are still so many tricky edge cases and scaling problems that make it hard to turn “alright” into “really good!”

Sure, AI can help… but it mostly helps with greenfield projects. It doesn’t know about the conversations on slack & jira from a year ago. It doesn’t know about the dozens of other systems and ways the project interacts with other parts of the business. It doesn’t know why whatever regurgitated approach won’t be a good fit for our specific use case. And elaborating all of that detail is not easy! Part of what makes you a good employee is the shit you picked up over the past several months & years that is joe ingrained in your mind when you start working on new projects.

[dead]