I've finally started getting into AI with a coding harness but I've take the opposite approach. usually I have the structure of my code in my mind already and talk to the prompt like I'm pairing with it. while its generating the code, I'm telling it the structure of the code and individual functions. its sped me up quite a lot while I still operate at the level of the code itself. the final output ends up looking like code I'd write minus syntax errors.
Note that I program in Go, so there is only really 1 way to do anything, and it's super explicit how to do things, so AI is a true help there. If I were using Python, I might have a different opinion, since there are 27 ways to do anything. The AI is good at Go, but I haven't explored outside of that ecosystem yet with coding assistance.
When im in implementation sessions i try to not let the llm do any decision making at all, just faster writing. This is way better than manually typing and my crippling RSI has been slowly getting better with the use of voice tools and so on.
The funny thing is my expectation was that adoption of AI coding would kill the joy of getting into a flow state but I've actually found myself starting to slip into an alternate type of flow state.
Instead of hammering out code manually over an hour the new flow state is a back and forth with the LLM on something that's clear in my mind. It's a collaborative state where I'm ultimately not writing much code manually but I'm still bouncing between technical thoughts, designing architecture, reviewing code, switching direction etc.
We know how to do a lot of things, how to automate etc.
A billion people do not know this and probably benefit initially a lot more.
When i did some powerpoint presentation, i browsed around and draged images from the browser to the desktop, than i draged them into powerpoint. My collegue looked at me and was bewildered how fast I did all of that.
It's easy to develop a disconnect with the level that average users operate at when understanding computers deeply is part of the job. I've definitely developed it myself to some extent, but I have occasional moments where my perspective is getting grounded again.
HN has a long history of patronising the "average user" in the guise of paternal figures who don't realise that what they are doing is belittling the vast majority of tech users. I'm guilty of it myself. But they're capable of a lot more than we think they are.
Ultimately, it comes down to the willingness people have to learn new things. If they're curious enough to think about how things work, they'll be fine.
And weirdly enough, a Task like sorting a file with data in it, if you are not a professional, windows offers very if not non single way of doing this. You would need to understand file types, understand that csv can be imported for excel, you need excel, than you need to understand excel how to sort stuff in it.
The ffirst thing I do in Excel is select the pseudo table and click on table -> insert to make it a sortable / real table. I showed this to every one in my Team full of studied CS people because non of them knew this.
What do I want to do? "turn off my computer" What button do I press? "start"
> We know how to do a lot of things, how to automate etc.
You need to know these things if you want to use AI effectively. It's way too dumb otherwise, in fact it's dumb enough to be quite dangerous.
I'll give a third example: I gave Codex some tests and told it to implement the code that would make the tests pass. Codex wrote the tests into the testing file, but then marked them as "shouldn't test", and confirmed all tests pass. Going back I told it something to the effect "you didn't implement the code that would make the tests work, implement it". But after several rounds of this, seemingly no amount of prompting would cause it to actually write code -- instead each time it came back that it had fixed everything and all tests pass, despite only modifying the tests file.
In each example, I keep coming back to the perspective that the code is not abstracted, it's an important artifact and it needs/deserves inspection.
That's a rather trivial consideration though. The real cost of code is not really writing it out to begin with, it's overwhelmingly the long-term maintenance. You should strive to use AI as a tool to make your code as easy as possible to understand and maintain, not to just write mountains of terrible slop-quality code.
Personally I run several agents. At minimum Codex and Claude, so they cross-check each other. Exactly to avoid what you describe. Duplicate functions or "tests all pass" when nothing was implemented is the kind of thing a second model, reading the diff with fresh eyes, tends to flag immediately.
But it takes coordination and solid skills + rules to make it work. Tomorrow's battle -> AI skillers.
Those decisions are, by large, what humans still need to do. If the problem is complex, and you desperately avoid needing to decide, then what AI produces will surprise you, but in a bad way.
But that's not how popular, modern software stacks work. They are like "you can do anything, anything at all!".
Consider Visual Basic for Applications - normally your code is together with data in one document, which you can send to colleague. It can be easily shared, there's nothing to set up, etc.
That's not true for JS, Python, Java, etc - you need to install libraries, you need to explicitly provide data, etc. Software industry as a whole embraced complexity because devs are paid to deal with complexity.
Now AI has to use same software stacks as the rest of the industry, making software fragile, requiring continuous maintenance, etc. VBA code which doesn't use any arcane features would require no maintenance and can work for decades.
So my guess is that the bottleneck might be neither models nor harness/wrapper - but overall software flimsiness and poor architectural decisions
If you stick to tailwind + server side rendered pages you can probably go pretty far with just AI and no code knowledge but once you introduce modern TS tooling, I don't think it's enough anymore.
Well that guy was me and while I still consider HOLs as weird abstractions, they are immensely useful and necessary as well as the best option for the time being.
SQL is the classic example for so called declarative languages. To this day I am puzzled that people consider SQL declarative - for me it is exactly the opposite.
And the rise of LLMs proof my point.
So the moral of the story is, that programming is always about abstractions and that there have been people, who refused to adopt some languages due to a different reference.
The irony is, that I will also miss C like HOLs but Prompt Engineering is not English language but an artificial system that uses English words.
Abstractions build on top of abstractions. For you code is HOL, I still see a compiler that gives you machine code.
These people HATE that developers have been necessary and highly paid and, in their view, prima donnas. I think most of the people running these companies actually despise developers.
Like we did with phones that nobody phones with.
Everyday people can now do much more than they could, because they can build programs.
The idea that code is something sacred and only devs can somehow do it is dying, and I personally love it, as I am watching it enable so many of my friends and family who have no idea how to code.
Today, when we think of someone "using the computer" we gravitate towards people using apps, installing them, writing documents, playing games. But very rarely have we thought of it as "coding" or "making the computer do new things" -- that's been reserved, again, for coders.
Yet, I think that a future is fast approaching where using the computer will also include simply coding by having an agent code something for you. While there will certainly still be apps/programs that everyone uses, everyone will also have their own set of custom-built programs, often even without knowing it, because agents will build them, almost unprompted.
To use a computer will include _building_ programs on the computer, without ever knowing how to code or even knowing that the code is there.
There will of course still be room for coders, those who understand what's happening below. And of course that software engineers should know how to code (less and less as time goes on, though, probably), but no doubt to me that human-computer interaction will now include this level of sophistication.
We are living in the future and I LOVE IT!
People on HN are seriously delusional.
AI removed the need to know the syntax. Your grandma does not know JS but can one shot a React app. Great!
Software engineering is not and has never been about the syntax or one shotting apps. Software engineering is about managing complexity at a level that a layman could not. Your ideal word requires an AI that's capable of reasoning at 100k-1 million lines of code and not make ANY mistakes. All edge cases covered or clarified. If (when) that truly happens, software engineering will not be the first profession to go.
In fact, in the very message you're replying to, I hinted at the opposite (and have since in another post stated explicitly that I very much think the profession will still need to exist).
My ideal world already exists, and will keep getting better: many friends of mine already have custom-built programs that fit their use case, and they don't need anything else. This also didn't "eat" any market of a software house -- this is "DIY" software, not production-grade. That's why I explicitly stated this is a new way of human-computer-interaction, which it definitely is (and IMO those who don't see this are the ones clearly deluded).
Yes you sure are.
Be careful what you wish for, this is going to be a double edged sword like YouTube is. YouTube allowed regular people without money and industry connections to make all sorts of quality, niche content. But for every bit of great content, there’s 1000 times as much garbage and outright misleading shit.
Giving people without any clue how computing works the ability to create software that interfaces with the outside world is likewise going to create some great stuff and 1000 times as much buggy and dangerous stuff. And allow untold numbers of scammers with no technical skill the ability to scam the wider world.
I'm not sure how we're going to solve the obviously relevant problem of slop, but I would rather die trying, than restrict access to knowledge and capability because of evil. I believe in the GOOD of humanity. We WILL find a way.
Indeed. Just spoke to a buddy, he's got some electronics knowledge, he's been code-curious but never gotten past very simple bash scripts and Excel sheets (vlookup etc to drive calculations).
He got himself a Claude subscription and has now implemented a non-trivial Arduino project, involving multiple CAN-bus modules and an interactive, dynamic web interface to control all this. The web interface detects the CAN-bus modules and populates the web interface based on that, and allows him to adjust the control logic.
It's a project he's had in his head for a few years and now was able to realize on his own (modulo Claude).
You spoke of an Arduino, and I have a friend with zero coding knowledge who built a fun project with an ESP32 and a tiny camera to detect when they are "not looking at the computer".
But, sure, people keep saying we're delusional when we say that this is where the world is headed: people building things, so often without even knowing they are doing anything "different" than what they were doing before, when they simply clicked buttons and "things just happened in the computer".
Since when? HN is truly a bubble sometimes
You'll cause mild panic in a sizable share of people under 30 if you call them without a warning text.
All of my friends who would die before they use AI 2 years ago now call themselves AI/agentic engineers because the money is there. Many of them don't understand a thing about AI or agents, but CC/Codex/Cursor can cover up for a lot.
Consequently, if Claude Code/"coding agents" is a hot topic (which it is), people who know nothing about any of this will start raising money and writing articles about it, even (especially) if it has nothing to do with code, because these people know nothing about code, so they won't realize what they're saying makes no sense. And it doesn't matter, because money.
Next thing you know your grandma will be "writing code" because that's what the marketing copy says. That's all it takes for the zeitgeist to shift for the term "code". It will soon mean something new to people who had no idea what code was before, and infuriating to people who do know (but aren't trying to sell you something).
I know that's long-winded but hopefully you get where I'm coming from :D.
Here's an example from just yesterday. An acquaintance of mine who has no idea how to code (literally no idea) spent about 3 weeks working hard with AI (I've been told they used a tool called emergent, though I've never heard of it and therefore don't personally vouch for it over alternatives) to build an app to help them manage their business. They created a custom-built system that has immensely streamlined their business (they run a company to help repair tires!) by automating a bunch of tasks, such as:
- Ticket creation
- Ticket reporting
- Push notifications on ticket changes (using a PWA)
- Automated pre-screening of issues from photographs using an LLM for baseline input
- Semi-automated budgeting (they get the first "draft" from the AI and it's been working)
- Deep analytics
I didn't personally see this system, so I'm for sure missing a lot of detail. Who saw it was a friend I trust and who called me to relay how amazed they were with it. They saw that it was clearly working as intended. The acquaintance was thinking of turning this into a business on its own and my friend advised them that they likely won't be able to do so, because this is very custom-built software, really tailored to their use case. But for that use case, it's really helped them.
In total: ~3 weeks + around 800€ spent to build this tool. Zero coding experience.
I don't actually know how much the "gains" are, but I don't doubt they will definitely be worth it. And I'm seeing this trend more and more everywhere I look. People are already starting to use their computer by coding without knowing, it's so obvious this is the direction we're going.
This is all compatible with the idea of software engineering existing as a way of building "software with better engineering principles and quality guarantees", as well as still knowing how to code (though I believe this will be less and less relevant).
My experience using LLMs in contexts where I care about the quality of the code, as well as personal projects where I barely look at the code (i.e. "vibe coding") is also very clearly showing me that the direction for new software is slowly but surely becoming this one where we don't care so much about the actual code, as long as the requirements are clear, there's a plethora of tests, and LLMs are around to work with it efficiently (i.e. if the following holds -- big if: "as the codebase grows, developing a feature with an LLM is still faster than building it by hand") . It is scary in many ways, but agents will definitely become the medium through which we build software, and, my hot-take here (as others have said too) is that, eventually, the actual code will matter very little -- as long as it works, is workable, and meets requirements.
For legacy software, I'm sure it's a different story, but time ticks forward, permanently, all the time. We'll see.
The devs who'll stand out are the ones debugging everyone else's vibe-coded output ;-)
Tell me, does this vibe coded app running this business properly handle monetary addition, such as in invoicing or summarizing or deciding how big a check to write to the tax man? Are you sure? No floating point math hiding intermittent bugs?
- I don't think they need the extra you would offer them. I'm pretty sure they didn't add anything related to accounting. I also have to admit I'm a bit shocked that you would do all of what I described for "a tad more" than 900€, especially taking "a tad" longer than 3 weeks. To me, that's barely anything. But I guess I'll take your word for it.
- For many things, people no longer need the specialized production-ready work, precisely because they have this powerhouse at the fingertips. They "didn't find you" because it would make little sense to do so. It would take longer (which in some sense is higher risk), be more expensive, inherently be more likely to take even longer to really reach the right requirements (getting the knowledge out of their head and into yours would certainly add some overhead) and, in the end, it will likely really not bring in enough superiority for their use case.
- Because people don't need specialized production work, they won't even think of looking for it -- they already have the tools "at home". Why would I go out to buy a an electric screwdriver if I have a manual screwdriver at home? It's good enough. Sure, some people will try to use the manual one even when they shouldn't, but that's life: some people are better than others at figuring this shit out. I'm (slightly) hoping the AIs themselves will help people realize when they're trying to do something they shouldn't.
I truly believe that, for the most part, software engineering is not under threat. That there are many places where software engineering will continue to be essential. We're not developers and never have been. I think coding "manually" will die out, but not the knowledge of code (at least not for quite some time).
At the same time that I believe this, I also really believe that there is a sort of "new DIY" market (or a new "way of interacting with the machine") where ordinary people will just code things without needing to know how to code. Most of these won't be products, but they will be sufficient, for a sufficiently long time, for their needs. If/when they need more, they'll likely need the help of a software engineer, and that's more than fine.
I'm not saying this is the case with you (it doesn't seem like it is), but I see so much pushback from people who seem....either scared or in denial(?) about this (to me) very obvious new emerging way of interacting with a computer. People ask the computer to do things, and the computer builds programs and integrations between programs that....do the thing! When I was a kid, this would have been amazing, and I'm so excited that it exists now. And of course some of these "ordinary" people will also have this be their gateway into proper software engineering.
When I say friends and family, I mean it: they're all slowly starting to build tiny apps without knowing a single line of code. They often don't look good and have idiosyncrasies, but they're great for them. A friend of mine has a personal assistant with voice + telegram bot that edits their calendar and their notion, all deployed with railway (when they showed this to me I was gobsmacked!). They have ZERO coding experience...and yet...they have built this! I wouldn't use it (too finicky for me), but they swear by it and love it. (I audited the code after they asked me to and didn't find any security issues.)
Just like my dad used to grab a bit of scotch-tape to patch things up around the house, or like my grandpa used to build his toys, and furniture, he can now grab an AI and patch things up in his digital life and workplace -- how can people not see that this is happening? And, worse, why are they so very clearly upset about it and wishing that it just doesn't succeed? Is it job safety? The feeling that their favorite part of the job is being profoundly shaken up (coding)? I guess I can sort of understand and sympathize with feeling scared, but....not with the denial of it.
You know how so many people run their businesses off of excel spreadsheets? Often for way longer than they should, no doubt -- but they do. This is sort of the next step after that for some businesses. But, most of all, I really mean that for people's personal needs, interacting with the computer will involve the computer building some code for them to achieve their goals. Yes, MS is fumbling copilot, but one such integrated AI will eventually succeed, and people will open up their "start menu" / "copilot" / "Claude Cowork" / "whatever" and say "I want to create a library for my comic book collection", and over a couple of prompts (perhaps over a couple of days), their computers will just...build it. They will sometimes use existing solutions, but often they'll just build a good-enough thing that will be almost exactly what this person wants. And that's....awesome. So awesome that we're at a point where computers will enable people to do so much more.
> getting the knowledge out of their head and into yours
That's creating the spec, which is a significant portion of the work and the time (and thus the budget). Maybe I should suggest to potential clients to bang out a preliminary spec with their favourite AI chatbox before meeting. That could save significant time for both of us, and that's money. And it would force me to articulate exactly what value I add rather than having them press the "Code It For Me" button. > People ask the computer to do things, and the computer builds programs and integrations between programs that....do the thing!
The computer builds a program that ostensibly does the thing. Under ideal conditions, while under negligible load, with expected inputs and a well-meaning operator. Real world software must consider malformed or malicious input, cyclomatic complexity, resource usage, atomicity, sudden loss of power, the ability to actually restore a backup, floating point math, race conditions, I unnormalized text, security, reproducibility, debuggability, logging, and so many other things.My career is pivoting from writing software to cleaning up other people's vibe-coded software.
I actually love the vibe-coding movement as it makes custom software available to more people, and also extends my own career as I pivot to clean up the messes.
Compare the actual operations done for code to add 10 8-digit numbers to an LLM on the same task. Heck, I'll even say, forget the possibility the LLM may be wrong. Just compare the computational resources deployed. How many FLOPS for the code-based addition? How many for the LLM? That's a worst-case scenario in some ways but it also gives you a good sense of what is going on.
Humans may stop looking at it but it's not going anywhere.
Fully agree about phone calls though.
Edit: literally just saw this article afterwards:
https://www.lbc.co.uk/article/dubai-police-spied-private-wha...
UAE government getting access to private WhatsApp messages (presumably in conjunction with Meta).
- whatsapp/signal encryption was broken without anyone noticing all in order to nab... some guy posting pictures of bomb damage
- someone snitched and the govt lied