Sure but this kinda proves my point. It can potentially generate good code for simple, atomic problems. It can't write me a REST service that hooks into an existing web backed spread over multiple repos of proprietary code.
Any relationship not visible in the code seems to be outside its capabilities to understand for the moment. I'll be impressed when I can point it at a server cluster and the associated dozen repos, give it some clues, and it can understand how the code for a server cluster interacts with said cluster's configuration and database hookups by simply scanning the files/repos and the info I textually provide.
The problem for us devs is not that it will replace you completely (although that day is coming, but it's at least a decade away). The problem is that as developer productivity increases dramatically this may put pressure on developer job positions, salaries, etc. One hope is that as the price of developing software plummets it will increase demand accordingly so that we won't feel it that much. God knows there is still a ton of areas where software or better software would help out a lot but it is cost prohibitive at the moment. Once we get into robotics basically anything that humans do can be improved with software.
More like I'll invest time learning a tool relative to the potential payoff. Right now this tool would be of minimal utility. The vast majority of code I write isn't "make this isolated algorithm more efficient", it's "implement/integrate this new feature into the server cluster". Without deep understanding of the software/server architecture and the ability to derive potential tradeoffs of different approaches, my job cannot be done.
This "if you wait to see results the opportunity will be gone!" mentality is for VCs and other people who's business models require them to be way out on the risk curve, who make a lot of bad calls, but lose relatively little when they fail. It was also partially a product of low interest rates. It is not applicable to most individuals/organizations.
I use it as an instant StackOverflow for the most part to get around new libraries or libraries/languages I don't use that often. Also generating custom bash one liners or small scripts. It is priceless for this use case. Yeah, sometimes it is wrong, but in my exp. less than 5%. Also we are lucky that for our purposes we can almost always validate the answer almost instantly and without incurring any cost.
Any relationship not visible in the code seems to be outside its capabilities to understand for the moment. I'll be impressed when I can point it at a server cluster and the associated dozen repos, give it some clues, and it can understand how the code for a server cluster interacts with said cluster's configuration and database hookups by simply scanning the files/repos and the info I textually provide.