Comment by solumunus
5 hours ago
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?
No. They don't need to maintain, debug and extend those libraries.
4 replies →
> 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.
> What term would you use?
I’m not fussed about the exact term, as long as it points to something real and at semantic equal footing with the alternative.
Note how they described two areas of focus (what you “love”): “coding” and “delivering value/solutions”.
You can be a “coder” or a “programmer”, no one is a “deliverer of value/solutions”.
“Coding” is explicit, it’s an activity you can point at. “Delivering values/solutions” is vague, it’s corporate speak to sound positive without committing to anything. It doesn’t represent anything specific or tangible. It doesn’t even reference software, though it’s what it is, to make it sound broader than what it is. You could say “using and releasing apps”, for example, thought proponents may feel that’s reductive (but then again, so is “coding”).
Again, what’s in contention here isn’t the exact term, but making sure it’s one that actually means something to humans, instead of marketing speak.
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.
Yes yes, so does a street sweeper. Someone pays them because the road is dirty, and they use a broom to deliver the solution of a cleaner street, which is of value to the user.
Do you see why that’s marketing speak? You’re using vague terms which can be applied to anything. It avoids commitment and makes whatever you do seem grandiose. That’s marketing.
A few years ago, every app developer and designer was a “story teller”.
You don’t “deliver solutions”, you write software (or have it written for you).
> 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.
I have spent over a decade working primarily on open-source, for free. I still do it, thought it’s no longer my primary activity. A huge chunk of that time was helping and tutoring people. That I still do and I’m better at it; I still regularly get thank you messages from people I assisted or who use the tools I build.
I did use to volunteer at a food bank, but I used that example only because it’s quick and simple, no shade on anyone who doesn’t. I stopped for logistical reasons when COVID hit.
I have used the set of skills I’m god at to help several people with their goals (most were friends, some were acquaintances) who later told me I changed their life for the better. A few I no longer speak to, and that’s OK.
Oh, and before I became a developer, I worked in an area which was very close to marketing. Which was the reason I stopped.
So yeah, I know pretty well what I’m talking about. Helping others is an explicit goal of mine that I derive satisfaction from. I’d never describe it as “delivering value/solutions” and neither would any of the people I ever helped, because that’s vague corporate soulless speech.
5 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.
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
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...
"There are two kinds of programmers: those who love making programs, and those who love making money. I'm in the latter group."
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...
polished product, and LLM generated code should not be put in the same conversation.
You're simply wrong and it will become obvious in time.
I'll believe it when I see it. So far time has shown the opposite is true.
> ...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 of much use. I've bumped into enough corners already.
I propose a fourth, unskilled employee seeking compensation.
How could I forget the largest group?!
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.