Comment by j1436go

7 hours ago

Happy for everyone who enjoys it. For me it's the opposite: AI everywhere sucks the joy out of it and I'm seriously starting to consider a career shift after roughly 10 years of writing code for a living.

I feel you. There's a massive difference between crafting and assembling. AI turns us from artisans carving a detail into assembly line operators. If your joy came from solving algorithmic puzzles and optimizing loops, then yes, AI kills that It might be worth looking into low-level dev (embedded, kernel, drivers) or complex R&D. Vibe coding doesn't work there yet, and the cost of error is too high for hallucinations. Real manual craftsmanship is still required there.

  • It helped me finish my webRTC client for a esp32 microcontroller. Thats fairly low level. It did it without breaking a sweat - 2hrs, and we had a model which works with my pipecat-based based server.

    I loaded the lowest level piece of software I wrote in the last 15 years - a memory spoofing aimbot poc exploiting architectural issues in x86 (things like memory breakpoints set on logical memory - not hw addresses - allowing to read memory without tripping kernel-level detection tools, ability to trigger PFs on pages where the POC was hiding to escape detection, low level gnarly stuff like this). I asked it to clean up the code base and propose why it would not work under current version of windows. It did that pretty well.

    Lower level stuff does of course exist, but not a whole lot IMHO. I would not assume claude will struggle with kernel level stuff at all. If anything, this is better documented than the over-abstraced mainstream stuff.

  • Vibe coding will eventually come for that.

    The cost of hallucinations though - you potentially have a stronger point there. It wouldn’t surprise me if that fails to sway some decision makers but it doesn’t give the average dev a bit more ground to work with.

I'm starting to think that people don't want to be programmers anymore, they want to be managers who delegate their work to someone or something else, and then come back, critique the work, and do another loop

  • And this is exactly the problem. Developers are happily passing off their biggest valuable asset to, essentially, their replacements while, at the same time, convincing themselves that they being the "ideas guy" is the real value they bring to the table.

    Like, get real!

    I feel like I'm rapidly going insane. It wasn't that long ago when many people in this forum would boldly exclaim that their software development skills were their capital and take pride in their ability to build stuff. It also wasn't that long ago when the "ideas guys" were a meme here.

    We're ceding almost all of our bargaining power because programming "was never valuable." And we're doing it with smiles from ear to ear.

  • I'm thinking back to my contracting days when a typical customer might have a team of ten people but only one or two did the bulk of the work. Now the whole team can be productive for whatever measure you use for productivity.

    It's not so great for the one or two but fantastic for everybody else.

  • Well yeah! This is objectively a great process for getting a lot of work done.

    • I guess I'm an outlier then because I actually like programming, and I've never wanted to be a manager, even a manager of an LLM. At least half the fun of making software is doing the programming

      2 replies →

It sucks the joy out of it because to the extent that you build something with AI, (Obama voice) you didn't build that. I am allergic to the concept of developing with AI, especially for personal work, because AI-authored code isn't something I built, it's something I commissioned. It's like if I went onto Fiverr or Upwork with a spec and paid money and said "Here, build this" to a freelancer and then went back and forth with that person to correct and refine the result. I might get a halfway decent result in the end, but I don't get the experience of solving the problem myself. Experience solving problems yields new insights. It's why math textbooks have exercises: the only way to grasp the concepts is to solve problems with them.

With AI, you are no longer a developer, you're a product manager, analyst, or architect. What's neat about this, from a business perspective, is that you can in effect cut out all your developers and have a far smaller development workforce consisting of only product managers, analysts, and architects whom you call "developers" and pay developer salaries to. So you save money twice: once on dev workforce downsizing, and again on the pay grade demotion.

  • The problems I've been working on are at a much higher level than the nuts and bolts.

    I'm currently exploring domain-specific languages aimed at writing web applications. I've been particularly interested in, much like bash, data flowing through pipelines. I have spent quite a bit of time and I'm definitely not vibe coding but I've probably only writen 1-2% of the code in these projects.

    It is so much work to build out a new language with a surrounding ecosystem of tooling. Not even five years ago this would have necessarily been a full time multi-year endeavor or at least required a team of researchers. Now I can tinker away in my off hours.

    This is what I am exploring:

    https://williamcotton.com/articles/the-evolution-of-a-dsl

    Did I not craft the syntax and semantics of these languages?

    • No need to go that far. I bounced off weekend projects many times because I lost interest the moment I had to relive fighting the "modern" frontend ecosystem set up (or whatever else unrelated to the actual building), which is what I was already doing at the day job. In the end I just gave up because I'd rather get some rest and fun out of my time off. Now I can just skip that part entirely instead of tanning in front of <insert_webpack_or_equivalent> errors for hours on Saturday afternoon.

  • Huh? What about all the open source software you use, did you build all of it?

    What about the phone in your hand, did you design that?

    HN loves to believe they are the noble few - men and women of math and science, driven by nothing but the pure joy of their craft

    But this whole AI thing has been super revealing. Almost everyone here is just the same old same old, only that now that the change is hitting close to home, you’re clutching your pearls and lamenting the days when devs were devs

    The younger generation born into the AI world is going to leave you in the dust because they aren’t scared of it

    My math teacher used to say that people felt this was about…calculators, imagine that

    • Take a deep breath and try again. You'll get more of a constructive argument with the person you're responding to were you to engage with intellectual honesty.

