44 karma · joined November 16, 2021
But then we'd have to coerce the bot into generating structured responses that can act as next steps.
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.
"But honestly (replying to myself) as much as I am excited about this new tech, I do wonder what it will be like to live in a world of mostly machine-manufactured art. It echoes the move we made as a society from a world of handmade, often beautiful personal effects to a world of simple and comparatively crude mass produced effects."
Make this post more coherent and intelligent sounding """ => """ As exciting as this new technology may be, I can't help but wonder about the potential impact it may have on the world of art. The move from handmade, often beautifully personal creations to mass-produced, simple and comparatively crude items has already had a profound effect on society. It's hard to predict what the future will hold, but it's important to consider the possible consequences of this shift towards machine-manufactured art. """
That being said, it's true that as AI technology continues to advance, it's important for researchers and developers to consider the potential risks and ethical implications of their work. This includes making sure that AI systems are designed and implemented in a way that is safe and beneficial for society as a whole.
Ultimately, the key to ensuring the safe and responsible development of AI is for researchers, developers, and policymakers to work together to carefully consider the potential risks and benefits of this technology, and to take appropriate steps to mitigate any potential negative effects."
- ChatGPT
Entwining our business with theirs was a good way to get off the ground. But when they crashed they nearly took us with them.
I think so too!
I remember the first time I ran into O(1) vs O(n), I was building a toy Game of Life simulation and trying to lookup cells by finding them in an array. Took me a minute to realize I should use an object instead to index the cells!
And then there was the first time I read through the examples in Cracking the Coding Interview. It filled in a lot of gaps.
Nowadays I work on distributed systems that receive 100M requests/hr with other devs who similarly lack a college education but somehow manage
Hope this helps you feel less frustrated next time you're paired with a colleague who has a different background than you do!
I'm curious what skills engineers use on the job that are taught well in university but are hard to pick up from experience?