It would probably have been safer for the author to explicitly point out that this is true for them specifically, rather than a general rule, because this way they run the risk of never hearing the end of it.
It's funny you say that because just this morning I was thinking about my first job and remembering how amazing it was that I was actually getting paid to do the thing that I did for fun in my spare time.
I actually hate writting code for money, I do that because it pays, but I dislike it.
I love writting code for myself: no brain dead managers or product people, no one asks "will it scale to 10000000 when natural cap is 10", no arch reviews where bunch of people that aren't familiar with the problem or the solution ask dumb questions addressed in the first slide.
It's not fun to always have to couch your language just in case someone doesn't naturally grasp that you're talking about your individual experience on a blog.
Anyone that assumes an author is speaking for everyone will find something else to gripe about, IMO.
It's not fun to always have to couch your language just in case someone doesn't naturally grasp that you're talking about your individual experience on a blog.
Always a hazard when you use objective language to describe the subjective.
Why would you think that the author was speaking for anyone but themselves?
When I say "juggling is fun", I'm talking about my own experience. I'm not saying that everyone else should drop their hobbies and take up juggling.
Why should the author have to couch the headline of their article with this kind of defensive language that you suggest? The very first word of the article is "I", it is clear that the author is talking about their own experience.
Why does anyone ever have to say “this is, like, just my opinion, man.” Are readers so ignorant to think articles are statements of definitive fact applying to all of humanity unless told otherwise?
Low-quality, off topic, don't make sense, violate site rules, rude, abusive, being a jerk, shill, propagandist. Disagree is actually the least negative reason to downvote someone.
the least negative reason is not very clear. do you mean "it's the least negative sentiment against the comment" or the least negative kind of comment? or do you mean "it is the least bad/wrong reason" or the best reason as in: it's better to use downvotes for disagreement than for other reasons (others should then be flagged?)?
i read it as the former, and hence upvoted your comment because i agree, but the downvotes of your comment suggest that others are reading the latter which feels wrong to me. that is of course if they actually agree with me.
Seems pretty clear what they meant. Of all the absurd, pedantic nonsense in this thread, I chose to downvote yours. Purely out of spite, and for giving me the bitter realization that I've wasted too much time on HN today.
well that just made my day. best downvote ever. for two reasons, one is the explanation itself, the other the fact that you explained it. downvotes are frustrating when you have to guess why. here, have an upvote. (if that upvote made you feel guilty for downvoting me, then that's an unfortunate side effect, not intentional ;-)
I don't think that downvotes should be used to voice disagreement with a poster's substantive point. The down arrow is too cheap a shot. I'd never have allowed that on my board (when I was a teenage sysop, I mean). Disagreement should be verbalized and put into open conversation. Hell, I wouldn't be opposed to people being required to voice a reason for their downvotes around here, and letting those reasons be analyzed. It would make everyone feel better. "Pure spite" being only a funny reason in the ludicrous circle of Joseph Heller debate we find ourselves in, in this particular thread. I'm glad you saw the humor, and that's what makes us human ;)
And no, I don't feel bad at all for taking the upvote! Next time I toss out a flaming dumpster of semantic quibbling, which I'm guilty of at least once a week, I hope someone takes an extra minute to explain their downvote to me, too.
I'm just bein a pain in the ass anyway. Hope you know that. It was a barstool comment. This is why it's better to sit at a bar and joke around. Everyone gets offended in equal measure, but you know you all love each other anyway.
It seems like there's a difference between an "opinion" about the facts of the world (like the article you are referring to) and an opinion about subjective experience (like whether something is "fun" or not).
It can make sense to disagree and argue with the former, but for the latter, having different subjective opinion doesn't invalidate or contradict the original.
In particular, writing code by hand is fun for people who are good at writing code by hand. It's not at all fun for people who aren't. For those people, vibecoding means that they can produce something without the pain, something that compiles without all the time fighting the compiler, something that works (or at least mostly works) without all the debugging time.
Who gives a shit? HN holds itself in too high a regard; some peanut gallery on a tech forum will have no effect on the author's life one way or the other.
I predict we are less than 12 months away from the pendulum swinging back to hand coding but dragging ai pair programming into the workflow. This is why I don’t worry too much about this.
I can predict this because I’m building such a thing for myself as are many others. It seems to be where the tao of slop is going.
I'm not trying to be rude. Is this new to you? I've had all of this plugged in myself for all of 2026 (at least). The LLMs use of APIs shouldn't be surprising once you see decent ones in action in general. I'm not sure how this would impact my thoughts on whether the pendulum will swing one way or not.
This is new to me (last 6 months or so). What I’m observing is people growing lazy. I think it will take a while for it to swing back because momentum is still in the wrong direction.
I actually agree with what you said! the subscriptions we are paying today is only a tiny fraction of what it actually cost AI companies like Claude and Codex. either it will shift into running those agents in your own setup or pay an absurred number. anyways as you said the pendulum will swing back for sure!
Large enterprises are paying unsubsidized metered rates. I work at a firm with around 700 employees. The p90 engineer is spending $2k/wk.
Our business-side employees have only begun using agents, and their spending accelerating. They're claiming their ROI is massively positive and have an enormous willing to spend.
Prices will probably go down because of the emerging price war between Anthropic and OpenAI, but there are many firms willing to spend.
The ship has sailed. For personal use, maybe, but supply and demand are going to dictate that there is going to be a massive ramp in memory and compute production, and when the prices inevitably normalize due to the increase of availability, there will be a push to use local inference. It goes back and forth, and unless there is a strong roadblock put in place, the current generation of models are already powerful enough that incremental improvements in the run up to increased hardware availability will mean that these tools are here to stay. Even if draconian laws were put into place, the prevalence and availability of open models and the tools to train them means you can't put the genie back in the bottle.
At work I've spent the last few weeks building a big feature that involves streaming the output of a 3D engine to a web client and wiring in HID from the client back to the engine. Basically, it's a simplified version of Google Stadia.
Writing code has never been the bottleneck. System design, testing, integration, CI/CD, etc. These have always been the things that were the most time consuming and thought intensive. Those haven't changed as much.
However, if you don't think there are productivity gains by several orders of magnitude when actually writing the code, you're either using it wrong or you were the fastest dev in all the land.
I've seen boilerplate be brought up as an argument very frequently and I keep wondering, what sort of boilerplate do you deal with that it is a considerable time sink?
I feel like most languages and frontend frameworks have a pretty established template project which gets you going as far as boilerplate goes.
When it comes to backend it's more of the same.
When it comes to gamedev, you have established game engines which cut down on the boilerplate process. If you are writing your own engine in something like Vulkan which require a lot of pre-game ritual, there are still plenty of template projects to get you started, but they are more surface level than the frontend/backend examples due to the nature of the project.
If you are working on popular hardware, like arduinos, esp32s, there are established template projects for most languages.
And if you are working on a niche language or framework for which this doesn't apply, then roughly by the second project in them you'll find yourself just copying over the boilerplate from the first.
So I'm genuinely curious, what sort of things do people who complain about boilerplate ceremonies do?
as somebody who does now do 95% of my coding without typing, I wonder the same thing. I've also seen that thrown around and I keep wondering who these people are who are spending so much time and/or effort on boilerplate to the point where they see that as the biggest benefit (??)
It depends on what you consider boilerplate. Unity, Godot, or Unreal cut down on "boilerplate" for alot of things, but they also leave a lot to the developer unless you are aiming for an asset flip.
For me, boilerplate isn't scaffolding out getters and setters, or deferring to templated code generation; using refactoring tools that have been baked into IDEs or third party tools have been available for about 20 years deal with all of those nicely.
On the other hand, the "boilerplate" to stand up a secure web service with appropriate monitoring and scaling capabilities is a fair bit of work when you know that the immediate first users are enterprise businesses.
Building a service that meets or exceeds industry compliance requirements (internal or otherwise) is a lot of work! My harness, skills, and SOPs are set up such that if I spin up a new web-dev project, it gets all of the accessibility, internationalization, observability, authentication and authorization capabilities I would expect, appropriate to the tier. There is a lot of work done to build and implement those at the front end of a project, which I could skip over for experimentation, but for actual, deliverable work, it is a huge accellerator. In addition, by having that scaffolding and boilerplate in place, and a few skills and SOPs to support future feature growth, the agentic coding tools build with them in mind, and wire everything up as they go.
It doesn't replace the need to do the testing and validation, but it sure does break me out of the cycle of "fuck it ship" that takes over when I have my developer hat on, and the "holy shit, burn it all down and start over" that takes over when I put my security engineer hat back on.
99% of most projects is boilerplate. For instance let's say I'm making a video game and I want to add multiplayer. Well, most of the networking code is going to deal with deciding what protocol I will be using (UDP likely) what the packets are going to look like (basically just pushing simple data frames over the wire) and then messing around with writing a UDP reactor (probably epoll backed) to actually get my game to run. This _essentially_ is pointless boilerplate, because you need to mess around with looking up kernel intricacies, how you're supposed to wrangle UDP packets, what the kernel expects what some pointless spec written 50 years ago says (oh no if a UDP packet arrives while the other end has closed connection according to RFC whatever you MUST(!!!!) stop reading otherwise UB occurs). If you want to ignore all this now you need to find some library, hoping it work (it won't) and trying to wrestle it to work in your engine. I do _not_ care about any of this. What I do care about is how my multiplayer game is going to run, how players are going to interact with each other etc. LLMs allow you to focus on that.
Writing code is fun for me in a mechanical way - it is very satisfying to edit my lisp expressions in Vim (gasp not emacs)
I'm sure some people thought that it was the same for type writers. Indeed even today some writers prefer a type writer or even pen and paper (quill perhaps?)
But for many cases the quality of life that successive innovation brought outweigh the mechanical joy involved in the creative process. And when the endeavour is a commercial one the argument gets a little harder to justify...
I'm sure people can see how producing text without delete or copy and paste or easy versioning/duplicating makes life harder...
I've spent my free time over the last several years clearing out hundreds of dead pine trees (a beetle blight hit them) from my 4 acre rural lot, with a wheelbarrow and a small battery powered chainsaw. My neighbors accomplished the same thing by calling professionals with big specialized machines who did it in a week.
So I tell my neighbor, I'm so sorry for you for missing out on all of that fun exercise and therapeutic communing with nature. We both know I'm lying, if not entirely.
As a domain expert, I spent all my time learning my scientific niche, and only a small bit on practical coding. Now I can manifest the ideas I formerly needed to hire developers for. WAY more fun.
Yep. Now you get to focus on actually solving the problems at hand rather than messing around typing thousands of loc of irrelevant boilerplate to get something to work.
I was vibe coding algorithms for research for months, enjoying it. Had to move it into production, doing normal cs work. Disliked it. Began to understand the point of this article. Reviewing, testing, arguing with other dev's is painful.
I think it all comes down to whether or not they enjoyed coding in the first place.
For me it's mixed. There's aspects of coding I do enjoy but also there's tedium that I don't. What I don't like about vibe coding is it has turned me into just a code reviewer in a lot of cases.
This is how I feel. I do enjoy "vibe coding" significantly more at home on my own projects as there just aren't the same consequences I face at work if something goes left. I'm now working a place where there are only three or four of us in the code base and it still makes for some long days where it's mostly review. That part sucks. I can't imagine trying to keep my arms around a codebase at a larger shop in the current environment.
Yeah, that's the other part that's really hard. It seems really easy for the shape and layout of a codebase to change under your feet. It also ends up being hard to know exactly what is where and what it does. It makes it easy for the AI to recreate something that doesn't fit with the rest of the codebase. For example, I've seen LLMs generate code that completely ignored the built in tools for an existing code base and reinvented everything.
I've been programming for decades, and I do love vibe coding side-projects. I have a little pixel art / animation tool, a music composition tool, and a little video game builder that agents made for my kids. I haven't looked at a line of code. Instead, I've just focused on getting the UX and features that I want. I did guide it along the tech stack and general philosophy I wanted it to follow, though. I'm sure it's hot garbage, but for projects like this, it doesn't really matter, and it's been a lot of fun.
Would I want to build a business around products that are built this way? Not yet. I'm definitely not comfortable supporting a vibe coded heap of code in a production setting.
My account is seventeen years old, and I've been coding more than forty years; is that enough to meet your standards?
I do love the weird new world we're in. I feel as though I've been a player in an orchestra all my life, doing a little one-man-band act on the side, and suddenly I've been handed the baton and now I get to conduct the whole show.
I also have been coding for over 40 years now, and I am going to take your example and expand it a bit: wiggling a baton and hearing nice music come out is fun in its own way, all the years of training allowed you to develop the "ear" so you know what sounds good, and to a certain extent to recognize errors the player you are directing is doing, and isn't it nice to be able to just wave your hands and music comes out without having to work on scales, or embochure, or finger dexterity and so on.
The downside is that of course the further you stay away from actually playing your instrument, the rustier you will get; this might or might not be an issue, but it is a significant downside, also being away from the technique side means that as the years go by, you might not be able anymore to have an intuitive understanding of "this sounds wrong" and why it does.
I don't want to stretch the metaphor too far, but it does feel that agentic coding is a bit like building skill tech debt, the more you do it, the more you'll have to work later to bring back the skills you lost. The meta could be that models will get so good so that only a small percentage of developers will ever need to sully their eyes again with looking at code (same as while when we started most people had at least a passing familiarity with assembly, nowadays nearly nobody does), jury's out on that.
Either way, what before needed a full orchestra of developers, now could be doable by a good conductor and maybe a couple of soloists: how many orchestras will be needed? and what will the section musicians not good enough to be soloists and that don't have an interest in becoming a conductor will do? and how are new conductors going to develop their technical chops if there are no more orchestral jobs?
Many more. There isn't a fixed amount of software needed in the world: the amount will expand to fit the capacity. There's a reason it's been consistently difficult to find good programmers: there's more work than the existing population can handle.
By expanding to use AI, I expect that the amount of programming work will grow, not shrink. However, the amount of programmers may decline.
Yes, and I will also add that there is so much software out there completely unaffected by LLMs. Those apps tend to be the vast majority of internal corporate/financial/government/etc. IT services.
If I were to guess, those devs are at least half of the readers of HN, if not the commenters as well. That's why there's so much push back and arguing against LLMs.
Software like that is almost entirely maintenance work. The requirements trickle in slowly and the changes are small but precise. They require deep knowledge of the broader topic, not just programming.
The deadlines are generous now, but what happens longer term? In the future nobody knows how to code without LLMs, most of the topical knowledge is long gone, and the deadlines are always urgent.
I think there actually is a fixed amount of software needed in the world. FAANG has had de facto unlimited programming manpower for years and years and they've mostly squandered it on enshittifying once-decent software. Honestly, I can't think of anything in my life right now that demands more software. If anything, I'd like the software I already use to be drastically polished and simplified.
But hey, maybe the slopocalypse will incentivize us to disconnect and engage with the physical world a bit more.
The greenfield projects where LLMs make sense will ramp back up when the economics make sense again. It's only been a few years since the "soft landing" BS in 2022-2023.
All of the drama and discomfort since then is 100% caused by that residual economic impact. LLM hype and more aggressive enshittification are just the symptoms, not the root cause. It's not "the new normal", or rather it's totally normal but not the default case for the majority of fiscal years. These dips happen almost every decade.
When that ramp up happens (it kind of already is), the media will do a 180 like the first half of the 2020s never even happened. You will be slightly annoyed, but not complaining because hey we all have more money again.
Been working for a little over 10 years, but coding for double that time.
Building things with LLMs is the closest I can get (perhaps even surpass?) the feeling I had as a kid, learning to code.
I feel rather sad that most (though luckily not all) of my friends despise AI, as I feel a (small, but relevant) part of the connective tissue we had is sort of gone. I'm in love with what I can do, I've got the superpowers I had back in college back, and I can't really share that with them (and they can't really share their concerns and frustrations with me). In two weeks of vacation (actually: in 1 week of those) I finally got around to tackling 5 different projects I had in the back of my mind, mostly for fun (but one of them is genuinely generating some income as well) -- this is amazing, but I have actively avoided talking about this with them, bar sharing a link to some of the things (and even that I'm feeling some regret over)
It's so fun to tinker around with everything! Modding a game, revitalizing abandonware with custom patches, building a harness to know how it works or just...you know...building what is in my mind, whenever, wherever, without it taking foreeeveeeeeeer.
I used to think what I loved was coding, but I have really come to realize I liked both building and coding. The latter I haven't really done much of in more than a year and....it doesn't annoy me at all? I know for a fact I loved doing it, but I can't really say I _miss_ doing it? Maybe after 20 years it just wasn't the same? Maybe the rush from watching my mind materialize into real things so fast is camouflaging it? Who knows...
Not to mention that most everyone else in my surroundings outside of the tech bubble is doing amazing things with AI. Cool websites, music that moves me to tears, random fun games and just, in general, clearly managing to focus more on what they want, on their goals, on their imagination and less on their work. There are exceptions, but the trend is that AI has enabled them to do more of what they want and less of what they have to, and I love that.
I completely accept that, for some people, the fun is/was in coding by hand. And that it's terrible that they'll likely not be able to earn a living just doing that relatively soon. What I have difficulty accepting is the outright bashing and hating on everything AI-related (and, yes, I hate hype too, but have you LOOKED AROUND AND SEEN THIS NEW WORLD?!). I can sort of accept it based on ethical grounds, but very rarely is it actually that. I guess people are just venting and firing in all directions due to how much this has shaken their lives and livelihood (and that, indeed, I can understand).
Anyway, this world is AMAZING! I am 100% with you. Especially because I don't even type (to the agents) anymore. I just voice-to-text, with barely any filter. I've often described it as the closest I've ever felt to truly controlling the computer with my mind, because I don't have to slow down my thoughts to write them. Sort of incredibly liberating.
I'm still getting used to LLMs as tools. Even searching feels jarring, because they're very confident, yet provide no solid sources unless the harness searches for them. They're very useful, but make hard-to-catch mistakes that makes me distrust them. What scares me most is how they allow people who don't fully know what they're doing to deploy software, especially corporate software.
Unfortunately, LLMs have been shoved everywhere in a years-long desperate scramble to capture the market, so we might as well get used to them while the bubble pops and the winners cash their bets.
I agree a lot with this part
> What scares me most is how they allow people who don't fully know what they're doing to deploy software, especially corporate software.
Which is why I also think some people get such disparate experiences. If your organization is allowing clueless people to confidently throw stuff built by LLMs at mission-critical problems, that does seem more like an organizational problem than an LLM problem.
There's so much to hate about LLMs, and there's so much to love. And since we've sort of ended up in this world of constant false dichotomies, this kind of nuance gets lost in the trenches.
Of course LLMs in the wrong of clueless people are bad. Of course the way in which these models were trained is shameful and it's criminal that people are having their work stolen. Of course we need to find ways of dealing with slop. Of course it's bad for the environment at the moment (and so on). The list goes on and on, I know that.
But on either side of this debate (which SHOULD NOT HAVE TWO SIDES -- that's THE problem), people just tend to lump everything together. Your example is one some acquaintances repeatedly throw my way, and I'm left wondering if they have even thought that they're just showing me how broken their org is, not how bad the tech is? But, nope, they turn to me and go "AI bad bad"...
We're talking of a medium-size business, most of those are broken because budgets and manpower are limited. Even worse when their line of business is not subject to mandatory regulations.
We can't seriously expect medium-size businesses to become (and stay) unbroken without significant, continuous investment and effort. They will always be broken, and AI is the sprinkle of crack they didn't know they wanted.
This sounds less like someone who has rediscovered a passion for "building", and more like an addict who has discovered a magical button that serves their brain dopamine when pressed.
(I am currently 18 so you have actually been coding since more than two times my whole lifetime so y'know there's that.)
I wish to ask you for some feedback and clarity and further concrete resources because I feel a little confused/lost regarding the whole vibe-coding situation, I wish to say thanks in general though as nonetheless your comment finally made me concretely express all the nuances brewing in my stomach about vibe-coding and how I often nowadays feel as if I may be falling behind if I don't know how to do it "accurately", I would love and really appreciate to get a more in-depth response if possible.
I have said the same thing as you have said as well sometimes if not mostly that AI is a tool which should be used sensibly (as I think that this is what you are intending to say as well)
Within the contexts of vibe-coding though, I would really appreciate it if you could explain to me in more depth about the whole process and workflow that you follow if possible and how much drastic change has that been in. I would love some concrete examples or repositories or just some pointers that I can help to improve myself further.
Here are some other thoughts that I have on the matter:
When you mean design review, are you just architecturing suggesting it the main architecture itself, for example. I mostly do "create me a golang web application which uses htmx/templ/modernc sqlite about XYZ" and then create a more detailed prompt from it which I then pass onto the agent to complete and give me a single binary at.
Most often than not though after this point, I haven't felt the need to change the architecture after the first initial setup and afterwards I point the changes that I wish to be done like "I want X1 Y1 Z1 changes" and if it breaks something then just showcasing what breaks, and taking feedback then "it just works"
The architecture sounds solid to me, I love golang as a language and I run multiple such apps on same 500mb/1gb ram servers and use cf tunnels in the middle.
For styling, I mostly prefer monospace-web theme because that's what I personally really like a lot but recently I found that giving first prototype to chatgpt and asking it to generate image then it can create a decent UI as well.
So what are the things which I should do though now? Should I attempt at reading the code and trying to understand it completely (I think that golang's mostly standardized method of doing things helps in reading AI code) or should I treat myself as thinking more about (seams?) or other technical terms that I found described within obra/superpowers or matt-pocock and other skill driven development oriented stuff.
Can I learn these stuff through AI itself as well and I wish to generate my own projects as well because I still believe that there's some joy in that as well as I find vibe-coding to be sometimes a bit hollow[1] [not sure though as the atmosphere has changed, earlier people used to be extremely critic of it whereas now more accepting]
I can be wrong, I usually am but what I am finding the most shocking is that although we are constantly seeing new tools and I try to be more well aware of them and always curious about it, yet I don't know at the same time where to actually proceed because the projects are just being built enough yet I don't know if I am doing standardized practices enough or how to really meaningfully improve such practice if vibe-coding is really such valuable then I would prefer to learn the more technical way of doing so and how experts within the field actually do vibe-coding.
Thanks and have a nice day and I would love to hear your/the community's response.
Greybeard coder here. There are two separate problems you get to solve. 1) If AI writes your code, you didn't learn anything about the code. 2) If you don't use AI, you won't learn how to use AI. You need to learn how stuff works and how to code well. And, you can't do that passively. If you didn't type it with your own fingers, you didn't learn it. And, that includes learning "How to use AI?"
You want to learn web dev? Start typing HTML and JS. You want to learn how to use AI? Start typing specs and prompts. You'll need to learn both. But, you can't learn web dev by typing specs and prompts.
You can learn using AI as a research assistant, a tutor, a reviewer, a critic. You can use it to bang out quick tools, prototypes, deal with the hassles that are not your focus at the moment. But, whatever you are trying to learn, you need to do the actual implementation manually. There is no such thing as passive learning.
Thank you for the response, I have a few questions that I would like to ask now as well which jumped on top of my head which I would like to ask though to get more clarity at the same time.
What is the exact learning of the topic that I have to do in it, for example. I can (and I will) learn webdev about valuable if vibecoding becomes the norm (as it is becoming nowadays)
Now I will learn the basics, then intermediate, then expert. Where exactly do you think that the value lies in?
ie. are the advantages put within getting from beginner -> intermediate or to complete beginner -> intermediate -> expert
Another thing is the level of fields that you have to be in or the whole question could perhaps be framed as being the jack of all trades or the master of one? Is this going to be like typing speed [90 wpm vs 130 wpm is somewhat negligible effect] or like chess [ 2100 vs 2400 isn't negligible and becomes exponentially harder when you become expert yet the difference will have genuine real impact maybe?]
Also within the process of vibe-coding, what is the actual value that I am adding given that I have learnt the skill, what I think might be is that I can actually verify if its good or not instead of asking a chatbot [which might be sycophantic or might miss the devil in the details], and say its okay.
Also, how do people naturally move away from the natural tendency to just... not read what AI is saying (when I tried obra/superpowers etc.), this video[0] tries to showcase what I am suggesting perhaps but I feel as if its still quite a slippery slope.
I hope that this question can be taken in good faith (because I like learning about CS for the sake of learning itself) but aside from that, why learn HTML/CSS is still a question that I can perhaps ask, similar to why learn assembly[1], and to what level, and will it help me in getting a job and if that helps in what I will actually do in job, and if so, then how? if the job done via vibe-coding as well. [I think this might tie to the previous questions that I have asked]
I do agree with the overall premise and learning can't be passive granted. Learning requires some form of active involvement which includes the phase of struggle (I think), yet that struggle is done for something meaningfully better and has a purpose. What AI does to many is question that purpose, why learn?
The issue I find which is why I am coming to this again and again is this, I am unable to find how the improvement within this corresponds to actual work/job or in actual terms how so.
Also, what happens if suppose the difference between an expert person with extreme knowledge and a normal~ish person is that it might take normal person is some more time/prompt/tokens to debug the issue with the models itself. Like it might take 2-3 more prompts to fix the issue.
I am finding people with varying opinions on how even the most expert people on some topic are agreeing that most AI can do it good enough already with vibe-coding, whereas some generalists who might not know the other language are porting their projects in it with vibe-coding.
In general, when approaching learning as well, I am not sure which to approach first: the thing which might be approachable (so for example: after HTML/CSS/Js Python, Django [thanks @simonw], golang's complicated full stack application)
and what if I might not like JS so much and python only enough but golang the most ideologically but my skill level still matches mostly python and its what I am most proficient in writing by hand?
I am personally going to go the learning path (the hard way?), I don't know if its the hard way or not but I wish to learn programming quite deeply even if just for the sake of itself and making my brain think about problems better
but my mind does still wonder if people on the other side could be right as well, does everyone need to learn deep ends of programming if programming becomes simpler or operates via just words, similar to how in previous tim...
I write a lot of C++. A long time ago, I learned the basics of writing assembly. Even though I haven't written much assembly, it still helped me a lot over the years. I understand how it works. I can read the assembly output of my compiler and judge how well my C++ translates to machine actions. I can debug individual assembly instructions when stuff isn't going as planned or the C++ is not available.
I write a lot of high-performance code. To do that, I had to learn the details of how devices (drives/NICs/GPUs) work, how buses (PCI) works, how RAM, CPU caches, instruction pipelining work. Now I know how to structure data flow to work well with the machine instead of against it.
I write a lot of APIs. In doing that, I had to learn the hard way about how different API trade-offs drive client decisions. How to foresee problems in the future stemming from interfaces I'm writing now. How to argue with clients to get them what they need in the long term and not just want they want for the next milestone.
At all of these levels, I had to learn how each level works by doing it. By trying it lots of different ways. And, by optimizing it all the way down from "More productive client discussions" to "More performant assembly instructions" :P
Now whenever I do vibe-code, it's because I know exactly what I want and I can get AI to type it faster and with less RSI (carpal tunnel). Or, I know I want to prototype a few options rapidly before committing to implementing one design for realz. In neither of these cases am I telling the AI "Make it performant and easy to use." Because I know how I want to structure the code to make it performant. And, I know how to set up the API to make it easy to use. So, I'm telling the AI how to structure the data flow and how to set up the API. Because, if I didn't, I'd just be generating a big ball of noisy mud that's neat to gawk at, but has no long-term value.
So, what should you learn? You need to learn how the stuff you are interested in actually works under the hood by experimenting with it manually. Not just "Hey chat, make it work somehow..." You need to focus on architecture and systems thinking because otherwise you won't know how to prevent AI from holding your hand deep into a maze neither of you can escape from. And, you should be spending the majority of your tokens on step-by-step refactoring, never one-shotting. One-shotting is for AI tech demos. Not for learning or production.
It sounds like you're maybe in a bit of analysis paralysis, trying to find the optimal way to move forward. If you stay in that frame of mind, you'll spin your wheels for hours trying to find the best way to approach it, and then never actually approach anything.
My advice would be, as hard as it might seem, let yourself go slow and just do things. Spend a few weeks on webdev, or learning aseembly, or playing with AI. As long as you are engaged with whatever you're doing, that is enough. You will, via repeated exposure to smart people doing hard things, learn how to navigate and overcome all kinds of problems.
I actually disagree a little with the previous commenter about learning how to use AI. While that is useful, AI becomes second nature once you have been exposed to all these other things.
I guess the real question then is why were you programming since the 90s instead of getting yourself into a managerial position. After all, that's basically what you have to do with vibe coding; you tell the agents what they should do and specify requirements etc.
Managing humans is hard work. Team dynamics are complicated. Communication is uncertain. Relationships with power imbalances are fraught. People's lives get messy and that leaks into their work. Performance is sometimes uneven and you have to deal with it.
Yeah except agents don't get their feelings hurt when you tell them it's not right and to do it all over again. And the iteration loop is light years faster.
I've been programming since I got a Commodore VIC-20 when I was seven years old.
I love AI coding because I can use it to automate all the parts that are not fun or that would take far, far too much time to implement by hand. It puts things within reach that would formerly be unthinkable without millions of dollars and a gigantic software development team.
I still also enjoy coding things by hand... interesting, original things.
The technology itself is also absolutely fascinating. I've followed AI research for a long time and played around with it a lot, but the incredible breakthroughs of the last 5-10 years have blown me away. I've been working through the math on attention layers and feel like I've almost got it, and it's genius. Very cool stuff.
(The companies behind marketing and scaling it are, to varying degrees, not cool, but the tech and science and math is.)
It's heavily biased by the circles I hang out in, but I'm seeing a loose correlation between how much people enjoy working with coding agents and their depth of experience. I've even seen people come out of retirement because this stuff is so much fun for them.
AI tools amplify existing coding experience, and reward management experience too. Engineers with a decade+ of experience are more likely to have been engineering leads or spent time in engineering management.
Related observation: Anthropic are developing a reputation for hiring former CTO/CEO/founders and putting them back to work as individual contributors.
I have been coding professionally for 15 years, and while I like coding I was always more passionate about the product design side and the end result, be it business apps or video games, I like what it does, not specifically how it's done. Either at my small agency or for hobby projects not writing code by hand anymore is not a loss a for me, code is just a mean to an end. I get some people are more passionate about the tooling and the code itself, but it's not because someone doesn't share that it's not a real perspective.
I really love my horse and carriage over that really fast car that gets someone from point A to point B with 100x speed, said the Amish with a heart full of honesty, and he was subjectively right.
It's fun when you find an actual new boundary and capability that you wanted to build, and the abstraction is clean, and then you materialize it into existence.
It's awful when the boundary breaks down. It might just be inherit to the loop (no mind readers) but I will walk away from an AI task for 30 minutes and all too frequently there will be insane code smells.
I've been doing a thing where I will have "integration" projects between many different subsystems to demonstrate some capability, test it, then destroy the integration folder, folding back what we learned into the subsystems themselves. So far this has been OK for learning and it incentivizes the AI to not throw garbage everywhere. Of course, this assumes you get subsystems right but it prevents direct reaching into them and modifying excessively - try to do the most you can with fixed interfaces, etc.
It feels to me like what I imagine it world be to transition from developer to a development manager. I like getting the product but the enjoyment of solving the challenges is missing
It's being able to produce the output that formerly took a team of people, without needing to deal with the drama and politics of mananging a team of people.
For me, a big part of it is there is something about the formal structure of a programming language that is very satisfying to me. Same thing with math. There is something about the precision, and the constraints. Writing natural language prompts just isn't the same.
Double edged sword. I started programming in the 90s as a teenager, it was always fun for me to code. Several toy projects on GitHub, later studied CS and became a professional dev of course.
I started a small one-man SaaS in 2022 that I coded by hand, and have gradually adopted AI usage. I don't write a single line of code anymore today, and my speed/performance has supercharged in the last 6-12months. The fun of coding is completely gone, but replaced with me being able to deliver what I need to grow the product (from dev, to design and marketing work).
I think you should split the difference and use vibe coding for the parts you don't care about.
Example, the UI for his two vibe coded example apps. Why not let AI do a single pass on that? 30s for a huge improvement. Other than the personal pride of saying you did it all, I don't see why not.
I think there’s a difference in vibe coding and what I call accelerated software construction.
Vibe coding is like a last second weekend trip to Paris.
Accelerated software construction is like planning a four week backpacking trip through Western Europe.
I’m a grey beard so I’m on the far side of “writing code is fun” but I get it. I used to love those ah-ha moments when solving coding problems.
But now I love delivering solutions to the business or creating software that works as I envisioned it and those two things are fun in very different ways.
I'm really enjoying dusting off old projects that I lost interest in and handing them over to Claude to modernize their code and resurrect the ideas. But I'm also starting to miss the grind and feeling of accomplishment when you build stuff yourself, or finally sort out that nagging bug. I think there is a balance to be found, for me anyway, and I'm not sure I've found it yet.
Fun is a weird thing to measure, it's often tied to things we don't instrument properly and/or account for poorly.
For me, personally, I have learned that fun is often more correlated with social connection and sharing than it is with subjective perception or gratification of the task at hand if removing the social element.
The most fun I had in life was when I had great teams, great people, and great challenges to share both the growth and struggles with. The rest, like what tooling we used, was optional and easy to misjudge as important at the time. Looking back I rarely recall the experience of using certain tooling over another, and often remember the people and the stories.
202 comments
[ 0.79 ms ] story [ 55.4 ms ] threadIt was the hobby I was really happy to turn into a full time, paying job.
I know I'm not alone in that either. I used to joke with colleagues about not letting the boss know how much we enjoyed the work.
I love writting code for myself: no brain dead managers or product people, no one asks "will it scale to 10000000 when natural cap is 10", no arch reviews where bunch of people that aren't familiar with the problem or the solution ask dumb questions addressed in the first slide.
Anyone that assumes an author is speaking for everyone will find something else to gripe about, IMO.
It depends, some think it's fun :)
Oh, and the irony
Always a hazard when you use objective language to describe the subjective.
It's ironic but you should have started with "In my opinion", "I think" or something to that effect. Now you never hear the end of it!
For instance "people are stupid" means "all people are stupid".
stupid(p) → ∀(p):stupid(p)
Elementary logic anyone should know.
Here, let me whack you over the head with Wikipedia stuff we researched in 3rd grade advanced Montessori:
https://en.wikipedia.org/wiki/Universal_quantification#Unive...
unless you want to water down the title with an "i think"
When I say "juggling is fun", I'm talking about my own experience. I'm not saying that everyone else should drop their hobbies and take up juggling.
Why should the author have to couch the headline of their article with this kind of defensive language that you suggest? The very first word of the article is "I", it is clear that the author is talking about their own experience.
https://news.ycombinator.com/item?id=49977612
It is clearly their opinion, but it was downvoted heavily. Doesn’t help that he is pro AI.
i read it as the former, and hence upvoted your comment because i agree, but the downvotes of your comment suggest that others are reading the latter which feels wrong to me. that is of course if they actually agree with me.
I don't think that downvotes should be used to voice disagreement with a poster's substantive point. The down arrow is too cheap a shot. I'd never have allowed that on my board (when I was a teenage sysop, I mean). Disagreement should be verbalized and put into open conversation. Hell, I wouldn't be opposed to people being required to voice a reason for their downvotes around here, and letting those reasons be analyzed. It would make everyone feel better. "Pure spite" being only a funny reason in the ludicrous circle of Joseph Heller debate we find ourselves in, in this particular thread. I'm glad you saw the humor, and that's what makes us human ;)
And no, I don't feel bad at all for taking the upvote! Next time I toss out a flaming dumpster of semantic quibbling, which I'm guilty of at least once a week, I hope someone takes an extra minute to explain their downvote to me, too.
I'm just bein a pain in the ass anyway. Hope you know that. It was a barstool comment. This is why it's better to sit at a bar and joke around. Everyone gets offended in equal measure, but you know you all love each other anyway.
It can make sense to disagree and argue with the former, but for the latter, having different subjective opinion doesn't invalidate or contradict the original.
(In my opinion.)
Oh this is a great use of the phrase.
I can predict this because I’m building such a thing for myself as are many others. It seems to be where the tao of slop is going.
Our business-side employees have only begun using agents, and their spending accelerating. They're claiming their ROI is massively positive and have an enormous willing to spend.
Prices will probably go down because of the emerging price war between Anthropic and OpenAI, but there are many firms willing to spend.
For your personal projects or as a hobby, absolutely. But in a professional setting, coding by hand gone forever.
I've written >90% this code by hand.
And I would have learned nothing, and the feature wouldn't be understood by the team.
However, if you don't think there are productivity gains by several orders of magnitude when actually writing the code, you're either using it wrong or you were the fastest dev in all the land.
The days of:
10 PRINT "Hello World!"; 20 GOTO 10
Are long gone.
So I'm genuinely curious, what sort of things do people who complain about boilerplate ceremonies do?
For me, boilerplate isn't scaffolding out getters and setters, or deferring to templated code generation; using refactoring tools that have been baked into IDEs or third party tools have been available for about 20 years deal with all of those nicely.
On the other hand, the "boilerplate" to stand up a secure web service with appropriate monitoring and scaling capabilities is a fair bit of work when you know that the immediate first users are enterprise businesses.
Building a service that meets or exceeds industry compliance requirements (internal or otherwise) is a lot of work! My harness, skills, and SOPs are set up such that if I spin up a new web-dev project, it gets all of the accessibility, internationalization, observability, authentication and authorization capabilities I would expect, appropriate to the tier. There is a lot of work done to build and implement those at the front end of a project, which I could skip over for experimentation, but for actual, deliverable work, it is a huge accellerator. In addition, by having that scaffolding and boilerplate in place, and a few skills and SOPs to support future feature growth, the agentic coding tools build with them in mind, and wire everything up as they go.
It doesn't replace the need to do the testing and validation, but it sure does break me out of the cycle of "fuck it ship" that takes over when I have my developer hat on, and the "holy shit, burn it all down and start over" that takes over when I put my security engineer hat back on.
shrug YMMV.
If you are going for the joy of coding, obviously it's not as fun.
If you are trying to build a bunch of shit quickly, it's way more fun.
And before a bunch of engineer retards chime in and say good things can't be made quickly, you are wrong, most things can.
I'm sure some people thought that it was the same for type writers. Indeed even today some writers prefer a type writer or even pen and paper (quill perhaps?)
But for many cases the quality of life that successive innovation brought outweigh the mechanical joy involved in the creative process. And when the endeavour is a commercial one the argument gets a little harder to justify...
I'm sure people can see how producing text without delete or copy and paste or easy versioning/duplicating makes life harder...
So I tell my neighbor, I'm so sorry for you for missing out on all of that fun exercise and therapeutic communing with nature. We both know I'm lying, if not entirely.
As a domain expert, I spent all my time learning my scientific niche, and only a small bit on practical coding. Now I can manifest the ideas I formerly needed to hire developers for. WAY more fun.
For me it's mixed. There's aspects of coding I do enjoy but also there's tedium that I don't. What I don't like about vibe coding is it has turned me into just a code reviewer in a lot of cases.
Would I want to build a business around products that are built this way? Not yet. I'm definitely not comfortable supporting a vibe coded heap of code in a production setting.
I do love the weird new world we're in. I feel as though I've been a player in an orchestra all my life, doing a little one-man-band act on the side, and suddenly I've been handed the baton and now I get to conduct the whole show.
I don't want to be a typist, I want to make things.
Look, you like AI, that's fine. But stop lying to yourself for fuck sakes.
The downside is that of course the further you stay away from actually playing your instrument, the rustier you will get; this might or might not be an issue, but it is a significant downside, also being away from the technique side means that as the years go by, you might not be able anymore to have an intuitive understanding of "this sounds wrong" and why it does.
I don't want to stretch the metaphor too far, but it does feel that agentic coding is a bit like building skill tech debt, the more you do it, the more you'll have to work later to bring back the skills you lost. The meta could be that models will get so good so that only a small percentage of developers will ever need to sully their eyes again with looking at code (same as while when we started most people had at least a passing familiarity with assembly, nowadays nearly nobody does), jury's out on that.
Either way, what before needed a full orchestra of developers, now could be doable by a good conductor and maybe a couple of soloists: how many orchestras will be needed? and what will the section musicians not good enough to be soloists and that don't have an interest in becoming a conductor will do? and how are new conductors going to develop their technical chops if there are no more orchestral jobs?
Many more. There isn't a fixed amount of software needed in the world: the amount will expand to fit the capacity. There's a reason it's been consistently difficult to find good programmers: there's more work than the existing population can handle. By expanding to use AI, I expect that the amount of programming work will grow, not shrink. However, the amount of programmers may decline.
If I were to guess, those devs are at least half of the readers of HN, if not the commenters as well. That's why there's so much push back and arguing against LLMs.
Software like that is almost entirely maintenance work. The requirements trickle in slowly and the changes are small but precise. They require deep knowledge of the broader topic, not just programming.
The deadlines are generous now, but what happens longer term? In the future nobody knows how to code without LLMs, most of the topical knowledge is long gone, and the deadlines are always urgent.
But hey, maybe the slopocalypse will incentivize us to disconnect and engage with the physical world a bit more.
All of the drama and discomfort since then is 100% caused by that residual economic impact. LLM hype and more aggressive enshittification are just the symptoms, not the root cause. It's not "the new normal", or rather it's totally normal but not the default case for the majority of fiscal years. These dips happen almost every decade.
When that ramp up happens (it kind of already is), the media will do a 180 like the first half of the 2020s never even happened. You will be slightly annoyed, but not complaining because hey we all have more money again.
That's the unlimited software demand we have to code.
Building things with LLMs is the closest I can get (perhaps even surpass?) the feeling I had as a kid, learning to code.
I feel rather sad that most (though luckily not all) of my friends despise AI, as I feel a (small, but relevant) part of the connective tissue we had is sort of gone. I'm in love with what I can do, I've got the superpowers I had back in college back, and I can't really share that with them (and they can't really share their concerns and frustrations with me). In two weeks of vacation (actually: in 1 week of those) I finally got around to tackling 5 different projects I had in the back of my mind, mostly for fun (but one of them is genuinely generating some income as well) -- this is amazing, but I have actively avoided talking about this with them, bar sharing a link to some of the things (and even that I'm feeling some regret over)
It's so fun to tinker around with everything! Modding a game, revitalizing abandonware with custom patches, building a harness to know how it works or just...you know...building what is in my mind, whenever, wherever, without it taking foreeeveeeeeeer.
I used to think what I loved was coding, but I have really come to realize I liked both building and coding. The latter I haven't really done much of in more than a year and....it doesn't annoy me at all? I know for a fact I loved doing it, but I can't really say I _miss_ doing it? Maybe after 20 years it just wasn't the same? Maybe the rush from watching my mind materialize into real things so fast is camouflaging it? Who knows...
Not to mention that most everyone else in my surroundings outside of the tech bubble is doing amazing things with AI. Cool websites, music that moves me to tears, random fun games and just, in general, clearly managing to focus more on what they want, on their goals, on their imagination and less on their work. There are exceptions, but the trend is that AI has enabled them to do more of what they want and less of what they have to, and I love that.
I completely accept that, for some people, the fun is/was in coding by hand. And that it's terrible that they'll likely not be able to earn a living just doing that relatively soon. What I have difficulty accepting is the outright bashing and hating on everything AI-related (and, yes, I hate hype too, but have you LOOKED AROUND AND SEEN THIS NEW WORLD?!). I can sort of accept it based on ethical grounds, but very rarely is it actually that. I guess people are just venting and firing in all directions due to how much this has shaken their lives and livelihood (and that, indeed, I can understand).
Anyway, this world is AMAZING! I am 100% with you. Especially because I don't even type (to the agents) anymore. I just voice-to-text, with barely any filter. I've often described it as the closest I've ever felt to truly controlling the computer with my mind, because I don't have to slow down my thoughts to write them. Sort of incredibly liberating.
Unfortunately, LLMs have been shoved everywhere in a years-long desperate scramble to capture the market, so we might as well get used to them while the bubble pops and the winners cash their bets.
Which is why I also think some people get such disparate experiences. If your organization is allowing clueless people to confidently throw stuff built by LLMs at mission-critical problems, that does seem more like an organizational problem than an LLM problem.
There's so much to hate about LLMs, and there's so much to love. And since we've sort of ended up in this world of constant false dichotomies, this kind of nuance gets lost in the trenches.
Of course LLMs in the wrong of clueless people are bad. Of course the way in which these models were trained is shameful and it's criminal that people are having their work stolen. Of course we need to find ways of dealing with slop. Of course it's bad for the environment at the moment (and so on). The list goes on and on, I know that.
But on either side of this debate (which SHOULD NOT HAVE TWO SIDES -- that's THE problem), people just tend to lump everything together. Your example is one some acquaintances repeatedly throw my way, and I'm left wondering if they have even thought that they're just showing me how broken their org is, not how bad the tech is? But, nope, they turn to me and go "AI bad bad"...
We can't seriously expect medium-size businesses to become (and stay) unbroken without significant, continuous investment and effort. They will always be broken, and AI is the sprinkle of crack they didn't know they wanted.
(I will say, though, the people around me I mentioned getting immense benefits from AI outside of tech are most definitely not addicted to it)
Absolutely!
But is there much more to "building with AI" than chasing dopamine? I would say for many, the answer is no.
I love coding manually, and I love AI.
I wish to ask you for some feedback and clarity and further concrete resources because I feel a little confused/lost regarding the whole vibe-coding situation, I wish to say thanks in general though as nonetheless your comment finally made me concretely express all the nuances brewing in my stomach about vibe-coding and how I often nowadays feel as if I may be falling behind if I don't know how to do it "accurately", I would love and really appreciate to get a more in-depth response if possible.
I have said the same thing as you have said as well sometimes if not mostly that AI is a tool which should be used sensibly (as I think that this is what you are intending to say as well)
Within the contexts of vibe-coding though, I would really appreciate it if you could explain to me in more depth about the whole process and workflow that you follow if possible and how much drastic change has that been in. I would love some concrete examples or repositories or just some pointers that I can help to improve myself further.
Here are some other thoughts that I have on the matter:
When you mean design review, are you just architecturing suggesting it the main architecture itself, for example. I mostly do "create me a golang web application which uses htmx/templ/modernc sqlite about XYZ" and then create a more detailed prompt from it which I then pass onto the agent to complete and give me a single binary at.
Most often than not though after this point, I haven't felt the need to change the architecture after the first initial setup and afterwards I point the changes that I wish to be done like "I want X1 Y1 Z1 changes" and if it breaks something then just showcasing what breaks, and taking feedback then "it just works"
The architecture sounds solid to me, I love golang as a language and I run multiple such apps on same 500mb/1gb ram servers and use cf tunnels in the middle.
For styling, I mostly prefer monospace-web theme because that's what I personally really like a lot but recently I found that giving first prototype to chatgpt and asking it to generate image then it can create a decent UI as well.
An example website that fits the pattern: https://mirror.forum
So what are the things which I should do though now? Should I attempt at reading the code and trying to understand it completely (I think that golang's mostly standardized method of doing things helps in reading AI code) or should I treat myself as thinking more about (seams?) or other technical terms that I found described within obra/superpowers or matt-pocock and other skill driven development oriented stuff.
Can I learn these stuff through AI itself as well and I wish to generate my own projects as well because I still believe that there's some joy in that as well as I find vibe-coding to be sometimes a bit hollow[1] [not sure though as the atmosphere has changed, earlier people used to be extremely critic of it whereas now more accepting]
I can be wrong, I usually am but what I am finding the most shocking is that although we are constantly seeing new tools and I try to be more well aware of them and always curious about it, yet I don't know at the same time where to actually proceed because the projects are just being built enough yet I don't know if I am doing standardized practices enough or how to really meaningfully improve such practice if vibe-coding is really such valuable then I would prefer to learn the more technical way of doing so and how experts within the field actually do vibe-coding.
Thanks and have a nice day and I would love to hear your/the community's response.
[0]: https://github.com/owickstrom/the-mo...
You want to learn web dev? Start typing HTML and JS. You want to learn how to use AI? Start typing specs and prompts. You'll need to learn both. But, you can't learn web dev by typing specs and prompts.
You can learn using AI as a research assistant, a tutor, a reviewer, a critic. You can use it to bang out quick tools, prototypes, deal with the hassles that are not your focus at the moment. But, whatever you are trying to learn, you need to do the actual implementation manually. There is no such thing as passive learning.
What is the exact learning of the topic that I have to do in it, for example. I can (and I will) learn webdev about valuable if vibecoding becomes the norm (as it is becoming nowadays)
Now I will learn the basics, then intermediate, then expert. Where exactly do you think that the value lies in?
ie. are the advantages put within getting from beginner -> intermediate or to complete beginner -> intermediate -> expert
Another thing is the level of fields that you have to be in or the whole question could perhaps be framed as being the jack of all trades or the master of one? Is this going to be like typing speed [90 wpm vs 130 wpm is somewhat negligible effect] or like chess [ 2100 vs 2400 isn't negligible and becomes exponentially harder when you become expert yet the difference will have genuine real impact maybe?]
Also within the process of vibe-coding, what is the actual value that I am adding given that I have learnt the skill, what I think might be is that I can actually verify if its good or not instead of asking a chatbot [which might be sycophantic or might miss the devil in the details], and say its okay.
Also, how do people naturally move away from the natural tendency to just... not read what AI is saying (when I tried obra/superpowers etc.), this video[0] tries to showcase what I am suggesting perhaps but I feel as if its still quite a slippery slope.
I hope that this question can be taken in good faith (because I like learning about CS for the sake of learning itself) but aside from that, why learn HTML/CSS is still a question that I can perhaps ask, similar to why learn assembly[1], and to what level, and will it help me in getting a job and if that helps in what I will actually do in job, and if so, then how? if the job done via vibe-coding as well. [I think this might tie to the previous questions that I have asked]
I do agree with the overall premise and learning can't be passive granted. Learning requires some form of active involvement which includes the phase of struggle (I think), yet that struggle is done for something meaningfully better and has a purpose. What AI does to many is question that purpose, why learn?
The issue I find which is why I am coming to this again and again is this, I am unable to find how the improvement within this corresponds to actual work/job or in actual terms how so.
Also, what happens if suppose the difference between an expert person with extreme knowledge and a normal~ish person is that it might take normal person is some more time/prompt/tokens to debug the issue with the models itself. Like it might take 2-3 more prompts to fix the issue.
I am finding people with varying opinions on how even the most expert people on some topic are agreeing that most AI can do it good enough already with vibe-coding, whereas some generalists who might not know the other language are porting their projects in it with vibe-coding.
In general, when approaching learning as well, I am not sure which to approach first: the thing which might be approachable (so for example: after HTML/CSS/Js Python, Django [thanks @simonw], golang's complicated full stack application)
and what if I might not like JS so much and python only enough but golang the most ideologically but my skill level still matches mostly python and its what I am most proficient in writing by hand?
I am personally going to go the learning path (the hard way?), I don't know if its the hard way or not but I wish to learn programming quite deeply even if just for the sake of itself and making my brain think about problems better
but my mind does still wonder if people on the other side could be right as well, does everyone need to learn deep ends of programming if programming becomes simpler or operates via just words, similar to how in previous tim...
I write a lot of high-performance code. To do that, I had to learn the details of how devices (drives/NICs/GPUs) work, how buses (PCI) works, how RAM, CPU caches, instruction pipelining work. Now I know how to structure data flow to work well with the machine instead of against it.
I write a lot of APIs. In doing that, I had to learn the hard way about how different API trade-offs drive client decisions. How to foresee problems in the future stemming from interfaces I'm writing now. How to argue with clients to get them what they need in the long term and not just want they want for the next milestone.
At all of these levels, I had to learn how each level works by doing it. By trying it lots of different ways. And, by optimizing it all the way down from "More productive client discussions" to "More performant assembly instructions" :P
Now whenever I do vibe-code, it's because I know exactly what I want and I can get AI to type it faster and with less RSI (carpal tunnel). Or, I know I want to prototype a few options rapidly before committing to implementing one design for realz. In neither of these cases am I telling the AI "Make it performant and easy to use." Because I know how I want to structure the code to make it performant. And, I know how to set up the API to make it easy to use. So, I'm telling the AI how to structure the data flow and how to set up the API. Because, if I didn't, I'd just be generating a big ball of noisy mud that's neat to gawk at, but has no long-term value.
So, what should you learn? You need to learn how the stuff you are interested in actually works under the hood by experimenting with it manually. Not just "Hey chat, make it work somehow..." You need to focus on architecture and systems thinking because otherwise you won't know how to prevent AI from holding your hand deep into a maze neither of you can escape from. And, you should be spending the majority of your tokens on step-by-step refactoring, never one-shotting. One-shotting is for AI tech demos. Not for learning or production.
My advice would be, as hard as it might seem, let yourself go slow and just do things. Spend a few weeks on webdev, or learning aseembly, or playing with AI. As long as you are engaged with whatever you're doing, that is enough. You will, via repeated exposure to smart people doing hard things, learn how to navigate and overcome all kinds of problems.
I actually disagree a little with the previous commenter about learning how to use AI. While that is useful, AI becomes second nature once you have been exposed to all these other things.
Robots are much easier.
Your statement is all about you and the places you've worked, and has nothing to do with LLMs or humans.
Also they have feelings and off time and stuff.
I love AI coding because I can use it to automate all the parts that are not fun or that would take far, far too much time to implement by hand. It puts things within reach that would formerly be unthinkable without millions of dollars and a gigantic software development team.
I still also enjoy coding things by hand... interesting, original things.
The technology itself is also absolutely fascinating. I've followed AI research for a long time and played around with it a lot, but the incredible breakthroughs of the last 5-10 years have blown me away. I've been working through the math on attention layers and feel like I've almost got it, and it's genius. Very cool stuff.
(The companies behind marketing and scaling it are, to varying degrees, not cool, but the tech and science and math is.)
AI tools amplify existing coding experience, and reward management experience too. Engineers with a decade+ of experience are more likely to have been engineering leads or spent time in engineering management.
Related observation: Anthropic are developing a reputation for hiring former CTO/CEO/founders and putting them back to work as individual contributors.
My uid was < 32768.
Bro with <500 karma in 10 years thinking he knows something
You're the middle of the bell curve meme :)
https://www.youtube.com/watch?v=AKKGpZyWj3M
It's awful when the boundary breaks down. It might just be inherit to the loop (no mind readers) but I will walk away from an AI task for 30 minutes and all too frequently there will be insane code smells.
I've been doing a thing where I will have "integration" projects between many different subsystems to demonstrate some capability, test it, then destroy the integration folder, folding back what we learned into the subsystems themselves. So far this has been OK for learning and it incentivizes the AI to not throw garbage everywhere. Of course, this assumes you get subsystems right but it prevents direct reaching into them and modifying excessively - try to do the most you can with fixed interfaces, etc.
I started a small one-man SaaS in 2022 that I coded by hand, and have gradually adopted AI usage. I don't write a single line of code anymore today, and my speed/performance has supercharged in the last 6-12months. The fun of coding is completely gone, but replaced with me being able to deliver what I need to grow the product (from dev, to design and marketing work).
Example, the UI for his two vibe coded example apps. Why not let AI do a single pass on that? 30s for a huge improvement. Other than the personal pride of saying you did it all, I don't see why not.
Vibe coding is like a last second weekend trip to Paris.
Accelerated software construction is like planning a four week backpacking trip through Western Europe.
I’m a grey beard so I’m on the far side of “writing code is fun” but I get it. I used to love those ah-ha moments when solving coding problems.
But now I love delivering solutions to the business or creating software that works as I envisioned it and those two things are fun in very different ways.
Edit: Or the bits I don't want to learn about because I'll literally use it once and never again
For me, personally, I have learned that fun is often more correlated with social connection and sharing than it is with subjective perception or gratification of the task at hand if removing the social element.
The most fun I had in life was when I had great teams, great people, and great challenges to share both the growth and struggles with. The rest, like what tooling we used, was optional and easy to misjudge as important at the time. Looking back I rarely recall the experience of using certain tooling over another, and often remember the people and the stories.
Unfortunately it also means that whatever you’re asking for has likely already been thoroughly done and explored before and is nothing novel.
This.