There seems to be two camps of people: those who love the coding and those who love delivering value/solutions. I am in the latter camp. The happy consumer and the polished product is what gives me satisfaction, the code is just really a vehicle from A to B. It’s a shame for anyone in the first camp who wants a career.

  • Agree with those 2 camps. The latter camp is all cheered up which is nice, but they should be asking the question if their solution is valuable enough to be maintained. If so, you should make all generated code your code, exactly in the form it needs to be according to your deep expertise. If not, congratulations, you have invented throw-away code. Code of conduct: don't throw this code at people from the former camp.

    Or to phrase it more succinctly: if you are in camp 2 but don't have the passion of camp 1, you are a threat for the long term. The reverse is dangerous too, but can be offset to a certain extent with good product management.

    • > If so, you should make all generated code your code, exactly in the form it needs to be according to your deep expertise.

      This is solved problem with any large, existing, older code base. Original writers are gone and new people come on all the time. AI has actually helped me get up to speed in new code bases.

    • > If so, you should make all generated code your code, exactly in the form it needs to be according to your deep expertise.

      Is this also true of all third party code used by their solution? Should they make all libraries and APIs they use their own in exactly in the form it needs to be according to their deep expertise? If not, why not?

      If so, does this extend to the rest of the stack? Interpreters, OSes, drivers? If not, why not?

      5 replies →

  • This false dichotomy comes up from time to time, that you either like dicking around with code in your basement or you like being a big boy with your business pants on delivering the world's 8000th online PDF tools site. It's tired. Please let it die.

    • It's not that extreme.

      There are people who would code whether it was their career or not, I'm not one of those people. I fell into software development in order to make money, if the money stopped then I would stop. I love building and selling products, if I can't do that then I have no interest in programming. I'm interested in machines, CPU's, etc. I'm interested in products, liaising with customers, delivering solutions, improving things for users, etc. You think there is no distinction there? Again, there are people who code for fun, I'm simply not one of them...

      1 reply →

    • "There are two kinds of programmers: those who love making programs, and those who love making money. I'm in the latter group."

  • You’re forcing a binary choice here.

    I think for a lot of minor things, having AI generate stuff is okay, but it’s rather astounding how verbose and sometimes bizarre the code is. It mostly works, but it can be hard to read. What I’m reading from a lot of people is that they’re enjoying coding again because they don’t have to deal with the stuff they don’t want to do, which...I mean, that’s just it isn’t it? Everyone wants to work on what they enjoy, but that’s not how most things work.

    Another problem is that if you just let the AI do a lot of the foundational stuff and only focus on the stuff that you’re interested in, you sometimes just miss giant pieces of important context. I’ve tried reading AI driven code, sometimes it makes sense, sometimes it’s just unextensible nonsense that superficially works.

    This isn’t tech that should replace anything and needs to be monitored judiciously. It can have value, but what I suspect is going to happen is we are going to have a field day with people fixing and dealing with ridiculous security holes for the next decade after this irrational exuberance goes away. It should be used in the same way that any other ML technique should be. Judiciously and in a specific use case.

    Said another way, if these models are the future of general programming, where are the apps already? We’re years into this and where are they? We have no actual case studies, just a bunch of marketing copy and personal anecdotes. I went hunting for some business case studies a while ago and I found a Deloitte “case study” which was just pages of “AI may help” without any actual concrete cases. Where are the actual academic studies showing that this works?

    People claiming AI makes them code faster reminds me that Apple years ago demonstrated in multiple human interaction studies that the mouse is faster, but test subjects all thought keyboard shortcuts were faster [1]. Sometimes objective data doesn’t matter, but it’s amusing that the whole pitch for agentic AI is that it is faster and evidence is murky for this at best.

    [1] https://www.asktog.com/TOI/toi06KeyboardVMouse1.html

  • If you really want to deliver polished products, you still have to manually review the code. When I tried actually "vibecoding" something, I got exhausted so fast by trying to keep up with the metric tons of code output by the AI. I think most developers agree that reviewing other people's code is more exhausting mentally than writing your own. So I doubt those who see coding as too mentally straining will take the time to fully review AI written code.

    More likely that step is just skipped and replaced with thoughts and prayers.

    • I do manually review. I don't think the quality of my output has reduced even slightly. I'm just able to do much more. I deliver features more quickly, and I'm making more money, so of course I'm happy. If there was no money in programming I wouldn't be doing it, I think that's the major distinction. I barely have any understanding of how a CPU works, I don't care. I build stuff and people are very happy with what I build and pay me money for it...

  • > those who love delivering value/solutions.

    This is such marketing speak. The words mean nothing, they’re just a vague amalgamation of feelings. “Vibes”, if you will.

    If you “love delivering value and solutions”, go donate and volunteer at a food bank, there’s no need for code at any point.

    > The happy consumer and the polished product

    More marketing speak. If you are using LLMs to write your code, by definition your product isn’t “polished”. Polishing means pouring over every detail with care to ensure perfection. Letting an LLM spit out code you just accept is not it.

    The word you’re looking for is “shiny”, meaning that it looks good at a glance but may or may not be worth anything.

    • What term would you use? You can't say "a finished product" because it may never be finished, but something that other people find valuable seems like a good definition.

      I get the argument. Sometimes I really enjoyed the actual act of finally figuring out a way to solve a problem in code, but most of the time it was a means to an end, and I'm achieving that end far more often now via AI tooling.

      1 reply →

    • > This is such marketing speak. The words mean nothing, they’re just a vague amalgamation of feelings. “Vibes”, if you will.

      I actually think this reveals more about you than you might realise. A _lot_ of people enjoy being able to help people resolve problems with their skills. Delivering value is marketing speak, but it's specifically helping people in ways that's valuable.

      A lot of people who work in software are internally motivated by this. The act of producing code may (or may not be) also enjoyable, but the ultimate internal motivation is to hand over something that helps others (and the external motivation is obviously dollars and cents).

      There is also a subset of people who enjoy the process of writing code for its own sake, but it's a minority of developers (and dropping all the time as tooling - including LLMs - opens development to more people).

      > If you are using LLMs to write your code, by definition your product isn’t “polished”. Polishing means pouring over every detail with care to ensure perfection.

      You can say the same thing about libraries, interpreters, OSes, compilers, microcode, assembly. If you're not flipping bits directly in CPU registers, your not pouring over every little detail to ensure perfection. The only difference between you and the vibe coder who's never written a single LoC is the level of abstraction you're working at.

      Edit:

      > If you “love delivering value and solutions”, go donate and volunteer at a food bank, there’s no need for code at any point.

      I also think this says maybe a lot about you, also, as many people also donate their time and efforts to others. I think it may be worth some self-reflection to see whether your cynicism has become nihilism.

      7 replies →

    • Nonsense. Features are requested from me, I deliver them to the customer, the customer is happy and pays me. I deliver solutions and the customer deems them to be value for their business... What else am I supposed to call that?

      I'm extremely diligent around vetting all code in my repo's. Everything is thoroughly tested and follows the same standards that were in my codebase before the invention of LLM's. I'm not "vibe coding". You're making assumptions because of your negative emotional reaction to LLM's.

      2 replies →

    • It’s not marketing speak, but it’s rarely 100 percent one or the other.

      > More marketing speak. If you are using LLMs to write your code, by definition your product isn’t “polished”.

      This doesn’t make any sense. Polished to who? The end user? You can absolutely use AI to polish the user experience. Whether coding by hand or AI the most important aspect of polish is having someone who cares.

  • > ...and those who love delivering value/solutions. I am in the latter camp. The happy consumer and the polished product is what gives me satisfaction...

    Can't the customer now just skip you and generate a product for himself via AI?

    • Serious? Have you used an LLM? Of course they couldn't... LLM's speed up my development velocity. Maybe 1.5x-2x? Hard to measure. You still need the knowledge to make smart decisions, enforce sensible/maintainable architecture & patterns, etc. How is a regular person going to review code to make sure it's correct/efficient/safe?

  • I just work here, man. What's all this 'love' stuff? :) I propose a third camp: skilled employee seeking compensation.

    edit: to stay on the larger topic, I haven't been swayed much one way or the other. ~90% of the code I need existed a decade ago in the form of reusable modules. Anything new is closer to pseudo-code, an amplifier or sandbox isn't something I'm that interested in.

  • They're not that binary.

    I like using my software engineering skills to solve people's problems. I don't do coding for it's own sake - there's always a thing I'm trying to implement for someone.

  • As a professional, your job is to deliver value and solutions. It used to be that you could do this by writing code. AI changes this calculus because if the machine can write the code instead, the value you deliver by writing it yourself is greatly diminished.

  • I've also noticed a kind of grouping like this. I've described them as the "Builders" and the "Solvers". Where the former enjoys the construction aspect of the code more, and the latter enjoys the problem/puzzle-solving aspect of code more. I guess it's more of a scale than a binary, since everyone's got a bit of both, but I think I agree that AI is more fun for the builders.