People always talk about it in relation to programmers, but what about us non-programmers that have been able to code things only becuase of chatgpt?
I have some python, sysadmin, and computer security knowledge. I actually obtained the security+ cert a few years ago.
I do not work in tech anymore, and chatgpt has helped me so much, by basically coding stuff for me to do random work tasks that I was either unqualified to do or didn;t have the time to do.
It’s a neat tool, but be careful what you do with it. I wouldn’t make anything web-connected or otherwise requiring security considerations, for example.
I think LLM is fine for shorter scripts. As a professional programmer, it has helped me with writing simple throwaway scripts. Those circumstances are rare.
My stance is that if you think LLM help you get your job done, then use LLM. It’s just another tool to your arsenal.
I don’t trust using LLM for large long running software projects though.
It’s an interesting tool.
It can shave hours off of experienced programmers work if they use it in the right scenarios. You can use it in places where you need to do something that’s mundane but fiddly. It’s suboptimal for crapping out a large project, But it’s super effective at generating a single function or module to do a task. It might even come up with a better idea than you would use for some things. The key is if it does something that’s not quite right or not the best idea You need to be able to read it to understand that it’s going a little off the rails.
If you’re a spreadsheet junkie, It’s capable of writing really really complicated rules without getting lost in the minutia.
For non-developers that don’t know anything it’s a dicer proposition. After a couple thousand lines of code You might start running into interesting problems. When it starts having to go and do problem solving mode, and you’re just feeding it back The errors and asking it to fix the problem You can get bogged down pretty quickly.
For DevOps it’s the diggity bomb. Practically everything in that profession is either a one-off quick emergency script or a well thought out plan of templates.
Here are my five Amazon accounts give me a shell script that goes into every account in every availability zone, enumerate every security group and give me a tool to add remove or replace a given IP with a description and port based on the existence of other IPs descriptions or ports. Or write me an ansible script to install zabix monitoring playbooks with these templates.
This is what I’m talking about. So many people talk about it in white or black.
I was able to “code” a front end that my contractors can log into to view the files they are authorized to see.
It helped me write so many different things that all work together to solve my problem.
It may or may not be the most efficient code, but in terms of overall business operation, it’s extremely efficient.
Tip, when you’re done having it do your project, restart the chat, tell it that it’s a security engineer and ask it to check for any vulnerabilities or anything that should be done to protect the site against malicious activities. Ask it if there’s anything with your hosting or site that should be addressed.
Most of the training data out there is on how to get a task done and the best way to do the task, there’s a lot less training on completing a project with security in mind. There is however a lot of data on specifically how to secure already written code so it can do it, but it generally will not unless you ask it to.
That’s perfectly fine though. And I say that as a professional dev. The problem is when people assume you can actually build an entire software/service architecture of any complexity just through vibe coding.
Currently LLMs are great for helping me pick out the curtains or even to help me assemble some furniture, but I would NEVER let them build the entire house, if that makes sense.
Sure, I get it. Once my business is in a more profitable place I’ll bring someone on to fix up the code, but for now it’s more than enough.
What’s the largest program, in line count (wc -l will be close enough, or open the file in Notepad++ and scroll to the end), that you’ve created this way?
If you count only 100% vibed code, it’s probably a 20 lines long script.
Usually, I tweak the code to fit my needs, so it’s not 100% vibes at that point. This way, I have built a bunch of scripts, each about 200 lines long, but that arbitrary limit is just my personal preference. I could put them all together into a single horribly unreadable file, which could be like 1000 lines per project. However, vast majority of them were modified by me, so that doesn’t count.
If you ask something longer than 20 lines, there’s a very high probability that it won’t work on the 15th round of corrections. Either GPT just can’t handle things that complicated, or maybe my needs are so obscure and bizarre that the training data just didn’t cover those cases.
Using a tool as a tool to solve a problem?! Blasphemy, hectic, you shall bring about the end times!
But to be serious ai is here, it exists, you can’t put things back in the box. Bitching about ai at this point is like bitching the sun is bright and hot.
People need to just get the fuck over it and move on. Focus on regulating and updating laws to the new status quo. Not just bitching like some child having a tantrum because people are using a fucking tool.
I’m with you on this. The only legit concern I hear is its environmental impact.
But things will become more efficient over time and it had led to increased interest in nuclear energy, so i think it’s a problem that will take care of itself.
I’m not bitching about the existence of code agents in general, I’m bitching about the general attitude of “Code Agents will replace programmers” because no the fuck they are not.
They can produce one-off apps and scripts fairly well to the point where non-programmers can solve their problems (great!) but they lack the necessary sophistication and context to build long-lasting, maintainable and scalable applications, which is what you are hiring developers for in the first place
Pfft. Computer Science ain’t about coding
Code AI is to programming as a microwave is to cooking
Microwaves are useful cooking tools and can be used to make many things.
Exactly how AI is a useful programming tool when used correctly by a professional.
correct, but if you’re paying someone to make you a dish you wouldn’t want them to just slap a frozen fish in the microwave and serve it to you. That’s what using AI to build enterprise applications for customers is like.
i mean, when they were new that was absolutely what people paid for. microwaves were the new hotness, the height of luxury for a few years. there were microwave-only restaurants.
which i guess serves to further strengthen the metaphor.
Removed by mod
Computer science has always been separate from software engineering.
In my mind:
- Computer science: Theoretical. Deals with algorithms, complexity and such.
- Software engineering: Practical. Deals with whatever PM has written in Jira tickets.
Both are important in their own right.
I wish I could’ve gotten a software engineering degree
I have a BEng in software engineering. It wasn’t thst different from a normal BSc in CS. Bits that stood out to me was industrial stuff around building and programming our own circuits, making our own (very simple) compiler, and some assembly modules, I had more maths stuff but that was for 3D graphics. My dissertation was a temperature control system for radiators.
I don’t really use any of it in my job, although I did do a ton more programming modules than most CS of the time, and those programming modules prove very useful.
Computer science is basically the study of software engineering, because computer engineering means hardware, which has grown into a separate discipline that computer science only touches on
Programming is writing code for the ticket, architecture is designing the system that gets written into tickets, and software development is the whole process
But all these disciplines grew faster than language, so really the titles are whatever you want them to be
Computer science is basically the study of software engineering
That’s not at all true if you ask me. Computer science is the study of data and computation, on a theoretical level. Software engineering is not theoretical at all, but very practical.
Here’s the thing…all of computer science is based on the practical, and software engineering is based on the theoretical
The data and computation being studied? We made it up. We don’t need to do it any particular way, we’re playing with ideas to interface to computers. Computers we made up too
Software engineering is using the lessons we learned by studying how others did things and how it works out in practice
We teach students computer science to make them into software engineers. You can still study how things are done as a separate career, but the two ideas are like an ouroboros. It’s a cycle of creation and analysis
all of computer science is based on the practical
I don’t understand this at all. Computer science is based on theoretical foundations that were developed way before any actual computer existed. This goes back more than 100 years.
We teach students computer science to make them into software engineers.
That’s only true if you studied a very practically-oriented education. Such educations are usually called “Software engineering” rather than “Computer Science”.
As a computer science graduate myself, my university definitely did not try to make me into a software engineer. It was very theoretical, with a clear focus on further research if that was what you wanted to pursue. You could get through the education quite okay and only ever write very little actual code. It was the maths that was the harder part to write.
I got an education in software engineering, not computer science, and my experience is in line yours. I had a few courses about fundamental computer science concepts but most of my education was in learning a little about many different areas of software engineering, specializing in a few. Most of the education involved working as part of a software team, using tools of the trade, applying common design patterns and that sort of stuff, even when courses weren’t explicitly about that.
I would never call myself a computer scientist, I don’t have the education for it, I however immediately had a software engineering job ready after graduating and felt prepared for it from day one.
I love what computer scientists do within the theoretical domain because it eventually seeps into mainstream languages and tools, in a way I benefit from. I’m just not involved with it myself, beyond when it reaches practical application.
I studied computer science as well and I share this sentiment.
Although I’m happy about my degree because I’ve learned many things I would otherwise miss, I also wish my degree prepared me more for the industry. There’s a disconnect between academia and the industry.
What I’m mostly concerned with is how to build software that can grow with 10ish team members. I find it hard to find good academic sources on this matter.
People who use AI frequently are the ones who don’t understand the fundamentals.
Taking the black hat off the AI and putting it where it belongs? That’s crazy talk!
Funny. I dislike vibe coding because it takes away the “art”.
Implicit in these remarks is the notion that there is something undesirable about an area of human activity that is classified as an “art”; it has to be a Science before it has any real stature. On the other hand, I have been working for more than 12 years on a series of books called “The Art of Computer Programming.”
it can be both artless and scienceless
Yay! 😰
I dislike it because it encourages shit code
Computer vibence
Why stop there? Ouija coding takes the “science” and the “computer” out of computer science.
“yes”, “no”, and “ship” is hilarious.
I kind of see the relationship between computer science and programming as parallel to the relationship between linguistics and speaking foreign languages. You don’t need to learn linguistics to speak another language—so AI translation isn’t taking the linguistics out of translating because it wasn’t a necessary element to begin with.
I think it depends on who you ask. Some people who “vibe code” definitely use it as a crutch for a lack of understanding. But others (often more senior) tend to use it as just a really really complex auto-complete. Mostly it generates chunks and patterns but the ideas and how those pieces connect come from the dev
I feel like not knowing what you’re doing is a critical piece of the vibe coding definition tho. If a sr developer is using AI, understands the code generated, and can manipulate it in a secure, industry standard way, then that’s just a developer.
Vibe coding is shit, and will always be shit no matter who is doing it.
Edit: The mods decided my other comment was too controversial… “I’m an engineer to genius” apparently thats too controversial for this site 🙄
Totally disagree. Your position is way too overly simplistic and naive.
An engineer only builds a bridge as strong as it needs to be, and likewise I “vibe code” things based on how few fucks I need to give.
I’m experienced and can review the output for sanity and completion. I can test it, I can rewrite it, etc.
Stop looking at vibe coding as doing the whole thing, it’s more valuable as the glue between things, or to create scripts tools that make you more efficient.
And you can vibe code entire apps that basically just work these days. You probably don’t want to maintain those apps but thats a question of lifecycle planning.
It is so much faster to vibe code an API integration and a suite of tests than I can write. It’s faster to write a functional jq or bash script.
But it’s also much much much worse at doing data viz or writing pandas code because it’s trained on 10,000 shitty medium blogs.
You really have to know what you’re doing and what the model is doing, but it is not universally trash.
And if you don’t believe me, put $20 into the Claude API and install Claude Code and ask it to build something.
I’m experienced and can review the output for sanity and completion. I can test it, I can rewrite it, etc.
You aren’t vibe coding if you refactor and test properly…
why do you guys always just move the goalposts?
“X thing isn’t real AI, because real AI sucks and I might have to concede the positive attributes of X about AI generally… [OCR, chess bots, etc.]”
“Y thing isn’t real vibe coding, because real vibing coding sucks and I might have to concede the positive attributes of Y about vibe coding…”
like… you seem like you’ve just decided these things are “bad things” in your head and just shift your definitions the moment you meet reality and see anything that might evoke cognitive dissonance about it.
why do you guys always just move the goalposts?
“Vibe coding” has a pretty specific definition, which includes not understanding the code. So writing tests, or correcting the code both disqualify a piece of work from being technically “vibe coded”.
Usage by scientists to do pattern matching and by language models to replicate natural sounding language and a bunch of other AI is neat and useful but the AI is not literally intelligent as described by the people that are dumping LLMs into settings they are not actually useful for like regurgitating accurate facts.
When we criticize AI in situations like this it is because they are using a tape ruler to hammer in a nail and then taking away people’s hammers and replacing them with tape measures and then we find out they stole all the tape measures.
We are complaining about a combination of what it is and how it is used. We also want to make sure that a term that means something stupid is clearly used for that stupid thing and doesn’t lose meaning because they have some vaguely related usage. Using a hammer put pound in a nail and using the hammers claw to pull a nail out are two different things even if they both use a nail.
Where as you seem to think anyone criticizing shitty use of AI means all AI that exists instead of understanding context.
Removed by mod
Since when are programmers the same thing as computer scientists?
No, it doesn’t, because the need for programmers has not changed one single iota.
Vibe Coders do not replace them at any level. They are not computer scientists, they are not engineers, they cannot even program any more than a regular person could (possibly much worse).
it’s all computer!
I’m a comp science web designer. Because of my dyslexia. I never could get hired as a real dev. Ai does a bit of the cleaning up I have trouble with and helps me speed up my development. I appreciate it for that. But you still need to know the code for the programs to work. There is still a need for humans. So far. But for how much longer?
It will take at least until they take a wholly different approach to “AI”. Until they make something that has some concept of what it is saying, you’ll continue to get things much like you get today–a probability-based response that amounts to a series of symbols it thinks are a good reply to the series of symbols you entered. It has no way to validate itself nor even a concept of validation of output, so its validity will always be in question and the complexity of what it can do limited.
But for how much longer?
How much longer will we need people who understand how things work?
Well I drive a car and I do know how it works, but I don’t need to.
One day the AI will be a powerful tool for making software, not 100% of all software, but enough to make those cheap stuffs like most websites for example, laying off lots of those people doing it today IMO.
I agree. But I mean, WordPress and SquareSpace already did that for about 98% of web traffic. It was a big part of the .Com Boom and Bust.
But we keep coming up with new stuff to build web software for, and there’s still plenty of web developer jobs. And there’s still so so many many shit websites.
Today’s AI can only remix, not do the new stuff. Maybe it’ll get good enough to tackle the novel new stuff, someday. I doubt I’ll live to see it, if it happens.
The root of my crankiness is: If we’re about to no longer need developers, I should be seeing widespread websites whose search, cart and checkout actually work correctly every time.
The snake oil salesmen are bragging that the era of carpentry has ended, from on top of a wooden stage that is falling to pieces with each step.
I would say, it can only get better, but it can really go both ways from here.
How much longer until the bots are capable of knowing the code better than the developers.
Too hard to guess until we reach the stage where the bots know anything at all instead of just regurgitating text based on statistics.
Knowing it (well, appearing to, by regurgitating the average) better than many developers, pretty soon. A huge number of us know disturbingly little about how computers actually work. (Edit: Sorry, I’m being needlessly unkind to a bunch of us, since as Snoogums said, the current stuff doesn’t actually know anything at all, yet.)
Knowing it better than top developers is a science fiction fantasy singularity daydream.
And even Heinlein’s and Asimov’s post singularity fiction novels acknowledged that there would likely be roles for expert humans.