So Much for ‘Learn to Code’
So Much for ‘Learn to Code’
In the age of AI, computer science is no longer the safe major.
So Much for ‘Learn to Code’
In the age of AI, computer science is no longer the safe major.
AI is actually the king of bullshit. It might give you some code, but will it compile? Probably about as well as an AI art knee would actually bear your weight.
And the author clearly has no idea what she’s talking about, or the impact of AI on CS.
I use chatgpt regularly to build outlines and boilerplate to code I want to write. Yes it’s code I can’t trust and almost entirely rewrite, but simply the act of it naming the variables saves me time.
And even if it did get to the point of good code, you have to be a developer to know what it created is what you wanted in the first place.
This is fearmongering targeting tech people by claiming their jobs are at the same level of risk of disruption by ai as other white collar jobs (like hers!).
We are nowhere near AI writing our software unattended. Not even close. People really over estimate the state of AI.
I'm an AI nerd and yes, nowhere close. AI can write code snippets pretty well, and that'll get better with time, but a huge part of software development is translating client demands into something sane and actionable. If a CEO of a 1-man billion dollar company asks his super-AI to "build the next Twitter", that leaves so many questions on the table that the result will be completely unpredictable. Humans have preferences and experiences which can inform and fill in those implicit questions. They're generally much better suited as tools and copilots than autonomous entities.
Now, there was a paper that instantiated a couple dozen LLMs and had them run a virtual software dev company together which got pretty good results, but I wouldn't trust that without a lot more research. I've found individual LLMs with a given task tend to get tunnel vision, so they could easily get stuck in a loop trying the same wrong code or design repeatedly.
(I think this was the paper, reminiscent of the generative agent simulacra paper, but I also found this)
Now, there was a paper that instantiated a couple dozen LLMs and had them run a virtual software dev company together which got pretty good results
Dude, you need to take a closer look at that paper you linked, if you consider that "pretty good results". They have a github repo with screenshots of some of the "products", which should give you some idea https://github.com/OpenBMB/ChatDev/tree/main/misc .
Not to mention the terrible decision making of the fake company (desktop app you have to download? no web/mobile version? for a virtual board game?)
(Also the paper never even tried to prove its main hypothesis, that all this multi agent song and dance would somehow reduce hallucinations and improve performance. There is a lot of good AI stuff coming out daily, but that particular paper - and the articles reporting on it - was pure garbage.)
True, as of today. On the other hand, future advancements could very easily change that. On the other other hand, people have been saying the same about self driving cars 10 years ago, and while they do basically work, and are coming eventually, progress there has been a lot slower than predicted.
So who knows. Could go either way.
It’s almost a philosophical question of whether I can replace us though. Because for it to be anything more than a tool it needs real intelligence, compassion, etc. Basically it would need a conscious.
I’m certain it’ll replace some jobs without that, just because being a tool it’ll make us more efficient and that efficiency will eliminate jobs. But I’m not seeing it replace or assimilate entire industries at this stage.
Yea…anyone who has asked chatgpt to help them fix a piece of code or write one would know it requires a lot of human editing/good prompting. And a lot of time, what I was trying to accomplish still wouldn’t work.
True. But if AI makes people more productive it could make it really hard to find work. Especially if you're straight out of college with zero experience.
finding job as a junior is already a bit harder than it was because so many developers are working remote, which is way harder to do when you are a junior developer.
You can't write this kind of thing if you understand what a programmer does. The biggest part of the job is finding a good way to break down a problem into executable steps, not just actually writing the code.
Executable and maintainable
AI generated code can’t, as of yet, go in and fix a bug
software developers with access to GitHub’s Copilot chatbot were able to finish a coding task 56 percent faster than those who did it solo
Are these competent developers, or the kind who already take 4 or 5 times longer to do a task than their peers?
Part of the problem with telling people "learn to code" is that a lot of them are bad at it. There may be some diamonds in the rough, but there is a lot of rough out there.
Author seems to think that starting salary for developers working for Google is representative as well. The average computer science graduate does not get a job at Google.
People who learn to code because it means job security are not the ones we look to hire. We look for people who are passionate about it, whose interest in the subject is deeper than skin deep.
Not looking for people who live and breathe code, but you need to like to solve problems and like to learn new things.
I am a very competent developer. Copilot makes me a lot faster with net new code and tests because a lot of that stuff is very close to boilerplate so Copilot can build 95% of it for me. Declarative stuff like HCL is so much faster. Copilot doesn’t necessarily speed me up for things like bug fixes because a lot of that is code reading. Refactoring? Hell yeah. Way faster.
Here’s the study. If you look at the actual prompt (near the end), it’s exactly the kind of thing Copilot kicks ass at: something that’s super fucking common all over GitHub (a toy JavaScript server). I really don’t think my job is in jeopardy yet.
Are these competent developers
Here's an example - a few minutes ago I wrote this line of code:
undefined
// date
... and a split second later copilot auto completed exactly the seven lines of code that I would have typed. I read the code, tested it, and moved on to the next block of code.
Yes, I could have written those seven lines. They were pretty basic - read a value from the database, transform it to a string human form, and send that the user. CoPilot types a lot faster than me (words per second, instead of per minute) and it makes fewer typos.
It's also more familiar than I am with all the major libraries. I find I'm spending a lot less time reading documentation or searching the web these days.
But the real kicker... I work on a small team. My project is full of code that I didn't write and it isn't as well documented as I'd like it to be. It's also not publicly documented, so I can't use Google or Stack Overflow to find answers. CoPilot has indexed the project, and it knows how to read the date from the database. It also knows what human readable date string format has been used elsewhere in the user interface.
This feels like a more cogent opinion piece on AI's potential impact on programming:
AI is coming for your shitty "journalism" jobs writing about AI taking your jobs.
This is a much better article. OP's article just shows the author's surface understanding of how coding works and how well an LLM can actually code. There's way more that goes into a programming task than just coding.
I see LLMs as having the potential of being almost like a super library. I can prompt GPT, Claude, etc. to write me a custom function that I copy, paste, test, scrutinize, and almost certainly change. It's a tool that will make someone a more productive programmer. It won't completely subsume a human's ability to be creative and put the pieces together.
At the absolute worst over the next decade, I could see programming changing from writing and debugging code to prompting, stitching together, and debugging.
It's the same with CAM software in CNC, like sure, If you set it up right (which is a skill in and of itself) it can spit out a decent toolpath, but there's tons of magic to be done by hand and understanding the way the underlying G code works allows you to make small changes on the fly.
Stakeholders struggle to give accurate requirements most of the time, they're not gonna be programming with ChatGPT soon. AI can really improve a good developer's output though.
Haven't found a usecase for it yet where it doesn't shit out gift wrapped garbage
You have to give it very specific instructions and small, targeted things to do. I've used it to write a lot of terraform, I hate writing IaC.
However, programmers will still be needed to guide AI toward productive solutions
So it would still be safe, they'd just be doing different work from what they do now. Same as how other advances in tech stacks made it so we do things differently now than 30 years ago.
People are very adaptable
Indeed. Do people still use emacs to code, for example?
Technologies evolve. People coding today in COBOL or Fortran are few and far between (but very well compensated).
Yes, that's the key. I haven't written assembly code since the 1990s, I use higher-level abstractions to get to the goal more quickly now. AI-generated code is just yet another layer of abstraction away from machine language.
I just want to mention the clever graphic design of the Illustration by Ben Kothe
It's a multilayered visual pun. A visual punion, if you will.
lol
There is still going to be a need for programmers and don't think "AI" is going to be on its own anytime soon. Even using it as an assistant you need to know what you want and have some understanding of the code. Feel like most of what we see of "AI" right now is just propaganda so investors will throw money at them.