(no title)
stuven | 3 years ago
For a long time, the answer was, "No jobs are at risk, AI can't compete in any scenarios. At best, it's a tool."
Now the answer is, "Only a few jobs are at risk, AI can only compete in a small range of tasks."
It's possible we're at the beginning of a hockey stick graph.
So what would it look like for AI to make the leap to mid level developer? It would have to understand:
1.) The codebase
2.) The technical requirements (amount of traffic served, latency target)
3.) The parameters (must have code coverage, this team doesn't integration test, must provide a QA plan, all new infrastructure must be in Terraform)
4.) The end goal of some task (e.g. integrate with snail mail provider to send a customer snail mail on checkout attempt if it was denied for credit reasons)
It would then have to make a design based as much as possible on the existing code style and library choices and follow it.
This is all probably possible now, although perhaps not for a general AI or LLM. But someone could build a program leveraging an LLM to provide a decent stab at this for a given language ecosystem.
The hard parts:
Point 2 requires an understanding of performance which is a quantifiable thing, and LLMs up until now have been bad at making math-based inferences.
Point 3 requires the bot to either provide opinions for you (inflexible) or to be very configurable for your team's needs (takes longer to develop).
Point 4 requires a _current_ understanding of libraries, or the ability to search for them and make decisions as to the best ones for the job.
-----
What about extending the above for a senior role? Now the bot has to understand business context, technical debt (does technical debt even exist in a world where bots are doing the programming?), and other "situational factors" and synthesize them into a plan of action, then kick off as many "mid level bot" processes as necessary to execute the plan of action.
The hard parts:
Current LLMs are pretty uninspired when suggesting ideas.
Business context + feature decisions often involve math, which again LLMs aren't great at.
VLM|3 years ago
What exceptions should I be catching off this database connection, not just listing them but knowing even the concept that I should consider those error conditions? What could possibly go wrong with simple string concatenation when putting together a database query? Is there anything wrong with trusting the user to enter a quantity at a self checkout stand, and is there any input bounds checking to be done? (Like not permitting negative number quantities of produce, or not permitting the user to enter thirty different items in a row claiming them all to be cheap Idaho baking potatoes)
"Plz write me a hello_world.py" is pretty easy for an AI, but actually writing usable code seems quite challenging.
I am so old that I predate the internet going back to 1981 and I remember coding without google and stack overflow and similar resources; life was different back then and if you couldn't google how to invert a binary tree either you figured it out yourself (like a bad interview) or you researched paper textbooks or you didn't do it. Likewise AI will be a similar step, nobody will ever again type in by hand something for example like connect to a MSSQL DB in C#. But much as being able to google the algo to invert a binary tree didn't put all programmers out of work, it seems likely that not having to hand type simple stuff will put many people out of work.
I see the AI situation as very similar to the claim that photocopiers and NOLO publications will put all the lawyers out of business. Sure, some very small businessmen will get away with hand filing their own homemade incorporation papers without lawyers, and there will be a small amount of wage pressure, but overall they're not going to get wiped out.
VLM|3 years ago
However, the problem with being your own lawyer (or software developer) is the AI will never exceed its previous accomplishment but your goals and desires and requirements certainly will. So its a rising tide lifting all the boats situation. The game will be upped; you're not getting ahead by using AI you're just not going out of business, and the jobs are going to be even harder and higher paying. The cousin of this problem is if you have no idea what you're doing and randomly file legal papers in a best effort sense, just blindly trusting a liability-free book that may be out of date already, you'll eventually paint yourself into a corner if you try to set up your own LLC, c-corp, trust, will, etc, and as per above the AI was already operating at its limit so it won't be able to help and you're past your limit which is why you used the AI in the first place so you won't be able to help yourself or sometimes even understand the problem. Which is why human lawyers still practice...
In summary point 7 is I expect a lot of money will be made by humans cleaning up after AI "accidents". The purpose of the tech to "do stuff" beyond your skill level, which always turns into a disaster sooner or later.
A pretty good analogy from the pre vs post internet era is being able to blindly cut and paste code, perhaps an algo or an API, doesn't mean you can actually apply it correctly, use it, understand it, or troubleshoot it. And so it will be with AI, its just "nicer looking" code to cut and paste. But everyone who's ever self taught themselves an algo or an API knows they didn't really know anything when they cut and paste, the real learning came after.
generalizations|3 years ago
stuven|3 years ago
But then we'd have to coerce the bot into generating structured responses that can act as next steps.
PeterisP|3 years ago
VLM|3 years ago
Ask AI if "I" should use AWS, GCP, Azure, private cloud, or ? Instead of an answer explaining what "I" should do you can only get a generic groupthink comparison of "well, Azure is pricey for DB compared to AWS" and no interpretation.