[HN Gopher] The hidden cost of AI coding
___________________________________________________________________
The hidden cost of AI coding
Author : Sharpie4679
Score : 257 points
Date : 2025-04-23 18:44 UTC (1 days ago)
(HTM) web link (terriblesoftware.org)
(TXT) w3m dump (terriblesoftware.org)
| misiti3780 wrote:
| i dont know where you are working, but where I work i cant prompt
| 90% of my job away using cursor. in fact, I find all of these
| tools to be more and more useless and our codebase is growing and
| becoming more complex
|
| based on the current state of AI and the progress im witnessing
| on a month-by-month basis - my current prediction is there is
| zero chance AI agents are going to be coding and replacing me in
| the next few years. if i could short the startups claiming this,
| I would.
| tptacek wrote:
| One of the ways these tools are most useful for me is in
| extremely complex codebases.
| simonw wrote:
| This has become especially true for me in the past four
| months. The new long context reasoning models are
| _shockingly_ good at digging through larger volumes of gnarly
| code. o3, o4-mini and Claude 3.7 Sonnet "thinking" all have
| 200,000 token context limits, and Gemini 2.5 Pro and Flash
| can do 1,000,000. As "reasoning" models they are much better
| suited to following the chain of a program to figure out the
| source of an obscure bug.
|
| Makes me wonder how many of the people who continue to argue
| that LLMs can't help with large existing codebases are
| missing that you need to selectively copy the right chunks of
| that code into the model to get good results.
| IshKebab wrote:
| But 1 million tokens is like 50k lines of code or
| something. That's only medium sized. How does that help
| with large complex codebases?
|
| What tools are you guys using? Are there none that can
| interactively probe the project in a way that a human
| would, e.g. use code intelligence to go-to-definition, find
| all references and so on?
| tptacek wrote:
| This to me is like every complaint I read when people
| generate code and the LLM spits out an error, or
| something stupid. It's a tool. You still have to
| understand software construction, and how to hold the
| tool.
|
| Our Rust fly-proxy tree is about 80k (cloc) lines of
| code; our Go flyd tree (a Go monorepo) is 300k.
| Generally, I'll prompt an LLM to deal with them in
| stages; a first pass, with some hints, on a general
| question like "find the code that does XYZ"; I'll review
| and read the code itself, then feed that back to the LLM
| with questions like "summarize all the functionality of
| this package and how it relates to other packages" or
| "trace the flow of an HTTP request through all the layers
| of this proxy".
|
| Generally, I'll take the results of those queries and
| have them saved in .txt files that I can reference in
| future prompts.
|
| I think sometimes developers are demanding something
| close to AGI from their tooling, something that would do
| exactly what they would do (only, in the span of about 15
| seconds). I don't believe in AGI, and so I don't expect
| it from my tools; I just want them to do a better job of
| fielding arbitrary questions (or generating arbitrary
| code) than grep or eglot could.
| simonw wrote:
| Yeah, 50,000 lines sounds about right for 1m tokens.
|
| If your codebase is larger than that there are a few
| tricks.
|
| The first is to be selective about what you feed into the
| LLM: if you know the work you are doing is in a
| particular area of the codebase, just paste that bit in.
| The LLM can make reasonable guesses about things the code
| references that it can't see.
|
| An increasingly effective trick is to arm a tool-using
| LLM with a tool like ripgrep (effectively the
| "interactively probe the project in a way that a human
| would" idea you suggested). Claude Code and OpenAI Codex
| both use this trick. The smarter models are really good
| at deciding what to search for and evaluating the
| results.
|
| I've built tools that can run against Python code and
| extract just the class, function and method signatures
| and their docstrings - omitting the actual code. If you
| code is well designed and has reasonable documentation
| that could be enough for the LLM to understand it.
|
| https://github.com/simonw/symbex is my CLI tool for that
|
| https://simonwillison.net/2025/Apr/23/llm-fragment-
| symbex/ is a tool I released this morning that turns
| Symbex into a plugin for my LLM tool.
|
| I use my https://llm.datasette.io/ tool a lot, especially
| with its new fragments feature:
| https://simonwillison.net/2025/Apr/7/long-context-llm/
|
| This means I can feed in the exact code that the model
| needs in order to solve a problem. Here's a recent
| example: llm -m openai/o3 \ -f
| https://raw.githubusercontent.com/simonw/llm-hacker-
| news/refs/heads/main/llm_hacker_news.py \ -f http
| s://raw.githubusercontent.com/simonw/tools/refs/heads/mai
| n/github-issue-to-markdown.html \ -s 'Write a new
| fragments plugin in Python that registers
| issue:org/repo/123 which fetches that issue
| number from the specified github repo and uses the same
| markdown logic as the HTML page to turn that into a
| fragment'
|
| From https://simonwillison.net/2025/Apr/20/llm-fragments-
| github/ - I'm populating the context with the exact
| examples needed to solve the problem.
| earthnail wrote:
| I have the same experience. It's basically a better
| StackOverflow, but just like with SO you have to be very
| careful about the replies, and also just like SO its utility
| diminishes as you get more proficient.
|
| As an example, just today I was trying to debug some weird
| WebSocket behaviour. None of the AI tools could help, not
| Cursor, not plain old ChatGPT with lots of prompting and
| careful phrasing of the problem. In fact every LLM I tried
| (Claude 3.7, GPT o4-mini-high, GPT 4.5) introduced errors into
| my debugging code.
|
| I'm not saying it will stay this way, just that it's been my
| experience.
|
| I still love these tools though. It's just that I really don't
| trust the output, but as inspiration they are phenomenal. Most
| of the time I just use vanilla ChatGPT though; never had that
| much luck with Cursor.
| codr7 wrote:
| No one was forcing you to use SO, in fact we made fun of
| people who did copy-paste/compile-coding.
| UncleEntity wrote:
| Yeah, they're currently horrible at debugging -- there seems
| to be blind spots they just can't get past so end up running
| in circles.
|
| A couple days ago I was looking for something to do so gave
| Claude a paper ("A parsing machine for PEGs") to ask it some
| questions and instead of answering me it spit out an almost
| complete implementation. Intrigued, I threw a couple more
| papers at it ("A Simple Graph-Based Intermediate
| Representation" && "A Text Pattern-Matching Tool based on
| Parsing Expression Grammars") where it fleshed out the
| implementation and, well... color me impressed.
|
| Now, the struggle begins as the thing has to be debugged.
| With the help of both Claude and Deepseek we got it compiling
| and passing 2 out of 3 tests which is where they both got
| stuck. Round and round we go until I, the human who's
| supposed to be doing no work, figured out that Claude hard
| coded some values (instead of coding a general solution for
| _all_ input) which they both missed. In applying ever more
| and more complicated solutions (to a well solved problem in
| compiler design) Claude finally broke all debugging output
| and I don 't understand the algorithms enough to go in and
| debug it myself.
|
| Of course I didn't use any sort of source code management so
| I could revert to a previous version before it was broken
| beyond all fixing...
|
| Honestly, I don't even consider this a failure. I learned a
| lot more on what they are capable of and now know that you
| have to give them problems in smaller sections where they
| don't have to figure out the complexities of how a few
| different algorithms interact with each other. With this new
| knowledge in hand I started on what I originally intended to
| do before I got distracted with Claude's code solution to a
| simple question.
|
| --edit--
|
| Oh, the irony...
|
| After typing this out and making an espresso I figured out
| the problem Claude and Deepseek couldn't see. So much for the
| "superior" intelligence.
| simonw wrote:
| Don't get distracted by claims that AI agents "replace
| programmers". Those are pure hype.
|
| I'm willing to bet that in a few years most of the developers
| you know will be using LLMs on a daily basis, and will be more
| productive because of it (having learned how to use it).
| misiti3780 wrote:
| this is already the case.
| iamleppert wrote:
| There's nothing stopping you from coding if you enjoy it. It's
| not like they have taken away your keyboard. I have found that AI
| frees me up to focus on the parts of coding I'm actually
| interested in, which is maybe 5-10% of the project. The rest is
| boiler plate, cargo-culted, Dockerfile, build system and bash
| environment variable passing circle of hell that I really could
| care less about. I care about certain things that I know will
| make the product better, and achieve its goals in a clever and
| satisfying way.
|
| Even when I'm stuck in hell, fighting the latest undocumented
| change in some obscure library or other grey-bearded creation,
| the LLM, although not always right, is there for me to talk to,
| when before I'd often have no one. It doesn't judge or sneer at
| you, or tell you to "RTFM". It's better than any human help, even
| if its not always right because its at least always more reliable
| and you don't have to bother some grey beard who probably hates
| you anyway.
| 2snakes wrote:
| I read one characterization which is that LLMs don't give new
| information (except to the user learning) but they reorganize
| old information.
| barrenko wrote:
| Custodians of human knowledge.
| docmechanic wrote:
| That's only true if you tokenize words rather than
| characters. Character tokenization generates new content
| outside the training vocabulary.
| emaro wrote:
| Kind of, but character-based tokens make it a lot harder
| and more expensive to learn semantics.
| docmechanic wrote:
| Source: Generative Deep Learning by David Foster, 2nd
| edition, published in 2023. From "Tokenization" on page
| 134.
|
| "If you use word tokens: .... willnever be able to
| predict words outside of the training vocabulary."
|
| "If you use character tokens: The model may generate
| sequences of characters that form words outside the
| training vocabulary."
| selfhoster11 wrote:
| All major tokenisers have explicit support for encoding
| arbitrary byte sequences. There's usually a consecutive
| range of tokens reserved for 0x00 to 0xFF, and you can
| encode any novel UTF-8 words or structures with it.
| Including emoji and characters that weren't a part of the
| model's initial training, if you show it some examples.
| docmechanic wrote:
| Pretty sure that we're talking apples and oranges. Yes to
| the arbitrary byte sequences used by tokenizers, but that
| is not the topic of discussion. The question is will the
| tokenizer come up with words not in the training
| vocabulary. Word tokenizers don't, but character
| tokenizers do.
|
| Source: Generative Deep Learning by David Foster, 2nd
| edition, published in 2023. From "Tokenization" on page
| 134.
|
| "If you use word tokens: .... willnever be able to
| predict words outside of the training vocabulary."
|
| "If you use character tokens: The model may generate
| sequences of characters that form words outside the
| training vocabulary."
| asdff wrote:
| Why stop there? Just have it spit out the state of the bits
| on the hardware. English seems like a serious shackle for
| an LLM.
| apothegm wrote:
| So much this. The AI takes care of the tedious line by line
| what's-the-name-of-that-stdlib-function parts (and most of the
| tedious test-writing parts) and lets me focus on the
| interesting bits like what it is I want to build and how the
| pieces should fit together. And debugging, which I find
| satisfying.
|
| Sadly, I find it sorely lacking at dealing with build systems
| and that particular type of boilerplate, mostly because it
| seems to mix up different versions of things too much and gives
| you totally broken setups more often than not. I'd just as soon
| never deal with the he'll that is front end build/lint/test
| config again.
| tcfhgj wrote:
| Aren't stdlib functions the ones you know by heart after a
| while anyways?
| danielbln wrote:
| Not everyone works in a single language and/or deep in some
| singular code base.
| BigJono wrote:
| Gee do you think maybe that's why all our software sucks
| balls these days?
| skydhash wrote:
| I struggle to think how one person is supposed to
| interact with that many languages on a daily (or even
| weekly) basis.
|
| I've been on projects with multiple languages, but the
| truly active code was done in only two. The other
| languages were used in completed modules where we do
| routine maintenance and rare alterations.
| simonw wrote:
| "I struggle to think how one person is supposed to
| interact with that many languages on a daily (or even
| weekly) basis."
|
| LLMs. I've expanded the circle of languages I use on a
| frequent basis quite dramatically since I started leaning
| on LLMs more. I used to be Python, SQL and JavaScript
| only. These days I'm using jq, AppleScript, Bash, Go,
| awk, sed, ffmpeg and so many more.
|
| I used to avoid infrequently used DSLs because I couldn't
| hold them in my memory. Now I'll happily use "the best
| tool for the job" without worrying about spinning up on
| all the details first.
| apothegm wrote:
| Depends on the language. Python for instance has a massive
| default library, and there are entire modules I use
| anywhere from one a year to once a decade --- or never at
| all until some new project needs them.
| dxroshan wrote:
| > The AI takes care of the tedious line by line what's-the-
| name-of-that-stdlib-function parts (and most of the tedious
| test-writing parts)
|
| AI generated tests are a bad idea.
| otabdeveloper4 wrote:
| Well, maybe they just need X lines of so-called "tests" to
| satisfy some bullshit-job metrics.
| apothegm wrote:
| Just as with anything else AI, you never accept test code
| without reviewing it. And often it needs debugging. But it
| handles about 90% of it correctly and saves a lot of time
| and aggravation.
| simonw wrote:
| AI generated tests are genuinely fantastic, if you treat
| them like any other AI generated code and review them
| thoroughly.
|
| I've been writing Python for 20+ years and I still can't
| use unittest.mock without looking up the details every
| time. ChatGPT and Claude are great at that, which means I
| use it more often because I don't have to deal with the
| frustration of figuring it out.
| righthand wrote:
| They perhaps haven't taken away your keyboard but anecdotally,
| a few friends work at places where their boss is requiring them
| to use the LLMs. So you may not have to code with them but some
| people are starting to be chained to them.
| hermanradtke wrote:
| Yes, there are bad places to work. There are also places that
| require detailed time tracking, do not allow any time to
| write tests, have very long hours, tons of on-call alerts,
| etc.
| godelski wrote:
| You write that like the latter is in opposition to the
| former. Yet the content suggests the latter is the former
| 7589447636 wrote:
| How long until it becomes the rule because of some
| arbitrary "productivity" metric? Sure, you may not be
| _forced_ to use it, but you 'll be fire for being
| "unproductive".
| simonw wrote:
| That's the case at Shopify already:
| https://twitter.com/tobi/status/1909251946235437514
| godelski wrote:
| And even when that's not the case you are still indirectly
| working with them because your coworker is and "somehow"
| their code has gotten worse
| melvinroest wrote:
| > The rest is boiler plate, cargo-culted, Dockerfile, build
| system and bash environment variable passing circle of hell
| that I really could care less about.
|
| Even more so, I remember making a Chrome extension and feeling
| intimidated. I knew that I'd be comfortable with most of it
| given that JS is used but I just didn't know how to start.
|
| With an LLM it is way faster to spin up some default config and
| get going versus reading a tutorial. What I've noticed in that
| respect is that I just read what it does and then immediately
| reason why it's there. "Oh, there's a manifest.json file with
| permissions and a few other things, fair, makes sense. Oh, so
| you have the HTML/CSS/JS of the extension, you have the
| HTML/CSS/JS of the page you're injecting some code into and you
| have the JS of a background worker. Ah yea, I get that."
|
| And then I just get immediately on coding.
| dxroshan wrote:
| > What I've noticed in that respect is that I just read what
| it does and then immediately reason why it's there ....
|
| How if it hallucinate and gives you wrong code and
| explanation? It is better to read documentations and
| tutorials first.
| doix wrote:
| > How if it hallucinate and gives you wrong code
|
| Then the code won't compile, or more likely your editor/IDE
| will say that it's invalid code. If you're using something
| like Cursor in agent mode, if invalid code is generated
| then it gets detected and the LLM keeps re-running until
| something is valid.
|
| > It is better to read documentations and tutorials first.
|
| I "trust" LLM's more than tutorials, there's so much
| garbage out there. For documentation, if the LLM suggests
| something, you can see the docstrings in your IDE. A lot of
| the time that's enough. If not, I usually go read the
| implementation if I _actually_ care about how something
| works, because you can't always trust documentation either.
| milesrout wrote:
| Plenty of incorrect code compiles. It is a very bad sign
| that people are making comments like "Then the code won't
| compile".
|
| As for my editor saying it is invalid..? That is _just_
| as untrustworthy as an LLM.
|
| >I "trust" LLM's more than tutorials, there's so much
| garbage out there.
|
| Yes, rubbish generated by AI. That is the rubbish out
| there. The stuff written by people is largely good.
| doix wrote:
| > Plenty of incorrect code compiles. It is a very bad
| sign that people are making comments like "Then the code
| won't compile".
|
| I interpreted the "hallucination" part as the AI using
| functions that don't exist. I don't consider that a
| problem because it's immediately obvious.
|
| Yes, AI can suggest syntactically valid code that does
| the wrong thing. If it obviously does the wrong thing,
| then that's not really an issue either because it should
| be immediately obvious that it's wrong.
|
| The problem is when it suggests something that is
| syntactically valid and looks like it works but is ever
| slightly wrong. But in my experience, it's pretty common
| to come across that stuff like that in "tutorials" as
| well.
|
| > Yes, rubbish generated by AI. That is the rubbish out
| there. The stuff written by people is largely good.
|
| I pretty strongly disagree. As soon as it became popular
| for developers to have a "brand", the amount of garbage
| started growing. The stuff written before the late 00's
| was mostly good, but after that the balance began slowly
| shifting towards garbage. AI definitely increased the
| rate at which garbage was generated though.
| esperent wrote:
| > Yes, AI can suggest syntactically valid code that does
| the wrong thing
|
| To be fair, I as a dev with ten or fifteen years
| experience I do that too. That's why I always have to
| through test the results of new code before pushing to
| production. People act as if using AI should remove that
| step, or alternatively, as if it suddenly got much more
| burdensome. But honestly it's the part that has changed
| least for me since adopting an AI in the loop workflow.
| At least the AIncan help with writing automated tests now
| which helps a bit.
| danielbln wrote:
| Wait, are you saying you don't trust language servers
| embedded in IDEs to tell you about problems? How about
| syntax highlighting or linting?
| senko wrote:
| > Yes, rubbish generated by AI. That is the rubbish out
| there. The stuff written by people is largely good.
|
| Emphatic no.
|
| There were heaps of rubbish being generated by people for
| years before the advent of AI, in the name of SEO and
| content marketing.
|
| I'm actually amazed at how well LLMs work given what kind
| of stuff they learned from.
| Spivak wrote:
| Even when it hallucinates it still solves most of the
| unknown unknowns which is good for getting you unblocked.
| It's probably close enough to get some terms to search for.
| dxroshan wrote:
| I don't think so.How can you be so sure it solves the
| 'unknown unknowns'?
| Spivak wrote:
| Because I've used it for problems where it hallucinated
| some code that didn't actually exist but that was good
| enough to know what the right terms to search for in the
| docs were.
| skydhash wrote:
| I interpreted that as you rushing to code something you
| should have approached with a book or a guide first.
| selfhoster11 wrote:
| Sample size of 1, but it definitely did in my case. I've
| gained a lot more confidence when coding in domains or
| software stacks I've never touched before, because I know
| I can trust an LLM to explain things like the basic
| project structure, unfamiliar parts of the ecosystem,
| bounce ideas off off, produce a barebones one-file
| prototype that I rewrite to my liking. A whole lot of
| tasks that simply wouldn't justify the time expenditure
| and would make it effort-prohibitive to even try to
| automate or build a thing.
| brigandish wrote:
| Most tutorials fail to add meta info like the system
| they're using and versions of things, that can be a real
| pain.
| selfhoster11 wrote:
| Do you mean the laconic and incomplete documentation? And
| the tutorials that range from "here's how you do a hello
| world" to "draw the rest of the fucking owl" [0], with
| nothing in between to actually show you how to organise a
| code base or file structure for a mid-level project?
|
| Hallucinations are a thing. With a competent human on the
| other end of the screen, they are not such an issue. And
| the benefits you can reap from having LLMs as a sometimes-
| mistaken advisory tool in your personal toolbox are
| immense.
|
| [0]: https://knowyourmeme.com/memes/how-to-draw-an-owl
| skydhash wrote:
| The kind of documentation you're looking for is called a
| tutorial or a guide, and you can always buy a book for
| it.
|
| Also something are meant to be approached with the
| correct foundational knowledge (you can't do 3D without
| geometry, trigonometry, and matrixes. And a healthy dose
| of physics). Almost every time I see people strugling
| with documentation, it was because they lacked domain
| knowledge.
| melvinroest wrote:
| Fair question. So far I've seen two things:
|
| 1. Code doesn't compile. This case is obvious on what to
| do.
|
| 2. Code does compile.
|
| I don't work in Cursor, I read the code quick, to see the
| intent. And when done with that decide to copy/paste it and
| test the output.
|
| You can learn a lot by simply reading the code. For
| example, when I see in polars a `group_by` function call
| but I didn't know polars could do that, now I know because
| I know SQL. Then I need to check the output, if the output
| corresponds to what I expect a group by function to do,
| then I'll move on.
|
| There comes a point in time where I need more granularity
| and more precision. That's the moment where I ditch the AI
| and start to use things such as documentation and my own
| mind. This happens one to two hours after bootstrapping a
| project with AI in a language/library/framework I initially
| knew nothing about. But now I do, I know a few hours worth
| of it. That's enough to roughly know where everything is
| and not be in setup hell and similar things. Moreover, by
| just reading the code, I get a rough idea on how beginner
| to intermediate programmers think about the problem space
| the code is written in as there's always a certain style of
| writing certain code. This points me into the direction on
| how to think about it. I see it as a hint, not as the
| definitive answer. I suspect that experts think differently
| about it, but given that I'm just a "few hours old" in the
| particular language/lib/framework, I think knowing all of
| this is already really amazing.
|
| AI helps with quicker bootstrapping by virtue of reading
| code. And when it gets actually complicated and/or
| interesting, then I ditch it :)
| gilbetron wrote:
| What do you do if you "hallucinate" and write the wrong
| code? Or if the docs/tutorial you read is out of date or
| incorrect or for a different version than you expect?
|
| That's not a jab, but a serious question. We act like
| people don't "hallucinate" all the time - modern software
| engineering devops is all about putting in guardrails to
| detect such "hallucinations".
| godelski wrote:
| I think you're robbing yourself.
|
| Of course, it all depends how you use the LLM. While the same
| can be true for StackOverflow, the LLMs just scale the issues
| up. > The rest is boiler plate, cargo-culted,
| Dockerfile, build system and bash environment variable passing
| circle of hell that I really could care less about.
|
| Except you do care. It's why you're frustrated and annoyed. And
| good!!! That feeling is because what you're describing requires
| solving. If something is routine, automate it. But it's really
| not good to automate in a statistical way, especially when that
| statistical tool is optimized for human preference. Because
| remember that also means mistakes are optimized to be missed by
| humans.[0]
|
| With expertise in anything, I'm sorry, but you also got to do
| the shit work. To be a great musician you gotta practice boring
| scales. It's true even if you just want to be a sub par one.
|
| But a little grumpy is good. It drives you to fix things, and
| frankly, that's our job. The things that are annoying and
| creating friction don't need be repeated over and over, they
| need alternative solutions. The scripts you build are valuable.
| The "useless" knowledge you gain isn't so useless. Those little
| details add up without you knowing and make you better.
|
| That undocumented code makes you frustrated and reminds you to
| document your own. You don't want to be a hypocrite. The author
| of the thing you're using probably thought the same thing: "No
| one is gonna use this garbage, I'm not going to waste my time
| documenting it". Yet here we are. Over and over again yet we
| don't learn the lesson.
|
| I'm not gonna deny there's assholes. There are. But even
| assholes teach you. At worst, they teach you how not to act.
|
| And some people are you telling you to RTM and not RTFM. Sure,
| it has lots of extra information in it that you don't need to
| get your specific job done, but have you also considered that
| it has lots of extra information in it? The person that wrote
| it clearly thought the context was important. Maybe it isn't.
| In that case, you learned a lesson in how not to write
| documentation!
|
| What I'm getting at is that there's a lot of learning done all
| over the place. Trying to take out all the work and only have
| "the fun" is harming yourself and has a large potential to make
| less time for the fun stuff[0]. I'd be surprised if I'm alone
| in this, but a lot of stuff I enjoy now was stuff that
| originally frustrated me. IME this is pretty common! It's true
| for every person I know. Similarly, it's also true for things I
| learned that I thought I'd never use again. It always has a way
| of coming back.
|
| I'm not going to pretend it's all fun and games. I'm explicitly
| saying it's not. But I'm confident in the long run it's better.
| Despite the lack of accuracy, I use LLMs (and Google, and even
| the TFM) like I would a solution guide the homework problems
| when I was in school. Try first, then consult. The struggle is
| an investment in your future. It sucks, but if all the best
| things in life were easy then we'd all have them. I'm just
| trying to convince you that it pays off.
|
| I'm completely aware this is all context dependent. There's a
| time and place for everything. But given the percentages you
| mention (even taken as exaggeration), something sounds wrong.
| It's hard to suggest specific solutions without details but I'd
| be surprised if there weren't better and more rewarding
| solutions than having the LLM do it for you
|
| [0] That's the big danger and what drives distrust in them.
| Because you need to work extra hard to find mistakes,
| increasing workload, not decreasing, because debugging is most
| of the job!
| jspdown wrote:
| I share the same opinion.
|
| While it looks like a productivity boost, there's a clear
| price to pay. The more you use it, the less you learn and the
| less you are able to assess quality.
| godelski wrote:
| Worse, it feels productive. But I'd bet if you watched the
| clock and tracked progress of a non-trivial project, you'd
| find what we've always known to be true: there are no
| shortcuts.
|
| I'm sure it's faster in the short term. Just like copy-
| paste-from-stack-overflow is. But it is debt. The shit
| builds and builds. But I think the problem is we're so
| surrounded by shit we've just normalized it. It is
| incredible how much bloat and low hanging fruit there is
| that can be cheaply resolved but there is no will to. And
| in my experience, it isn't just a lack of will, it is a
| lack of recognition. If the engineers can't recognize shit,
| then how do we build anything better? It is literally our
| job to find problems
| wvh wrote:
| I think the fear for those of us who love coding, stability and
| security, that we are going to be confronted with apples that
| are rotten on the inside and our work, our love, is going to
| turn (even more so) into pain. The challenge in computing is
| that the powers that decide have little overview over the
| actual quality and longevity of any endeavour.
|
| I work as a consultant assessing other people's code and it's
| hard not to lose my religion, sort of speak.
| johngladtj wrote:
| This.
|
| Frankly I don't want to spend 2 hours reading documentation
| just to find out some arcane incantation that gets the computer
| to do what I want it to do.
|
| The interesting part of programming to me is designing the
| logic. It's the 'this, then that, except when this' flow that
| I'm really interested in, not the search for some obscure
| library that has some function that will parse this csv.
|
| Llms are great for that, and let me get away from the pointless
| grind and into the things that I enjoy and are actually
| providing value.
|
| The pair programming is also a super good thing. I work best
| when I can spitball and throw out random ideas and get quick
| feedback. Llms let me do that without bothering others who have
| their own work to do.
| voidUpdate wrote:
| > The rest is boiler plate, cargo-culted, Dockerfile, build
| system and bash environment variable passing
|
| I keep seeing people saying to use an LLM to write boilerplate,
| but like... do you not just copy that from another project
| where you already wrote it?
| handzhiev wrote:
| No, because it's usually a few years old and already obsolete
| - the frameworks and the language have gone through a
| gazillion changes and what you did in 2021 suddenly no longer
| works at all.
| moooo99 wrote:
| I mean, the training data also has a cutoff date and
| changed beyond that are not reflected in the code
| suggestions.
|
| Also, I know that people love to joke on modern software
| and JS in particular. But if you take react code from 2020
| and drop it into a new react codebase it still works. Even
| class based components work. Yes, if you jumped on the
| newest framework bandwagon every time stuff will break all
| the time, but AI won't be able to help you with that
| either. If you went for relatively stable frameworks, you
| can re use boilerplate completely or with relatively
| minimal adjustments
| whstl wrote:
| React is alright but the framework tooling around it
| changes a lot.
|
| If you take a project from 2020 it's a bit of a pain to
| upgrade it.
| scarface_74 wrote:
| True. But LLMs have access to the web. I've told ChatGPT
| plenty of times to verify an SDK API or if I knew the API
| was new, I just gave it a link to the documentation. This
| was mostly around various AWS SDKs
| simonw wrote:
| The search improvements to o3 and o4-mini have made a
| _huge_ difference in the last couple of weeks.
|
| I ran this prompt (and others like it) and it _actually
| worked_! This code needs to be upgraded
| to the new recommended JavaScript library from
| Google. Figure out what that is and then look up
| enough documentation to port this code to it
|
| https://simonwillison.net/2025/Apr/18/gemini-image-
| segmentat...
| jay_kyburz wrote:
| lol, I've been cutting and pasting from the same projects I
| started in 2010. When you work in vanilla js it doesn't
| change.
| asdff wrote:
| Ehh most people are good about at least throwing a warning
| before they break a legacy pattern. And you can also just
| use old versions of your tools. I'm sure the 2021 tool
| still does the job. Most people aren't working on the
| bleeding edge here. Old versions of numpy are fine.
| moooo99 wrote:
| I keep seeing that suggestion as well and the only sensible
| way I see would be to use one off boilerplate, anything else
| does not make sense.
|
| If you keep re-using boilerplate once in a while copying it
| from elsewhere is fine. If you re-use it all the time, just
| get a macro setup in your editor of choice. IMHO that is way
| more efficient than asking AI to produce somewhat consistent
| boilerplate
| pelagicAustral wrote:
| You know. I have my boilerplate in Rails and it is just a
| work of art... I simply clone my BP repo, bundle, migrate,
| run and I have user management, auth, smtp client, sms
| alerts, and literally everything I need to get started. And
| it was just this same week I decided to try a code
| assistant, and my result was shockingly good, once you
| provide the assistant with a good clean starting point, and
| if you are very clear on what you want to build, then the
| results are just too good to be dismissed.
|
| So yes, boilerplate, but also yes, there is definitely
| something to be gained from using ai assistants.
| jrapdx3 wrote:
| Like many others writing here, I enjoy coding (well, mostly
| anyway), especially the when it requires deep thought and
| patient experimentation to get anywhere. It's also great to
| preside over finally wiring together the routines (modules,
| libraries) that bind a project into a coherent whole.
|
| Haven't much used AI to assist. After all, hard enough finding
| authentic humans capable and willing to voluntarily
| review/critique one's code. So far AI doesn't consistently
| provide that kind of help. OTOH seems almost certain over time
| AI systems will improve in terms of specific and comprehensive
| "insights" into the particular types of code one is writing.
|
| I think an issue is that human creativity is hard to measure.
| Likely enough AI is even tougher to assess. Probably AI will
| increasingly be assigned tasks like constructing project
| skeletons, assuring parts can be joined together without undue
| strain, handling "boilerplate" and other routine chores. To be
| sure the landscape will look different in 50 years, I'm certain
| we'd be amazed were we able to see what future systems will be
| doing.
|
| In any case, we shouldn't hesitate to use tools that genuinely
| boost our creativity. One badly needed role would be enabling
| development of higher reliability software. Still that's a far
| cry from the contributions emanating from the best of human
| originality, talent and motivation.
| skydhash wrote:
| > _doesn 't judge or sneer at you, or tell you to "RTFM". It's
| better than any human help, even if its not always right
| because its at least always more reliable and you don't have to
| bother some grey beard who probably hates you anyway._
|
| That's a lot of trauma you're dealing with.
| tptacek wrote:
| _After all, if we lose the joy in our craft, what exactly are we
| optimizing for?_
|
| Solving problems for real people. Isn't the answer here kind of
| obvious?
|
| Our field has a whole ethos of open-source side projects people
| do for love and enjoyment. In the same way that you might spend
| your weekends in a basement woodworking shop without furnishing
| your entire house by hand, I think the craft of programming will
| be just fine.
| frollogaston wrote:
| Same as when higher-level languages replaced assembly for a lot
| of use cases. And btw, at least in places I've worked, better
| traditional tooling would replace a lot more headcount than AI
| would.
| codr7 wrote:
| Not even close, those were all deterministic, this is
| probabilistic.
| tptacek wrote:
| The output of the LLM is probabilistic. The code you
| actually commit or merge is not.
| rozap wrote:
| i'm just vibing though, maybe i merge, maybe i don't,
| based on the vibes
| jaggederest wrote:
| That sounds like a lot of work, better ask a LLM whether
| to merge.
| genewitch wrote:
| It does the PR for me, too
| frollogaston wrote:
| And argues on behalf of you in the PR. "You're absolutely
| right, this should not be merged."
| jll29 wrote:
| Yes.
|
| The output of the LLM is determined by the weights
| (parameters of the artificial neural network) estimated
| in the training as well as a pseudo-random number
| generator (unless its influence, called "temperature", is
| set to 0).
|
| That means LLMs behave as "processes" rather than
| algorithms, unlike any code that may be generated from
| them, which is algorithmic (unless instrcuted otherwise;
| you could also tell an LLM to generate an LLM).
| discreteevent wrote:
| The parent is saying that when higher-level languages
| replaced assembly languages you only had to learn the
| higher level language. Once you learned the higher level
| language the machine did precisely what you specified and
| you did not have to inspect the assembly language to make
| sure it was compliant. Furthermore you were forced to be
| precise and to understand what you were doing when you
| were writing the higher level language.
|
| Now you don't really have to be precise at any level to
| get something 'working'. You may not be familiar with the
| generated language or libaries but it could look good
| enough (like the assembly would have looked good enough).
| So, sure, if you are very familiar with the generated
| language and libraries and you inspect every line of
| generated code then maybe you will be ok. But often the
| reason you are using an LLM is because e.g. you don't
| understand or use bash frequently enough to get it to do
| what you want. Well, the LLM doesn't understand it
| either. So that weird bash construct that it emitted -
| did you read the documentation for it? You might have if
| you had to write it yourself.
|
| In the end there could be code in there that nothing
| (machine or human) understands. The less hard-won
| experience you have with the target and the more time-
| pressed you are the more likely it is that this will
| occur.
| pjmlp wrote:
| The code that the compiler generates, especially in the C
| realm, or with dynamic compilers is also not regular,
| hence the tooling constraints in high integrity computing
| environments.
| ben-schaaf wrote:
| Exactly. If LLMs were like higher level languages you'd
| be committing the prompt. LLMs are actually like auto-
| complete, snippets, stackoverflow and rosetta code. It's
| not a higher level of abstraction, it's a tool for
| writing code.
| frollogaston wrote:
| So what? I know most compilers are deterministic, but it
| really only matters for reproducible builds, not that
| you're actually going to reason about the output. And the
| language makes few guarantees about the resulting
| instructions.
| eddd-ddde wrote:
| Yet the words you chose to use in this comment were
| entirely modelled inside your brain in a not so different
| manner.
| pjmlp wrote:
| I already see this happening with low code, SaaS and MACH
| architectures.
|
| What used to be a project doing a CMS backend, now is spent
| doing configurations on a SaaS product, and if we are lucky,
| a few containers/serveless for integrations.
|
| There are already AI based products that can automate those
| integrations if given enough data samples.
|
| Many believe AI will keep using current programming languages
| as translation step, just like those Assembly developers
| thought compiling via Assembly text generation and feeding
| into an Assembly would still be around.
| achierius wrote:
| > just like those Assembly developers thought compiling via
| Assembly text generation and feeding into an Assembly would
| still be around
|
| Confused by what you mean. Is this not the case?
| pjmlp wrote:
| No, only primitive UNIX toolchains still do this, most
| modern compilers generate machine code directly, without
| having to generate Assembly text files and executing the
| Assembler process on it.
|
| You can naturally revert to old ways, by asking for the
| Assembly manually, and call the Assembler yourself.
| EasyMarion wrote:
| solving real problems is the core of it, but for a lot of
| people the joy and meaning come from how they solve them too.
| the shift to AI tools might feel like outsourcing the
| interesting part, even if the outcome is still useful. side
| projects will stick around for sure, but i think it's fair to
| ask what the day-to-day feels like when more of it becomes
| reviewing and prompting rather than building.
| ToucanLoucan wrote:
| > Solving problems for real people. Isn't the answer here kind
| of obvious?
|
| Look at the majority of the tech sector for the last ten years
| or so and tell me this answer again.
|
| Like I guess this is kind of true, if "problems for real
| people" equals "compensating for inefficiencies in our system
| for people with money" and "solutions" equals "making a poor
| person do it for them and paying them as little as legally
| possible."
| tptacek wrote:
| Those of us who write software professionally are literally
| in a field premised on automating other people's jobs away.
| There is no profession with less claim to the moral high
| ground of worker rights than ours.
| ToucanLoucan wrote:
| > Those of us who write software professionally are
| literally in a field premised on automating other people's
| jobs away.
|
| Depends what you write. What I work on isn't about
| eliminating jobs at all, if anything it creates them. And
| like, actual, good jobs that people would want, not, again,
| paying someone below the poverty line $5 to deliver an
| overpriced burrito across town.
| tptacek wrote:
| I think most of the time when we tell ourselves this,
| it's cope. Software is automation. "Computers" used to be
| people! Literally, people.
| ToucanLoucan wrote:
| I'm unable and unwilling to shadowbox with what you think
| I'm actually experiencing.
| tptacek wrote:
| That's fine; read it as me speaking to the whole thread,
| not challenging you directly. Technology drives economic
| productivity; increasing economic productivity generally
| implies worker displacement. That workers come out ahead
| in the long run (they have in the past; it's obviously
| not a guarantee) is besides my point. Software is
| automating software development away, the same way it
| automated a huge percentage of (say) law firm billable
| hours away. We'd better be ready to suck it up!
| myk9001 wrote:
| > That workers come out ahead in the long run (they have
| in the past...)
|
| Would you mind naming a few instance of the workers
| coming out ahead?
| tptacek wrote:
| Sure. Compare the quality of life of the Computers to
| that of any stably employed person today who owns a
| computer.
| myk9001 wrote:
| Got it, you're talking about workers getting ahead as a
| category -- no objections to that.
|
| I doubt the displaced computers managed to find a better
| job on average. Probably even their kids were
| disadvantaged since the parents had fewer options to
| support their education.
|
| So, who knows if this specific group of people and their
| descendants ever fully recovered let alone got ahead.
| tptacek wrote:
| My argument is explicitly not premised on the claim that
| productivity improvements reliably work out to the
| benefit of existing workers. It's that practicing
| commercial software developers are agents of economic
| productivity, whether anticapitalist developers are happy
| about that or not, and have really no moral standing to
| complain about their jobs (or the joy in those jobs)
| being automated away. That's what increased economic
| productivity means: more getting done with less labor.
| myk9001 wrote:
| > "Computers" used to be people! Literally, people.
|
| Not always. Recruitment budgets have limits, so it's a
| fixed number of employees either providing services to a
| larger number of customers thanks to software, or serving
| fewer customers or do so less often without the software.
| tptacek wrote:
| https://en.wikipedia.org/wiki/Computer_(occupation)
| myk9001 wrote:
| Thank you for the link, the reference you're making
| slipped past me. That said, I think my point still holds:
| software doesn't always have to displace workers, it can
| also help current employees scale their efforts when
| bringing on more people isn't possible.
| smj-edison wrote:
| Bit of a tangent but...
|
| Haven't we been automating jobs away since the industrial
| revolution? I know AI may be an exception to this trend,
| but at least with classical programming, demand goes up,
| GDP per capita goes up, and new industries are born.
|
| I mean, there's three ways to get stuff done: do it
| yourself, get someone else to do it, or get a machine to do
| it.
|
| #2 doesn't scale, since someone still has to do it. If we
| want every person to not be required to do it (washing,
| growing food, etc), #3 is the only way forward. Automation
| and specialization have made the unthinkable possible for
| an average person. We've a long way to go, but I don't see
| automation as a fundamentally bad thing, as long as there's
| a simultaneous effort to help (especially those who are
| poor) transition to a new form of working.
| ToucanLoucan wrote:
| > as long as there's a simultaneous effort to help
| (especially those who are poor) transition to a new form
| of working.
|
| Somehow everyone who says this misses that never in the
| history of the United States (and most other countries
| tbh) has this been true.
|
| We just consign people to the streets in industrial
| quantity. More underserved to act as the lubricant for
| capitalism.
| smj-edison wrote:
| But... My local library has a job searching program? I
| have a friend who's learning masonry at a government
| sponsored training program? It seems the issue is not
| that resources don't exist, but that these people don't
| have the time to use them. So it's unfair to say they
| don't exist. Rather, it seems they're structured in an
| unhelpful way for those who are working double jobs, etc.
|
| I see capitalism invoked as a "boogey man" a lot, which
| fair enough, you can make an emotional argument, but it's
| not specific enough to actually be _helpful_ in coming up
| with a solution to help these people.
|
| In fact, capitalism has been the exact thing that has
| lifted so many out of poverty. Things can be
| simultaneously bad and also have gotten better over time.
|
| I would argue that the biggest issue is education, but
| that's another tangent...
| ToucanLoucan wrote:
| > So it's unfair to say they don't exist. Rather, it
| seems they're structured in an unhelpful way for those
| who are working double jobs, etc.
|
| I'll be sure to alert the next person I encounter working
| UberEats for slave wages that the resources exist that
| they cannot use. I'm sure this difference will impact
| their lives greatly.
|
| Edit: My point isn't that UberEats drivers make slave
| wages (though they do): My point is that from the POV of
| said people and others who need the aforementioned
| resources, whether they don't exist or exist and are
| unusable is fucking irrelevant.
| tptacek wrote:
| At some point, you've stopped participating in good faith
| with the thread and are instead trying to push it towards
| some other topic; in your case, apparently, a moral
| challenge against Uber. I think we get it; can you stop
| supplying superficial rebuttals to every point made with
| "but UberEats employs [contracts] wave slaves"?
| smj-edison wrote:
| Slave wages? Like the wages for a factory worker in
| 1918[1]? $1300 after adjusting for inflation. And that
| was gruelling work from dawn to dusk, being locked into a
| building, and nickel and dimed by factory managers. (See
| the triangle shirtwaist factory). The average Uber wage
| is $20/hour[2]. Say they use 2 gallons of gas (60 mph at
| 30 mpg) at $5/gallon. That comes out to $10/hour, which
| is not great, but _they 're not being locked into
| factories and working from dawn to dusk and being fired
| when sick_. Can you not see that this is progress? It's
| not great, we have a lot of progress to make, but it sure
| beats starving to death in a potato famine.
|
| [1] https://babel.hathitrust.org/cgi/pt?id=mdp.3901502238
| 3221&se...
|
| [2] https://www.indeed.com/cmp/Uber/salaries/Driver
| (select United States as location)
| Nevermark wrote:
| > Slave wages? Like the wages for a factory worker in
| 1918[1]? $1300 after adjusting for inflation.
|
| I think they were using "slave wages" as a non-literal
| relative term to the era.
|
| As you did.
|
| A hundred years before your example, the "slave wages"
| were actually slave wages.
|
| I think it's fair to say a lot of gig workers, especially
| those with families, are having a very difficult time
| economically.
|
| I expect gig jobs lower unemployment substantially, due
| to being convenient and easy to get, and potentially
| flexible with hours, but they lower average employment
| compensation.
| smj-edison wrote:
| > I think it's fair to say a lot of gig workers,
| especially those with families, are having a very
| difficult time economically.
|
| Great point. I wonder if this has to do with the current
| housing crisis and cost of utilities... Food has never
| been more affordable, in fact free with food banks and
| soup kitchens. But (IMHO) onerous zoning has really
| slowed down development and driven up prices.
|
| Another cost is it's pretty much impossible to do
| anything without a smartphone and internet. I suppose
| libraries have free internet, but being able to get to
| said library is another issue.
|
| And like you said, contract work trades flexibility for
| benefits, and that gets exploited by these companies.
|
| I guess it just sucks sometimes because these issues are
| super hairy (shut down Uber, great, now you've just put
| everyone out of a job). "For every complex problem there
| is a solution which is clear, simple, and wrong."
| smj-edison wrote:
| Replying to your edit: it is relevant, because it means
| people are trying but it isn't working. When people
| aren't trying, you have to get people to start trying.
| When people are trying but it isn't working, you have to
| help change the approach. Doubling down on a failing
| policy (e.g. we just need to create more resources) is
| failing to learn from the past.
| jll29 wrote:
| We have always automated, because we can.
|
| What is qualitatively different this time is that it
| affects intellectual abilities - there is nothing higher
| up in the work "food chain". Replacing physical work you
| could always argue you'd have time to focus on making
| decisions. Replacing decision making might mean telling
| people go sit on the beach and take your universal basic
| income (UBI) cheque, we don't need you anymore.
|
| Sitting on the beach is not as nice as it sounds for
| some; if you don't agree, try doing it for 5 years. Most
| people require work to have some sense of purpose, it
| gives identity, and it structures their time.
|
| Furthermore, if you replaced lorry drivers with self-
| driving cars, you'd destroy the most commonly held job in
| North America as well as South America, and don't tell me
| that they can be retrained to be AI engineers or social
| media influencers instead (some can only be on the road,
| some only want to be on the road).
| smj-edison wrote:
| I agree that we have been able to automate a lot of jobs,
| but it's not like intellectual jobs have completely
| replaced physical labor. Electricians, phlebotomists,
| linemen, firefighters, caregivers, etc, etc, are jobs
| that current AI approaches don't even scratch. I mean,
| Boston dynamics has barely been able to get a robot to
| _walk_.
|
| So no, we don't need to retrain them to be AI engineers
| if we have an active shortage of electricians and
| plumbers. Now, perhaps there aren't enough jobs--I
| haven't looked at exact numbers--but we still have a long
| ways to go before I think everything is automated.
|
| Everything being slop seems to be the much more likely
| issue in my eyes[1].
|
| [1] https://titotal.substack.com/p/slopworld-2035-the-
| dangers-of...
| Verdex wrote:
| Speak for yourself.
|
| I've worked in a medical space writing software so that
| people can automate away the job that their bodies used to
| do before they broke.
| mopenstein wrote:
| You're automating the 1's and 0's. There could be
| millions of people in an assembly like line of buttons,
| being paid minimum wage to press either the 1 or 0 button
| to eventually trigger the next operation.
|
| Now all those jobs are gone because of you.
| simonw wrote:
| I often think about the savage job-destroying nature of the
| open source community: hundreds of thousands of developers
| working tirelessly to unemploy as many of their peers as
| possible by giving away the code they've written for free.
|
| (Interesting how people talk about AI destroying
| programming jobs all the time, but rarely mention the
| impact of billions of dollars of code being given away.)
| chubot wrote:
| Would vim or python be created by a company? It's hard to
| see how they take jobs away
|
| Open source software is not just different in the
| license, it's different in the design
|
| Linux also doesn't take jobs away - the majority of
| contributors are paid by companies, afaik
| simonw wrote:
| Right: that's the point. Open source has created millions
| of jobs by increasing the value that individual software
| developers can provide.
| frollogaston wrote:
| Yeah I see it as fair game
| JohnFen wrote:
| > Those of us who write software professionally are
| literally in a field premised on automating other people's
| jobs away.
|
| How true that is depends on what sort of software you
| write. Very little of what I've accomplished in my career
| can be fairly described as "automating other people's jobs
| away".
| concats wrote:
| "Ten year contract you say?"
|
| "Yes, yes... Satellites stay in orbit for a while. What
| about it?"
|
| "Looks a bit cramped in there."
|
| "Stop complaining, at least it's a real job, now get in,
| we're about to launch."
| milesrout wrote:
| Automating jobs away is _good_ for workers. Not bad. Don 't
| you start repeating ignorant socialist nonsense. You are
| better than that.
| 6747636484 wrote:
| > Automating jobs away is good for workers. Not bad.
|
| Sure, if you completely disregard the past 200 years or
| so of history.
| JohnFen wrote:
| > Solving problems for real people. Isn't the answer here kind
| of obvious?
|
| No. There are a thousand other ways of solving problems for
| real people, so that doesn't explain why some choose software
| development as their preferred method.
|
| Presumably, the reason for choosing software development as the
| method of solving problems for people is because software
| development itself brings joy. Different people find joy in
| different aspects even of that, though.
|
| For my part, the stuff that AI is promising to automate away is
| much of the stuff that I enjoy about software development. If I
| don't get to do that, that would turn my career into miserable
| drudgery.
|
| Perhaps that's the future, though. I hope not, but if it is,
| then I need to face up to the truth that there is no role for
| me in the industry anymore. That would pretty much be a life
| crisis, as I'd have to find and train for something else.
| fragmede wrote:
| I'm probably just not as smart or creative as you, but say my
| problem is I have a ski cabin that I want to rent it to
| strangers for money. Nevermind a thousand, What are 100 ways
| without using software that I could do something about that,
| vs listing it on Airbnb?
| JohnFen wrote:
| I was speaking about solving people's problems generally.
| It's easy to find specific problems that are best addressed
| with software, just as it's easy to find specific problems
| that can't be addressed with software.
| simonw wrote:
| "There are a thousand other ways of solving problems for real
| people, so that doesn't explain why some choose software
| development as their preferred method."
|
| Software development is almost unique in the scale that it
| operates at. I can write code once and have it solve problems
| for dozens, hundreds, thousands or even millions of people.
|
| If you want your work to solve problems for large numbers of
| people I have trouble thinking of any other form of work
| that's this accessible but allows you to help this many
| others.
|
| Fields like civil engineering are a _lot_ harder to break
| into!
| threatofrain wrote:
| > No. There are a thousand other ways of solving problems for
| real people, so that doesn't explain why some choose software
| development as their preferred method.
|
| I don't see why we should seek an explanation if there are
| thousands of ways to be useful to people. Is being a lawyer
| particularly better than being an accountant?
| JodieBenitez wrote:
| > That would pretty much be a life crisis, as I'd have to
| find and train for something else.
|
| There's inertia in the industry. It's not like what you're
| describing could happen in the blink of an eye. You may well
| be at the end of your career when this prophecy is fulfilled,
| if it ever comes true. I sure will be at the end of mine and
| I'll probably work for at least another 20 years.
| jll29 wrote:
| The inertia argument is real, and I would compare it to the
| mistaken believe of some at IBM in the 1970s that SQL would
| be used by managers to query relational databases directly,
| so no programming was needed anymore.
|
| And what happened? Programmers make the queries and embed
| them into code that creates dashboards that managers look
| at. Or managers ask analysts who have to interpret the
| dashboards for them... It rather created a need for more
| programmers.
|
| Compare embedded SQL with prompts - SQL queries compared to
| assembler or FORTRAN code is closer to English prose for
| sure. Did it take some fun away? Perhaps, if manually
| traversing a network database is fun to anyone, instead of
| declaratively specifying what set of data to retrieve. But
| it sure gave new fun to people who wanted to see results
| faster (let's call them "designers" rather than "coders"),
| and it made programming more elegant due to the
| declarativity of SQL queries (although that is cancelled
| out again by the ugliness of mixing two languages in the
| code).
|
| Maybe the question is: Does LLM-based coding enable a new
| kind of higher level "design flow" to replace "coding
| flow"? (Maybe it will make a slightly different group of
| people happy?)
| submain wrote:
| This echoes my sentiment that LLMs are higher level
| programming languages. And, as every layer of
| abstraction, they add assumptions that may or may not fit
| the use case. The same way we optimize SQL queries by
| knowing how the database makes a query plan, we need to
| optimize LLM outputs, specially when the assumptions
| given are not ideal.
| SkyBelow wrote:
| So if I'm understanding this, there are two central arguments
| being made here.
|
| 1. AI Coding leads to a lack of flow.
|
| 2. A lack of flow leads to a lack of joy.
|
| Personally, I can't find myself agreeing with the first argument.
| Flow happens for me when I use AI. It wouldn't surprise me if
| this differed developer to developer. Or maybe it is the size of
| requests I'm making, as mine tend to be on the smaller size where
| I already have an idea of what I want to write but think the AI
| can spit it out faster. I also don't really view myself as prompt
| engineering; instead it feels more like a natural back and forth
| with the AI to refine the output I'm looking for. There are times
| it gets stubborn and resistant to change but that is generally a
| sign that I might want to reconsider using AI for that particular
| task.
| simonw wrote:
| One trend I've been finding interesting over the past year is
| that a lot of engineers I know who moved into engineering
| management are writing code again - because LLMs mean they can
| get something productive done in a couple of hours where
| previously it would have taken them a full day.
|
| Managers usually can't carve out a full day - but a couple of
| hours is manageable.
|
| See also this quote from Gergely Orosz: Despite
| being rusty with coding (I don't code every day these
| days): since starting to use Windsurf / Cursor with the
| recent increasingly capable models: I am SO back to being
| as fast in coding as when I was coding every day "in the
| zone" [...] When you are driving with a firm grip on
| the steering wheel - because you know exactly where you
| are going, and when to steer hard or gently - it is just
| SUCH a big boost. I have a bunch of side
| projects and APIs that I operate - but usually don't like
| to touch it because it's (my) legacy code. Not
| any more. I'm making large changes, quickly. These
| tools really feel like a massive multiplier for
| experienced devs - those of us who have it in our head
| exactly what we want to do and now the LLM tooling can
| move nearly as fast as my thoughts!
|
| From https://x.com/GergelyOrosz/status/1914863335457034422
| smithclay wrote:
| This is also true of (technical) product managers from an
| engineering background.
|
| It's been amazing to spin up quick React prototypes during a
| lunch break of concepts and ideas for quick feedback and
| reactions.
| skydhash wrote:
| > _a lot of engineers I know who moved into engineering
| management are writing code again_
|
| They should be managing instead. Not to say that they can't
| code their own tools, but the statement sounds like a
| construction supervisor nailing studs or welding steel bars.
| Can work for a small team, but that's not your primary job.
| simonw wrote:
| Hard disagree.
|
| I've been an engineering manager and it's a lot easier to
| make useful decisions that your team find credible if you
| can keep your toes in the water just a little bit.
|
| My golden rule is to stay out of the critical path of
| shipping a user-facing feature: if a product misses a
| deadline because the engineering manager slipped on their
| coding commitments, that's bad.
|
| The trick is to use your minimal coding time for things
| that are outside of that critical path: internal tools,
| prototypes, helping review code to get people unstuck, that
| kind of thing.
| IshKebab wrote:
| Yeah I think flow is more about holding a lot of knowledge
| about the code and its control flow in your head at a time. I
| think there's an XKCD or something that illustrates that.
|
| You still need to do that if you're using AI, otherwise how do
| you know if it's actually done a good job? Or are people really
| just vibe coding without even reading the code at all? That
| seems... unlikely to work.
| drooby wrote:
| I've been singin' this song for years. We should return to Small
| Data. Hand picked, locally sourced, data. Data I can buy at a mom
| and pop shop. Data I can smell, data I can feel, data I can yearn
| for.
|
| Gone are those days.
| smj-edison wrote:
| I'm guessing you're referencing KRAZAM?
| https://youtu.be/eDr6_cMtfdA
| thunkle wrote:
| https://m.youtube.com/watch?v=eDr6_cMtfdA
| kristjank wrote:
| _When we outsource the parts of programming that used to demand
| our complete focus and creativity, do we also outsource the
| opportunity for satisfaction? Can we find the same fulfillment in
| prompt engineering that we once found in problem-solving through
| code?_
|
| Most of AI-generated programming content I use are
| comments/explanations for legacy code, closely followed by
| tailored "getting started" scripts and iterations on
| visualisation tasks (for shitty school assignments that want my
| pyplots to look nice). The rest requires an understanding, which
| AI can help you achieve faster (it's read many a book related to
| the topic, so it can recall information a lot like an experienced
| colleague may), but it can't confer capital K Knowledge or
| understanding upon you. Some of the tasks it performs are
| grueling, take a lot of time to do manually, and provide little
| mental stimulation. Some may be described as lobotomizing and (in
| my opinion) may mentally damage you in the "Jack Torrance
| typewriter" kinda way.
|
| It makes me able to work on the fun parts of my job which possess
| the qualities the article applauds.
| pdimitar wrote:
| I don't know man, maybe prompt most of your work, eyeball it and
| verify it rigorously (which if you cannot do, you should
| absolutely never touch an LLM!), run a script to commit and push
| after 3 hours and then... work on whatever code makes you happy
| without using an LLM?
|
| Let's stop pretending or denying it: most of us would delegate
| our work code to somebody else or something else if we could.
|
| Still, prompting LLMs well requires eloquence and expressiveness
| that many programmers don't have. I have started deriving a lot
| of value from those LLMs I chose to interact with by specifying
| clear boundaries on what's the priority and what can wait for
| later and what should be completely ignored due to this or that
| objective (and a number of other parameters I am giving them).
| When you do that well, they are extremely useful.
| simonw wrote:
| > "verify it rigorously (which if you cannot do, you should
| absolutely never touch an LLM!)"
|
| 100% this.
| williamstein wrote:
| Totally. And yet rigorous proof is very difficult. Having
| done some mathematics involving nontrivial proofs, I respect
| even more how difficult rigor is.
| pdimitar wrote:
| Ah, I absolutely don't verify code in the mathematical
| sense of the word. More like utilize strong static typing
| (or hints / linters in weaker typed languages) and write a
| lot of tests.
|
| Nothing is truly 100% safe or free of bugs. What I meant
| with my comment up-thread was that I have enough experience
| to have a fairly quick and critical eye of code, and that
| has saved my skin many times.
| only-one1701 wrote:
| I like writing code more than reading it, personally.
| simonw wrote:
| Yeah, I think that's pretty common. It took me 15+ years of
| my own career before I got over my aversion to spending
| significant amounts of time reading through code that I
| didn't write myself.
| pdimitar wrote:
| We all do. But more often than not we have to learn to do
| surgical incisions in order to do our task for the day.
| It's what truly distinguishes a professional.
| th0ma5 wrote:
| You have an automation bias. "Surely this thing knows more
| than me it must be right." and there is no reason to believe
| that, but you will.
| simonw wrote:
| How did you get there from me agreeing 100% with someone
| who said that you should be ready to verify everything an
| LLM does for you and if you're not willing to do that you
| shouldn't use them at all?
|
| Do you ever read my comments, or do you just imagine what I
| might have said and reply to that?
| troupo wrote:
| > Still, prompting LLMs well requires eloquence and
| expressiveness that many programmers don't have
|
| It requires magical incantations that may or may not work and
| where a missing comma in a prompt can break the output just as
| badly as the US waking up and draining compute resources.
|
| Has nothing to do with eloquence
| hellisothers wrote:
| > Let's stop pretending or denying it: most of us would
| delegate our work code to somebody else or something else if we
| could.
|
| I don't think this is the case, if anything the opposite is
| true. Most of us would like to do the work code but have
| realized, at some career point, that you're paid more to
| abstract yourself away from that and get others to do it either
| in technical leadership or management.
| pdimitar wrote:
| Well, does not help that a lot of work tasks are meaningless
| drudgery that we collectively should have trivialized and
| 100% automated at least 20 years. That was kind of the core
| my point: a lot of work tasks are just plain BS.
| diggan wrote:
| > I don't think this is the case, if anything the opposite is
| true
|
| I'll be a radical and say that I think it depends and is very
| subjective.
|
| Author above you seems to enjoy working on code by itself.
| You seem to have a different motivation. My motivation is
| solving problems I encounter, code just happen to be one way
| out of many possible ones. The author of the submission
| article seems to love the craft of programming in itself,
| maybe the problem itself doesn't even matter. Some people
| program just for the money, and so on.
| jimbob45 wrote:
| The act of coding preserves your skills for that all-important
| verification step. No coding and the whole system falls apart.
| codr7 wrote:
| Exactly, how are you supposed to verify anything when you
| don't have any skills left beyond prompting.
| pdimitar wrote:
| You don't. That's why you don't use an LLM most of the
| time. I was talking about cases where either the tasks were
| too boring or required an expertise that I didn't have at
| the time.
|
| Thought it was obvious.
| 6747636484 wrote:
| > or required an expertise that I didn't have at the time
|
| How do you verify code that you don't have the expertise
| to write on your own?
| pdimitar wrote:
| Good question. I run it by the docs that intimidated me
| before. Because I did not ask the LLM for the code only;
| I asked it to fully explain what did it change and why.
| pdimitar wrote:
| Absolutely. That's why I don't give the LLM the reins for
| long, nor do I tell it to do the whole thing. I want to keep
| my mind sharp and my abilities honed.
| only-one1701 wrote:
| I see this "prompting is an art" stuff a lot. I gave Claude a
| list of 10 <Route> objects and asked it to make an adjustment
| to all of them. It gave me 9 back. When I asked it to try again
| it gave me 10 but one didn't work. What's "prompt engineering"
| there, telling it to try again until it gets it right? I'd
| rather just do it right the first time.
| codr7 wrote:
| We used to make fun of and look down on coders who mindlessly
| copy paste and mash the compile button until the code runs,
| for good reasons.
| pdimitar wrote:
| Did you skip the "rigorously verify the LLM code" part of
| my comment on purpose, just to show contempt?
| tmpz22 wrote:
| Prompt engineering is just trying that task on a variety of
| models and prompt variations until you can better understand
| the syntax needed to get the desired outcome, if the desired
| outcome can be gotten.
|
| Honestly you're trying to prove AI is ineffective by telling
| us it didn't work with your ineffective protocol. That is not
| a strong argument.
| only-one1701 wrote:
| What should I have done there? Tell it to make sure that it
| gives me all 10 objects I give it back? Tell it to not put
| brackets in the wrong place? This is a real question ---
| what would you have done?
| simonw wrote:
| How long ago was this? I'd be surprised to see Claude 3.7
| Sonnet make a mistake of this nature.
|
| Either way, when a model starts making dumb mistakes like
| that these days I start a fresh conversation (to blow
| away all of the bad tokens in the current one), either
| with that model or another one.
|
| I often switch from Claude 3.7 Sonnet to o3 or o4-mini
| these days. I paste in the most recent "good" version of
| the thing we're working on and prompt from there.
| th0ma5 wrote:
| Lol, "it didn't do it... and if it did it didn't mean
| it... and if it meant it it surely can't mean it now."
| This is unserious.
| gotimo wrote:
| this is the rhetoric that you will see replied to
| effectively any negative experience with LLMs in
| programming.
| simonw wrote:
| A full two thirds of the comment you replied to there
| were me saying "when these things start to make dumb
| mistakes here are the steps I take to fix the problem".
| tmpz22 wrote:
| In no particular order:
|
| * experiment with multiple models, preferably free high
| quality models like Gemini 2.5. Make sure you're using
| the right model, usually NOT one of the "mini" varieties
| even if its marketed for coding.
|
| * experiment with different ways of delivering necessary
| context. I use repomix to compile a codebase to a text
| file and upload that file. I've found more integrated
| tooling like cursor, aider, or copilot, are less
| effective then dumping a text file into the prompt
|
| * use multi-step workflows like the one described [1] to
| allow the llm to ask you questions to better understand
| the task
|
| * similarly use a back-and-forth one-question-at-a-time
| conversation to have the llm draft the prompt for you
|
| * for this prompt I would focus less on specifying 10
| results and more about uploading all necessary modules
| (like with repomix) and then verifying all 10 were
| completed. Sometimes the act of over specifying results
| can corrupt the answer.
|
| [1]: https://harper.blog/2025/02/16/my-llm-codegen-
| workflow-atm/
|
| I'm a pretty vocal AI-hater, partly because I use it day
| to day and am more familiar with its shortfalls - and I
| hate the naive zealotry so many pro-AI people bring to AI
| discussions. BUTTT we can also be a bit more scientific
| in our assessments before discarding LLMs - or else we
| become just like those naive pro-AI-everything zealots.
| pdimitar wrote:
| You should have dropped the LLM, of course. They are not
| replacing us the programmers anytime soon. If they can be
| used as an enabler / booster, cool, if not, back to
| business as usual. You can only win here. You can't lose.
| pdimitar wrote:
| Then don't use it? Nobody is making you.
|
| I am also barely using LLMs at the moment. Even 10% of the
| time would be generous.
|
| What I was saying is that I have tried different ways of
| interacting with LLMs and was happy to discover that the way
| I describe stuff to another senior dev actually works quite
| fine with an LLM. So I stuck to that.
|
| Again, if an LLM is not up to your task, don't waste your
| time with it. I am not advocating for "forget everything you
| knew and just go ask Mr. AI". I am advocating for enabling
| and productivity-boosting. Some tasks I hate, for some I lack
| the deeper expertise, others are just verbose and require a
| ton of typing. If you can prompt the LLM well _and vet the
| code yourself after_ (something many commenters here
| deliberately omit so they can happily tear down their straw
| man) then the LLM will be a net positive.
|
| It's one more tool in the box. That's all there is to it
| really. No idea why people get so polarizing.
| codr7 wrote:
| I wouldn't, I got into software exactly because I enjoy solving
| problems and writing code. Verifying shitty, mindless, computer
| generated code is not something I would consider doing for all
| the money in the world.
| pdimitar wrote:
| 1. I work on enjoyable problems after I let the LLM do some
| of the tasks I have to do for money. The LLM frees me
| bandwidth for the stuff I truly love. I adore solving
| problems with code and that's not going to change ever.
|
| 2. Some of the modern LLMs generate very impressive code.
| Variables caching values that are reused several times,
| utility functions, even closure helpers scoped to a single
| function. I agree that when the LLM code's quality falls
| bellow a certain threshold then it's better in every way to
| just write it yourself instead.
| dingnuts wrote:
| > work on whatever code makes you happy without using an LLM?
|
| This isn't how it works, psychologically. The whole time I'm
| manual coding, I'm wondering if it'd be "easier" to start
| prompting. I keep thinking about a passage from The Road To
| Wigan Pier where Orwell addresses this effect as it related to
| the industrial revolution:
|
| >Mechanize the world as fully as it might be mechanized, and
| whichever way you turn there will be some machine cutting you
| off from the chance of working--that is, of living.
|
| >At a first glance this might not seem to matter. Why should
| you not get on with your 'creative work' and disregard the
| machines that would do it for you? But it is not so simple as
| it sounds. Here am I, working eight hours a day in an insurance
| office; in my spare time I want to do something 'creative', so
| I choose to do a bit of carpentering--to make myself a table,
| for instance. Notice that from the very start there is a touch
| of artificiality about the whole business, for the factories
| can turn me out a far better table than I can make for myself.
| But even when I get to work on my table, it is not possible for
| me to feel towards it as the cabinet-maker of a hundred years
| ago felt towards his table, still less as Robinson Crusoe felt
| towards his. For before I start, most of the work has already
| been done for me by machinery. The tools I use demand the
| minimum of skill. I can get, for instance, planes which will
| cut out any moulding; the cabinet-maker of a hundred years ago
| would have had to do the work with chisel and gouge, which
| demanded real skill of eye and hand. The boards I buy are ready
| planed and the legs are ready turned by the lathe. I can even
| go to the wood-shop and buy all the parts of the table ready-
| made and only needing to be fitted together; my work being
| reduced to driving in a few pegs and using a piece of
| sandpaper. And if this is so at present, in the mechanized
| future it will be enormously more so. With the tools and
| materials available then, there will be no possibility of
| mistake, hence no room for skill. Making a table will be easier
| and duller than peeling a potato. In such circumstances it is
| nonsense to talk of 'creative work'. In any case the arts of
| the hand (which have got to be transmitted by apprenticeship)
| would long since have disappeared. Some of them have
| disappeared already, under the competition of the machine. Look
| round any country churchyard and see whether you can find a
| decently-cut tombstone later than 1820. The art, or rather the
| craft, of stonework has died out so completely that it would
| take centuries to revive it.
|
| >But it may be said, why not retain the machine and retain
| 'creative work'? Why not cultivate anachronisms as a spare-time
| hobby? Many people have played with this idea; it seems to
| solve with such beautiful ease the problems set by the machine.
| The citizen of Utopia, we are told, coming home from his daily
| two hours of turning a handle in the tomato-canning factory,
| will deliberately revert to a more primitive way of life and
| solace his creative instincts with a bit of fretwork, pottery-
| glazing, or handloom-weaving. And why is this picture an
| absurdity--as it is, of course? Because of a principle that is
| not always recognized, though always acted upon: that so long
| as the machine is there, one is under an obligation to use it.
| No one draws water from the well when he can turn on the tap.
| One sees a good illustration of this in the matter of travel.
| Everyone who has travelled by primitive methods in an
| undeveloped country knows that the difference between that kind
| of travel and modern travel in trains, cars, etc., is the
| difference between life and death. The nomad who walks or
| rides, with his baggage stowed on a camel or an ox-cart, may
| suffer every kind of discomfort, but at least he is living
| while he is travelling; whereas for the passenger in an express
| train or a luxury liner his journey is an interregnum, a kind
| of temporary death. And yet so long as the railways exist, one
| has got to travel by train--or by car or aeroplane. Here am I,
| forty miles from London. When I want to go up to London why do
| I not pack my luggage on to a mule and set out on foot, making
| a two days of it? Because, with the Green Line buses whizzing
| past me every ten minutes, such a journey would be intolerably
| irksome. In order that one may enjoy primitive methods of
| travel, it is necessary that no other method should be
| available. No human being ever wants to do anything in a more
| cumbrous way than is necessary. Hence the absurdity of that
| picture of Utopians saving their souls with fretwork. In a
| world where everything could be done by machinery, everything
| would be done by machinery. Deliberately to revert to primitive
| methods to use archaic took, to put silly little difficulties
| in your own way, would be a piece of dilettantism, of pretty-
| pretty arty and craftiness. It would be like solemnly sitting
| down to eat your dinner with stone implements. Revert to
| handwork in a machine age, and you are back in Ye Olde Tea
| Shoppe or the Tudor villa with the sham beams tacked to the
| wall.
|
| >The tendency of mechanical progress, then, is to frustrate the
| human need for effort and creation. It makes unnecessary and
| even impossible the activities of the eye and the hand. The
| apostle of 'progress' will sometimes declare that this does not
| matter, but you can usually drive him into a comer by pointing
| out the horrible lengths to which the process can be carried.
|
| sorry it's so long
| jaredcwhite wrote:
| > most of us would delegate our work code to somebody else or
| something else if we could
|
| Not me. I code because I love to code, and I get paid to do
| what I love. If that's not you...find a different profession?
| pdimitar wrote:
| Needlessly polarizing. I love coding since 12 years old (so
| more than 30 years at this point) but most work tasks I'm
| given are fairly boring and uninteresting and don't move
| almost any science or knowledge forward.
|
| Delegating part of that to an LLM so I can code the stuff I
| love is a big win for my motivation and is making me doing
| the work tasks with a bit more desire and pleasure.
|
| Please don't forget that most of us out there can't code for
| money anything that their heart wants. If you can, I'd be
| happy for you (and envious) but please understand that's also
| a fairly privileged life you'd be having in that case.
| FuckButtons wrote:
| > Let's stop pretending or denying it: most of us would
| delegate our work code to somebody else or something else if we
| could.
|
| Hard disagree, I get to hyperfocus on making magical things
| that surprise and delight me every day.
| NineWillows wrote:
| Nice. I've got a whole lot of magical things that I need
| built for my day job. Want to connect so I can hand the work
| over to you? I'll still collect the paychecks, but you can
| have the joy. :)
| pdimitar wrote:
| I'm disappointed that several of you so easily skipped over
| the "work" word. It is doing a lot of work in that sentence.
| elicksaur wrote:
| >most of us would delegate our work code to somebody else or
| something else if we could.
|
| Laughably narrow-minded projection of your own perspective on
| others.
| pdimitar wrote:
| There is context, that you laughably skipped. You do you.
| elicksaur wrote:
| What context did I skip? It seems like the statement stands
| on its own.
| pdimitar wrote:
| Obviously my comment was shortened for brevity and it is
| kind of telling that you couldn't tell and rushed to tear
| down the straw man that you saw.
|
| Answering your question:
|
| - That there are annoying tasks none of us look forward
| to doing.
|
| - That sometimes you have knowledge gaps and LLMs serve
| as a much better search engine.
|
| - That you have a bad day but the task is due tomorrow.
| Happened to us all.
|
| I am not "laughably projecting on others", no. I am
| enumerating human traits and work conditions that we all
| have or had.
|
| OBVIOUSLY I did not mean that I would delegate all my
| work tomorrow if I could. I actually do love programming.
| jappgar wrote:
| We all delegate. Did you knit your own clothes or is that too
| boring for you?
|
| Enjoying to code/knit is fine but we can no longer expect to
| get paid well to do it.
| elicksaur wrote:
| Each activity we engage in has different use, value, and
| subjective enjoyment to different people. Some people love
| knitting! Personally, I do know how to sew small tears,
| which is more than most people in the US these days.
|
| Just because I utilize the services of others for some
| things does not mean that it should be expected I _want_ to
| utilize the service of others for _all_ things.
|
| This is a preposterous generalization and exactly why I
| said the OP premise is laughable.
|
| Further, you've shifted OP's point from subjective
| enjoyment of an activity to getting "paid well" - this is
| an irrelevant tangent to whether "most" people in general
| would delegate work if they could.
| ang_cire wrote:
| > most of us would delegate our work code to somebody else or
| something else if we could.
|
| I saw your objections to other comments on the basis of them
| seemingly not having a disdainful attitude towards coding they
| do for work, specifically.
|
| I absolutely do have tasks, coding included, that I don't want
| to do, and find no joy in. If I can have my manager assign the
| task to someone else, great! But using an LLM isn't that, so
| I'm still on the hook for ensuring all the most boring parts of
| that task (bugfixing, reworks, integration, tests, etc) get
| done.
|
| My experience with LLMs is that they simply shift the division
| of time away from coding, and towards all the other bits.
|
| And it can't possibly just be about prompting. How many
| hundreds of lines of prompting would you need to get an LLM to
| understand your coding conventions, security baselines,
| documentation reqs, logging, tests, allowed libraries, OSS
| license restrictions (i.e. disallowed libraries), etc? Or are
| you just refactoring for all that afterwards?
|
| Maybe you work somewhere that doesn't require that level of
| rigor, but that doesn't strike me as a good thing to be
| entrenching in the industry by increasing coders' reliance on
| LLMs.
| pdimitar wrote:
| A super necessary context here is that I barely use LLM at
| all still. Maybe I should have said so but I figured that too
| much nuance would ruin a top-level comment and mostly
| casually commented on a tradeoff of using or not using LLMs.
|
| Where I use LLMs:
|
| 1. Super boring and annoying tasks. Yes, my prompts for those
| include various coding style instructions, requests for small
| clarifying comments where the goal of the code is not
| obvious, tests. So, no OSS license restrictions. Libraries I
| specify most of the times I used LLMs (and only once did I
| ask it to suggest a library). Logging and telemetry I add
| myself. So long story short, I use the LLM to show me a draft
| of a solution and then mercilessly refactor it to match my
| practices and guidelines. I don't do 50 exchanges out of
| laziness, no.
|
| 2. Tasks where my expertise is lacking. I recently used an
| LLM to help me with making a `.clone()`-heavy Rust code to
| become nearly zero-copy for performance reasons -- it is a
| code on a hot path. As much as I love Rust and I am fairly
| good at it (realistically I'm IMO at 7.5 / 10), all the
| lifetimes and zero-copy semantics I still don't know yet. A
| long session with an LLM after, I emerged both better
| educated and with a faster code. IMO a win-win.
| ang_cire wrote:
| That's interesting, especially wrt the Rust example. I
| actually like LLMs as reference docs, I just don't trust
| their code as far as I can throw it.
|
| Thanks for the follow-up!
| JeremyMorgan wrote:
| One of the things people often overlook don't talk about in this
| arguments is the manager's point of view and how it's
| contributing to the shakeups in this industry.
|
| As a developer I'm bullish on coding agents and GenAI tools,
| because they can save you time and can augment your abilities.
| I've experienced it, and I've seen it enough already. I love
| them, and want to see them continue to be used.
|
| I'm bearish on the idea that "vibe coding" can produce much of
| value, and people without any engineering background becoming
| wildly productive at building great software. I know I'm not
| alone. If you're a good problem solver who doesn't know how to
| code, this is your gateway. And you better learn what's happening
| with the code while you can to avoid creating a huge mess later
| on.
|
| Developers argue about the quality of "vibe coded" stuff. There
| are good arguments on both sides. At some point I think we all
| agree that AI will be able generate high quality software faster
| than a human, someday. But today is not that day. Many will try
| to convince you that it is.
|
| Within a few years we'll see massive problems from AI generated
| code, and it's for one simple reason:
|
| Managers and other Bureaucrats do not care about the quality of
| the software.
|
| Read it again if you have to. It's an uncomfortable idea, but
| it's true. They don't care about your flow. They don't care about
| how much you love to build quality things. They don't care if
| software is good or bad they care about closing tickets and
| creating features. Most of them don't care, and have never cared
| about the "craft".
|
| If you're a master mason crafting amazing brickwork, you're
| exactly the same as some amateur grabbing some bricks from home
| depot and slapping a wall together. A wall is a wall. That's how
| the majority of managers view software development today. By the
| time that shoddy wall crumbles they'll be at another company
| anyway so it's someone else's problem.
|
| When I talk about the software industry collapsing now, and in a
| few years we're mired with garbage software everywhere, this is
| why. These people in "leadership" are salivating at the idea of
| finally getting something for nothing. Paying a few interns to
| "vibe code" piles of software while they high five each other and
| laugh.
|
| It will crash. The bubble will pop.
|
| Developers: Keep your skills sharp and weather out the storm. In
| a few years you'll be in high demand once again. When those walls
| crumble, they will need people who what they're doing to repair
| it. Ask for fair compensation to do so.
|
| Even if I'm wrong about all of this I'm keeping my skills sharp.
| You should too.
|
| This isn't meant to be anti-management, but it's based on what
| I've seen. Thanks for coming to my TED talk.
|
| * And to the original point, In my experience the tools interrupt
| the "flow" but don't necessarily take the joy out of it. I cannot
| do suggestion/autocomplete because it breaks my flow. I love
| having a chat window with AI nearby when I get stuck or want to
| generate some boilerplate.
| UncleEntity wrote:
| > If you're a master mason crafting amazing brickwork, you're
| exactly the same as some amateur grabbing some bricks from home
| depot and slapping a wall together.
|
| IDK, there's still a place in society for master masons to work
| on 100+ year old buildings built by other master masons.
|
| Same with the robots. They can implement solutions but I'm not
| sure I've heard of any inventing an algorithmic solution to a
| problem.
| lud_lite wrote:
| I think you are right with the building analogy. Most stuff
| built in the last 25 years is crap quality! But importantly
| looks nice. Needs to look nice at first.
| ahamilton454 wrote:
| I've been struggling with a very similar feeling. I too am a
| manager now. Back in the day there was something very fulfilling
| about fully understanding and comprehending your solution. I find
| now with AI tools I don't need to understand a lot. I find the
| job much less fulfilling.
|
| The funny thing is I agree with other comments, it is just kind
| of like a really good stack overflow. It can't automate the whole
| job, not even close, and yet I find the tasks that it cannot
| automate are so much more boring (the ones I end up doing).
|
| I envy the people who say that AI tools free them up to focus on
| what they care about. I haven't been able to achieve this
| building with ai, if anything it feels like my competence has
| decreased due to the tools. I'm fairly certain I know how to use
| the tools well, I just think that I don't enjoy how the job has
| evolved.
| blueboo wrote:
| The old joy may be gone. But the new joy is there, if you're
| receptive to it
| codr7 wrote:
| And which joy is that? Short sighted profits?
| plsbenice34 wrote:
| Injecting malware via flaws in the shitty programs, maybe
| iugtmkbdfil834 wrote:
| I think.. based on recent events.. that some of the corporate
| inefficiencies are very poorly captured. Last year we had an
| insane project that was thrown at us before end of the year,
| because, basically, company had a tiff with the vendor and would
| rather have us spend our time in meetings trying to do what they
| are doing rather than pay vendor for that thing. From simple
| money spent perspective, one would think company's simple amoral
| compass would be a boon.
|
| AI coding is similar. We just had a minor issue with ai generated
| code that was clearly not vetted as closely as it should have
| been making output it generated over a couple of months not as
| accurate as it should be. Obviously, it had to be corrected, then
| vetted and so on, because there is always time to correct
| things...
|
| edit: What I am getting at is the old-fashioned, penny smart, but
| pound foolish.
| throwaway20174 wrote:
| The catch is that when AI handles 95% or 99% of a task, people
| say great, don't need humans. 99% is great.
|
| But when that last 1% breaks and AI can't fix it. That's where
| you need the humans.
| codr7 wrote:
| By then the price will have increased quite a bit; if you want
| me to fix your AI crap, you're going to pay until it hurts.
| bix6 wrote:
| " Fast forward to today, and that joy of coding is decreasing
| rapidly. Well, I'm a manager these days, so there's that..."
|
| This sounds a more likely reason for losing your joy if your
| passion is coding.
| codr7 wrote:
| I've tried getting different AIs to say something meaningful
| about code, never got anything of value back so far. They can't
| even manage tab-completion well enough to be worth the validation
| effort for me.
| p0w3n3d wrote:
| Yeah I wonder how do the code look after such professional AI
| development. I tried ChatGPT 1o to ask it about simple C
| function - what errors are there. It answered only after I
| directly asked about the aspects I was expecting it to tell
| about. It means that if I didn't know that the LLM wouldn't
| tell me...
| bitwize wrote:
| Earlier this year, a hackernews started quizzing me about the
| size and scope of the projects I worked on professionally, with
| the implication that I couldn't _really_ be working on anything
| large or complex -- that I couldn 't _really_ be doing _serious_
| development, without using a full-fat IDE like IntelliJ. I wasn
| 't going to dox myself or my professional work just so he could
| reach a conclusion he's already arrived at. The point is, to this
| person, beyond a certain complexity threshold -- simple command-
| line tools, say -- an IDE was a must, otherwise you were just
| leaving productivity on the table.
|
| https://news.ycombinator.com/item?id=42511441
|
| People are going to be making the same judgements about AI-
| assisted coding in the near future. Sure, you could code
| everything yourself for your own personal enrichment, or simply
| because it's fun. But that will be a pursuit for your own time.
| In the realm of business, it's a different story: you are either
| proompting, or you're effectively stealing money from your
| employer because you're making suboptimal use of the tools
| available. AI gets you to something working in production so much
| faster that you'd be remiss not to use it. After all, as Milt and
| Tim Bryce have shown, the hard work in business software is in
| requirements analysis and design; programming is just the last
| translation step.
| lrvick wrote:
| So long as your experience and skill allows you to produce work
| of higher quality than average for your industry, then you will
| always have a job which is to review that average quality work,
| and surgically correct it when it is wrong.
|
| This has always been true in every craft, and it remains true for
| programmers in a post LLL world.
|
| Most training data is open source code written by novice to
| average programmers publishing their first attempts at things and
| thus LLMS are heavily biased to replicate the naive, slow,
| insecure code largely uninformed by experience.
|
| Honestly to most programmers early in their career right now, I
| would suggest spending more time reviewing code, and bugfixes,
| than writing code. Review is the skillset the industry needs most
| now.
|
| But you will need to be above average as a software reviewer to
| be employable. Go out into FOSSland and find a bunch of CVEs, or
| contribute perf/stability/compat fixes, proving you review and
| improve things better than existing automated tools.
|
| Trust me, there are bugs -everywhere- if you know how to look for
| them and proving you can find them is the resume you need now.
|
| The days of anyone that can rub two HTML tags together having a
| high paying job are over.
| nottorp wrote:
| > LLMS are heavily biased to replicate the naive, slow,
| insecure code largely uninformed by experience
|
| The one time i pasted LLM code without reviewing it it belonged
| on accidentally quadratic.
|
| It was obvious at first read, but probably not for a beginner.
| The accidental complexity was hidden behind API calls that
| weren't wrong, just grossly inefficient.
|
| Problem might be, if you lose the "joy" and the "flow" you'll
| stop caring about things like that. And software is bloated
| enough already.
| Kiro wrote:
| Can't relate at all. I've never had so much fun programming as I
| have now. All the boring and tedious parts are gone and I can
| finally focus on the code I love to write.
| auggierose wrote:
| The post focuses on flow, but depending on what you mean by it,
| it isn't necessarily a good thing. Trying to solve something
| almost too difficult usually gets you out of flow. You still need
| concentration, though.
|
| My main worry about AI is that people just keep using the garbage
| that exists instead of trying to produce something better,
| because AI takes away much of the pain of interacting with
| garbage. But most people are already perfectly fine using
| garbage, so probably not much will change here.
| bradley13 wrote:
| The author is already an experienced programmer. Let me toss in
| an anecdote about the next generation of programmers. Vibe
| coding: also called playing pinball with the AI, hoping something
| useful comes out.
|
| I taught a lecture in my first-semester programming course
| yesterday. This is in a program for older students, mostly
| working while going back to school. Each time, a few students are
| selected to present their code for an exercise that I pick
| randomly from those they were assigned.
|
| This guy had fancy slides showing his code, but he was basically
| just reading the code off the page. So I ask him: "hey, that
| method you call, what exactly does it do?".
|
| Um...
|
| So I ask "Ok, the result from that method is assigned to a
| variable. What kind of variable is it?" Note that this is Java,
| the data type is explicitly declared, so the answer is sitting
| there on his slide.
|
| Um...
|
| So I tear into him. You got this from ChatGPT. That's fine, if
| you need the help, but you need to understand what you get.
| Otherwise you'll never get a job in IT.
|
| His answer: "I already have a job in IT."
|
| Fsck. There is your vibe coder. You really do not want them
| working on anything that you care about.
| walleeee wrote:
| This is one of the biggest dangers imo. While I agree with the
| OP about the deflation of joy in experienced programmers, the
| related but more consequential effect seems to be _dissuading
| people from learning_. A generational threat to collective
| competence and a disservice to students and teachers everywhere
| z_open wrote:
| Does your course not have exams or in-lab assignments? Should
| sort itself out. Honestly, I'm all for homework fading away as
| professors can't figure out how to prevent people from using
| AI. It used to be the case that certain kids could get away
| with not doing much because they were popular enough to get
| people to let them copy their assignments (at least for certain
| subjects). Eventually the system will realize they can't detect
| AI and everything has to be in-person.
| bradley13 wrote:
| Sure, this guy is likely to fail the course. The point is: he
| is already working in the field. I don't know his exact job,
| but if it involves programming, or even scripting, he is
| faking his way with AI, not understanding what he's doing.
| That is frightening.
| cesarb wrote:
| > I don't know his exact job, but if it involves
| programming, or even scripting, he is faking his way with
| AI, not understanding what he's doing. That is frightening.
|
| That could be considered malpractice. I know our profession
| currently doesn't have professional standards, but it's
| just a side effect of it being very new and not yet
| solidified; it won't be long until some duty of care
| becomes required, and we're already starting to see some
| movement in that direction, with things like the EU CRA.
| jokoon wrote:
| I asked chatgpt mini something about godot, and often it gives
| erroneous answers.
|
| So it causes developers to regularly fix what chatgpt is wrong
| about.
|
| Not great.
| ang_cire wrote:
| This comment section really shows the stark divide between people
| who love coding and thus hate AI, and people who hate coding and
| thus love AI.
|
| Honestly, I suspect the people who would prefer to have someone
| or something else do their coding, are probably the devs who are
| already outputting the worst code right now.
| seper8 wrote:
| >Honestly, I suspect the people who would prefer to have
| someone or something else do their coding
|
| Alright, please stop using SDK's, google, stackoverflow, any
| system libraries. You prefer to do it for yourself right?
| elicksaur wrote:
| Do you typically find reductio ad absurdum arguments to be
| persuasive?
| ang_cire wrote:
| If you're using those things to do *the core function* of the
| program you're writing, that's an issue.
|
| SDKs and libraries are there to provide common (as in, used
| repeatedly, by many) functions that serve as BUILDING BLOCKS.
|
| If you import a library and now your program is complete,
| then you didn't actually make a useful program, you just made
| a likely less efficient interface for the library.
|
| BUT ALSO-
|
| SDKs and libraries are *vetted* code. The advantage you are
| getting isn't just about it having been written for you, it's
| about the hundreds of hours of human code review, iteration,
| and thought, that goes into those libraries.
|
| LLM code doesn't have that, so it's not about you benefitting
| from the knowledge and experience of others, it's purely
| about reducing personally-typed LoC.
|
| And yes, if you're wholesale copy-pasting major portions of
| your program from stack overflow, I'd say that's about as bad
| as copy-pasting from ChatGPT.
| nkrisc wrote:
| If there's an SDK that implements exactly the product you're
| trying to build, then you're just selling someone else's SDK.
| ang_cire wrote:
| Exactly, thank you!
| arvinsim wrote:
| > Honestly, I suspect the people who would prefer to have
| someone or something else do their coding
|
| Have we forgotten that we advanced in software by building on
| the work of others?
| bgwalter wrote:
| They are not building on the work of others, they are taking
| the laundered work of others.
| jm547ster wrote:
| I can guess your background (and probably age) from this
| comment
| bgwalter wrote:
| Finishing sentences with a full stop would put me above
| 30, yes.
|
| EDIT: incidentally, Suchir Balaji was 26 when he held
| those views.
| ang_cire wrote:
| This belies the way that LLM code is being used.
|
| People aren't taking LLM code and then thoughtfully
| refactoring and improving it, they're using it to *avoid*
| doing that, by treating the generated code as though it's
| already had that done.
|
| That's why the pro-LLM-code people in this very thread are
| talking about using it to automate away the parts of the
| coding they don't like. You really think they're then going
| to go back and improve on the code past it minimally working?
|
| There will be no advancement from that, just mediocre or bad
| code going unreviewed and ignored until it breaks.
| ohgr wrote:
| I spend most of my time fixing that shit.
| pjmlp wrote:
| No, problem is when others are no longer needed, a machine
| gets to do everything, and only a few selected humans get to
| take care of the replicator machine.
| brigandish wrote:
| If devs would learn how to document their work properly then
| there'd be much less use for AI and more people who enjoyed
| coding.
| insin wrote:
| Every PR I have to review with an obviously LLM-generated title
| stuffed with adjectives, and a useless description containing
| an inaccurate summary of the code changes pushes me a little
| bit more into trying to make my side projects profitable in the
| hope that one takes off. It usually only gets worse from there.
|
| Documentation needs to be by humans for humans, it's not a box
| that's there to be filled with slop.
| sayamqazi wrote:
| > The actual documentation needs to be by humans for humans.
|
| This is true for producing the documentation but if there is
| an LLM that can take said documentation and answer questions
| about it is a great tool. I think I get the answer far
| quicker with LLM than sifting through documentation when
| looking for existence of a function in a library or a
| property on an object.
| skydhash wrote:
| The documentation are for answering your questions, it's
| not a puzzle to be solved. Using the reference docs assumes
| that you already have an understanding about the thing that
| is being documented and you're looking for specificity or
| details. If not, the correct move is to go through a book,
| a tutorial, or the user guide. Aka the introductory
| materials.
| nyarlathotep_ wrote:
| seeing a lot of `const thing = doThing(); // add this line`
| showing up lately too.
| RedNifre wrote:
| Right, just how back in the day, people who loved writing
| assembly hated high level languages and people who found
| assembly too tedious loved compilers.
| bgwalter wrote:
| First of all, Lisp, Fortran and COBOL had been around most of
| the time when assembly was popular. Assembly was used because
| of resource constraints.
|
| Secondly, you are not writing anything you get from an LLM.
| You prompt it and it spits out other people's code, stripped
| of attribution.
|
| This is what children do: Ask someone to fix something for
| you without understanding the result.
| scarface_74 wrote:
| I very much understand the result of code that it writes.
| But I have never gotten paid to code. I get paid to use my
| knowledge of computers and the industry to save the company
| money or to make the company money.
|
| Do you feel the same way when you delegate assignments to
| more junior developers and they come back with code?
| lucaspauker wrote:
| Good artists copy, great artists steal
| bgwalter wrote:
| Picasso (if he really said that) had a machine painting
| for him?
| jerjerjer wrote:
| Picasso explicitly wanted his designs (for cutlery,
| plates, household items he designed) to be mass-produced,
| so your question is not as straightforward as you make it
| to be.
| bgwalter wrote:
| What is the connection to machine generated code? He
| designed the items manually and mass produced them.
|
| No one objects to a human writing code and selling
| copies.
|
| Apart from that, this is the commercial Picasso who loved
| money. His early pre-expressionist paintings are godlike
| in execution, even if someone else has painted a Pierrot
| before him.
| alpaca128 wrote:
| Picasso also never said this, and this quote is about
| ideas, not automation.
| cushychicken wrote:
| It's almost like there's a big range of different
| comprehension styles among human beings, and a varying set of
| preferences that go with those.
| aprxi wrote:
| Cant one enjoy both? After all, coding with AI in practice is
| still coding, just with a far higher intensity.
| ang_cire wrote:
| It is absolutely possible to enjoy both- I have used LLMs to
| generate code for ideas about alternate paths to take when I
| write my code- but prompt generation is not coding, and there
| are WAY too many people who claim to be coding when they have
| in fact done nothing of the sort.
|
| > a far higher intensity
|
| I'm not sure what this is supposed to mean. The code that
| I've gotten is riddled with mistakes and fabrications. If I
| were to use it directly, it would significantly slow my pace.
| Likewise, when I use LLMs to offer alternative methods to
| accomplish something, I have to take the time to sit down and
| understand what they're proposing, how to actually make it
| work, and whether that route(s) would be better than my
| original idea. That is a significant speed reduction.
|
| The only way I can imagine LLMs resulting in "far higher
| intensity" is if I was just yolo'ing the code into my
| program, and then doing frantic integration, correction, and
| bugfix work afterwards.
|
| Sure, that's "higher intensity", but that's just working
| harder and not smarter.
| bluefirebrand wrote:
| It is not coding the same way riding a bus is not driving
|
| You may get to the same destination, but it is not the same
| activity
| rfoo wrote:
| What if I prefer to have a clone of me doing my coding, and
| then I throw my clone under the bus and start to (angrily)
| hyperfocus explore and change every piece to be beautiful? Does
| this mean I love coding or I hate coding?
|
| It's definitely a personality thing, but that's so much more
| productive for me, than convincing myself to do all the work
| from scratch after I had a design.
|
| I guess this means I hate coding, and I only love the dopamine
| from designing and polishing my work instead of making things
| work. I'm not sure though, this feels like the opposite of hate
| coding.
| ang_cire wrote:
| If you create a sufficiently absurd hypothetical, anything is
| possible.
|
| Or are you calling an LLM a "clone" of you? In that case,
| it's more, "if you create a flawed enough starting premise,
| anything is possible".
| rfoo wrote:
| > flawed enough starting premise
|
| That's where we start to disagree what future looks like,
| then.
|
| It's not there yet, in that the LLM-clone isn't good
| enough. But amusingly a not nearly good enough clone of me
| already made me more productive, in that I'm able to
| deliver more while maintaining the same level of personal
| satisfaction with my code.
| ang_cire wrote:
| The question of increasing productivity and what that
| means for us as laborers is another entire can of worms,
| but that aside, I have never yet found LLM-gen'd code
| that met my personal standards, and sped up my total code
| output.
|
| If I want to spend my time refactoring and bugfixing and
| rewriting and integrating, rather than writing from
| scratch and bugfixing, I can definitely achieve that by
| using LLM code, but the overall time has never felt
| different to me, and in many cases I've thrown out the
| LLM code after several hours due to either sheer
| frustration with how it's written, or due to discovering
| that the structure it's using doesn't work with the rest
| of the program (see: anything related to threading).
| andybak wrote:
| See my reply to another comment - I don't think the divide is
| as stark as you claim.
|
| (And I don't enjoy the value judgement)
| ang_cire wrote:
| I think that comment is conflating 2 different things: 1)
| people like you and I who use LLMs for exploring alternative
| methods to our own, and 2) people who treat LLMs like Stack
| Overflow answers they don't understand but trust because it's
| on SO.
|
| Yes, there are tasks or parts of the code that I'm less
| interested in, and would happily either delegate or
| negotiate-off to someone else, but I wouldn't give those to a
| writer who happens to be able to write in a way that
| approximates program code, I'd give them to another dev on
| the team. A junior dev gets junior dev tasks, not tasks that
| they don't have the skills to actually perform, and LLMs
| aren't even at an actual junior dev level, imhe.
|
| I noted in another comment that I've also used LLMs to get
| ideas for alternate ways to implement something, or to as you
| said "jump start" new files or programs. I'm usually not
| actually pasting that code into my IDE, though- I've tried
| that, and the work to make LLM-generated code fit into my
| programs is way more than just writing out the bits I need,
| where I need. That is clearly not the case for a lot of
| people using LLMs, though.
|
| I've seen devs submitting PRs with giant blocks of clearly
| LLM-gen'd code, that they've tried to monkey-wrench into
| working with the rest of the program (often breaking
| conventions or secure coding standards). And these aren't
| junior devs, they're devs that have been working here for
| years and years.
|
| When you force them to do a code review, they _know_ it 's
| not up to par, but there is a weird attitude that LLM-gen'd
| code is more acceptable to be submitted with issues than
| personally-written code. As though it's the LLM's fault or
| job to fix, even though they prompted and copied and badly-
| integrated and PR'd it.
|
| And that's where I think there is a stark divide. I think
| you're on my side of the divide (at least, I didn't get the
| impression that you hate coding), it just sounds like you
| haven't really seen the other side.
|
| My personal dime-store psych theory is that it's the same
| mental mechanism that non-technical computer users fall into
| of improperly trusting/ believing computers to produce
| correct information, but now happening to otherwise technical
| folks too because "AI" is still a black box technology to
| most of us, like computers in general are to non-techies.
|
| LLMs are really really cool, and really really impressive to
| me, and I've had 'wow' moments where they did something that
| makes you forget what they are and how they work, but you
| can't let that emotional reaction towards it override the
| part that knows it's just a token chain. When you do, people
| end up (obviously on the very extreme end) 'dating' them,
| letting them make consequential "decisions", or just over-
| trusting their output/code.
| ThrowawayTestr wrote:
| I like solving problems but I hate coding. Wasting 20 minutes
| because you forgot a semicolon or something is not fun. AI
| let's me focus on the problem and not bother with the tedious
| coding bit.
| skydhash wrote:
| That comment makes me deeply suspicious about your debugging
| skills. And the formatting of your code.
| ThrowawayTestr wrote:
| I write code to solve problems for my own use or for my
| hobby electronics projects. Asking chatgpt to write a
| script is faster than reading the documentation of some
| python library.
|
| Just last week it wrote me a whole application and gui to
| open a webpage at a specific time. Yeah it breaks after the
| first trigger but it works for what I need.
| skydhash wrote:
| And that's OK! I'm not trying to gatekeeping anyone from
| the title of coder or programmer. But what is fine for
| quick small scripts and throwaway code can be quite bad
| even for smallish projects. If you're trying to solve a
| problem in a systematic way, there's a lot of concerns
| that pertain to the durability of the solution.
|
| There's a lot of literature about these concerns and a
| lot of methodologies to alleviate them. I (and others)
| are judging LLMs in light of those concerns. Mostly
| because speed was never an issue for us in prototypes and
| scripts (and it can be relaxing to learn about something
| while scripting it). The issue is always reliability (can
| it do what I want) and maintainability (can I change it
| later). Performance can also be a key issue.
|
| Aside: I don't know the exact problem you were solving,
| but based on the description, that could have been done
| with systemd timers (macOS services are more of a pain to
| write). Yes, there's more to learn, but time triggering
| some command is a problem solved (and systemd has a lot
| more triggers).
| nairadithya wrote:
| This doesn't even make sense, forgetting a semicolon is
| immediately caught by the compiler. What positive benefits
| does AI provide here?
| masfuerte wrote:
| It depends on the language. Javascript is fine without
| semicolons until it isn't. Of course, a linter will solve
| this more reliably than AI.
| ookblah wrote:
| yeah i definitely enjoy the craft and love of writing
| boilerplate or manually correcting simple errors or looking up
| functions /s. i hate how it's even divided into "two camps",
| it's more like a big venn diagram.
| skydhash wrote:
| Who write boilerplate this day? I just lift the code from the
| examples in the docs (especially css frameworks). And I love
| looking at functions docs, because after doing it a few
| times, you develop an holistic understanding of the library
| and your speed increases. Kinda like learning a foreign
| language. You can use an app to translate everything, or asks
| for the correct word when the needs arises. The latter is a
| bit frustrating at the beginning, but that's the only way to
| become fluent.
| ang_cire wrote:
| Seriously, I see this claim thrown around as though
| everyone writes the same starting template 50 times a week.
| Like, if you've got a piece of "boilerplate" code you're
| constantly rewriting... Save It! Put it in a repo or a
| snippet somewhere that you can just copy-paste when you
| need it.
|
| You don't need a multi-million dollar LLM to give you
| slightly different boilerplate snippets when you already
| have a text editor on your computer to save them.
| skydhash wrote:
| Maybe all code is boilerplate for them? I use libraries
| and frameworks exactly for the truly boilerplate part.
| But I still try to understand those code I depends on, as
| some times I want to deviate from the defaults. Or the
| bug might be in there.
|
| It's when you try to use an exotic language, you realize
| the amount of work that has been done to minimize dev
| time in more mainstream languages.
| ookblah wrote:
| i think everyone here has extremely different ideas of
| what AI coding actually is and it's frustrating because
| basically everyone is strawmanning (myself included
| probably), as if using it means i'm not looking at
| documentation or not understanding what is goin on at all
| times.
|
| it's not about having the LLM write some "starter pack"
| toy scaffold. i means when i implement functionality
| across different classes and need to package that up and
| adapt, i can just tell the LLM how to approach it and it
| can produce entire sections of code that would literally
| just be adaptations of certain things. or to refactor
| certain pieces that would just be me re-arranging shit.
|
| maybe that's not "boilerplate", but to me it's a collosal
| waste of my time that could be spent trying to solve a
| new problem. you can't package that up into a "code
| snippet" and it's not worth the time carefully crafting
| templates. LLM can do it faster, better, and cost me near
| nothing.
| skydhash wrote:
| > _it 's a collosal waste of my time_
|
| > _LLM can do it faster, better, and cost me near
| nothing._
|
| And this is one the thing I'm skeptical about. The above
| use case is a symptom of all code and no design. It is a
| waste of time because you're putting yourself in a
| corner, architecture wise. Kinda like building on a
| crooked foundation.
|
| I've never done refactoring where I'm writing a lot of
| code, it's mostly just copy-paste and rebuilding the
| connection between modules (functions, classes, files,
| packages,...). And if the previous connections were well
| understood and you have a clear plan for the new design,
| then it's a no-brainer to get there. Same when adapting
| code, I'm mostly deleting lines and renaming variables
| (regex is nice).
|
| Maybe I'm misunderstanding things, but unless it's for
| small scripts or very common project types, I haven't
| seen the supposed productivity gain compared to
| traditional tooling.
| ookblah wrote:
| yes, that is one aspect of it.
|
| 1) refactoring. copy paste, re-arrange, extract, delete
| and rebuild the connection. i have the mental model and
| tell the LLM do do it across multiple files or classes.
| does it way faster and exactly how i would do it given
| the right prompt which is just a huge file that dictates
| how things are structured, style, weird edge cases i
| encountered as time goes on.
|
| 2) new features or sections based on existing. i have a
| service class and want to duplicate and wire up different
| sections across domains. not easy enough to just be
| templated, but LLM can do it and understand the nuances.
| again, generate multiple files across classes no problem.
|
| i can do all these things "fast". i can do them even
| faster when using the LLM, it offloads the tediousness
| and i save my brian for other tasks. alot of times i'm
| just researching my next thing while it chugs away. i
| come back, lint and review and i'm good to go.
|
| i'm honestly still writing the majority of the code
| myself, esp if it's like design stuff or new features
| where the requirements and direction aren't as clear, but
| when i need to it gives me a huge boost.
|
| keeps me in the flow, i basically recharge while
| continuing to code. and it's not a small script but a
| full fledged app, albeit very straightforward
| architecture wise. the gains are very real. i'm just
| surprised at the sentiment on HN around it. it's not even
| just skepticism but outright dogging on it.
| skydhash wrote:
| Maybe it's different mindset at play. Refactoring these
| is my way of recharging (because I approach as a nice
| puzzle to learn how to do it effectively, kinda like a
| break from the main problem). And the LLM workflow don't
| sit well with me because I dislike checking every line of
| generated code. Traditional tooling is deterministic, so
| I do the check once and move on.
| ang_cire wrote:
| I love this detailed discussion of how people are
| actually using LLMs for coding, and I think this rarely
| happens in professional spaces currently.
|
| I do see more people who seem to be using it to replace
| coding skill rather than augment it, and I do worry about
| management's ability to differentiate between those
| versus just reverting to LoC. And whether it will become
| a demand for more code, for the same pay.
| melvinroest wrote:
| I replaced "code" for "singing" to make a point.
|
| > This comment section really shows the stark divide between
| people who love singing and thus hate AI-assisted singing, and
| people who hate singing and thus love AI-assisted singing.
|
| > Honestly, I suspect the people who would prefer to have
| someone or something else do their singing, are probably the
| singers who are already outputting the worst singing right now.
|
| The point is: just because you love something, doesn't mean
| you're good at it. It is of course positively correlated with
| it. I am in fact a better singer because I love to sing
| compared to if I never practiced. But I am not a good singer, I
| am mediocre at best (I chose this example for a reason, I love
| singing as well as coding! :-D)
|
| And while it is easier to become good at coding than at singing
| - for professional purposes at least - I believe that the
| effect still holds.
| cushychicken wrote:
| I love coding - but I am not very good at it. I can describe
| what I want in great detail, with great specificity. But I am
| not personally very good at turning that detailed
| specification into the proper syntax and incantations.
|
| AI is like jet fuel for me. It's the translation layer
| between specs and code I've always wanted. It's a great
| advisor for implementation strategies. It's a way to try new
| strategies in code quickly.
|
| I don't need to get anyone else to review my code. Most of
| this is for personal projects.
|
| I don't really write professionally, so I don't have a ton of
| need for it to manage realities of software engineering
| (large codebases, peer reviews, black box internal systems,
| etc). That being said - I do a reasonable amount of embedded
| Linux work, and AI understands the Linux kernel and device
| drivers _very_ well.
|
| To extend your metaphor: AI is like a magic microphone that
| makes all of my singing sound like Tony Rice, my personal
| favorite singer. I've always wanted to sound like him - but I
| never will. I don't have the range or the training. But AI
| allows my coding level to get to that corresponding level
| with writing software.
|
| I absolutely love it.
| ang_cire wrote:
| This is really interesting to me.
|
| Do you love _coding_ , or do you love _creating programs_?
|
| It seems like the latter given your metaphor being a
| microphone to make you _seem_ like you could sing well,
| i.e. wanting the end state itself rather than the
| achievement via the process.
|
| "wanted to sound like him" vs "wanted to sing like him"
| cushychicken wrote:
| I very much like creating programs.
|
| The code is a tool. Nothing more.
|
| I love the shed I built for my family. I don't have a
| single feeling for the hammer I used to build it.
|
| For the record: I _can_ sing well. I just can't sound
| like Tony Rice. I don't have his vocal cords or training.
| ang_cire wrote:
| I enjoy using tools to create, very much so. The process
| is fun to me. The thing I create is a record of the
| process/ work that went into it. Planning and making a
| cut with a circular saw feels good. Rattling a spray
| paint can is exciting.
|
| I made a cyber deck several months back, and I opted to
| carve the case from wood rather than 3d printing or using
| a premade shell. That hands-on work is something I'm
| proud of. I don't even use the deck much, it was for the
| love of building one.
|
| To be fair, I don't have any problem with people who do
| their jobs for the paycheck alone, because that's the
| world capitalism has forced us into. Companies don't care
| about or reward you for the skills you possess, only how
| much money you make them (and they won't compensate you
| properly for it, either), so there's no advantage to
| tying your self-worth up in what you produce for them.
|
| But I do think that it's sad we're seeing creative
| skills, whether writing coding composing or drawing, be
| devalued by AI as we are.
|
| > For the record: I can sing well.
|
| That is awesome! It's a great skill to have, honestly. As
| someone whose body tends to be falling apart more than
| impressing anyone, I envy that. :)
| ang_cire wrote:
| I think the analogy/ substitution falls apart in that singing
| is generally not very stable or lucrative (for 99.999% of
| singers), so it is pretty rare to find someone singing who
| hates it. Much less uncommon to find people working in IT who
| _hate_ the specific work of their jobs.
|
| And I think we do tend to (rightfully) look down on e.g.
| singers who lip-sync concerts or use autotune to sing at
| pitches they otherwise can't, nevermind how we'd react if one
| used AI singing instead of themselves.
|
| Yes, loving something is no guarantee of skill at it, but
| hating something is very likely to correspond to not being
| good at it, since skills take time and dedication to hone.
| Being bad at something is the default state.
| melvinroest wrote:
| > I think the analogy/ substitution falls apart in that
| singing is generally not very stable or lucrative (for
| 99.999% of singers), so it is pretty rare to find someone
| singing who hates it.
|
| I tried to cover this particular case with:
|
| > And while it is easier to become good at coding than at
| singing - for professional purposes at least - I believe
| that the effect still holds.
|
| ---
|
| > Yes, loving something is no guarantee of skill at it, but
| hating something is very likely to correspond to not being
| good at it, since skills take time and dedication to hone.
| Being bad at something is the default state.
|
| I tried to cover this particular case with:
|
| > It is of course positively correlated with it.
|
| ---
|
| > Being bad at something is the default state.
|
| Well, skill-wise yes. But being talented at something can
| happen, even when you hate something.
| williamcotton wrote:
| > _And I think we do tend to (rightfully) look down on e.g.
| singers who lip-sync concerts or use autotune to sing at
| pitches they otherwise can 't, nevermind how we'd react if
| one used AI singing instead of themselves._
|
| Autotune is de rigueur for popular music.
|
| In general, I'm not sure that I agree with looking down on
| people.
| ang_cire wrote:
| Looking down on someone for actions they choose to take,
| versus for intrinsic characteristics of who they are, are
| very different things.
| Parae wrote:
| I have been working in IT for 5 years while being a
| professional musician for 8 years (in France and touring in
| Europe). I've never met a single singer who told me they
| hate singing, on other hand, I can't even count how many of
| my colleagues told me how much they hate coding.
|
| Another analogy would be with sound engineering. I've met
| sound engineer who hate their job as they would rather play
| music. They are also the ones whose jobs are likely to be
| replaced by AI. And I would argue that the argument stand
| stills. AI Sound Engineers who hate working on sound are
| often the bad sound engineers.
| scarface_74 wrote:
| I started "coding" in 1986 in assembly on an Apple //e and by
| the time I graduated from college, I had experience with 4
| different processor families - 65C02, 68K, PPC and x86. I spent
| the first 15 years of my career programming in C and C++ along
| with other languages.
|
| Coding is just a means to an end - creating enough business
| value to convince the company I'm working for to give me money
| that I can exchange for food and shelter.
|
| If AI can help me do that faster, I'm going to use it. Neither
| do I want to spend months procuring hardware and managing
| building out a server room (been there done that) when I can
| just submit some yaml/HCL and have it done for me in a few
| minutes.
| vendiddy wrote:
| I love coding but I also love AI.
|
| I don't know if I'm a minority but I'd like to think there are
| a lot of folks like me out there.
|
| You can compare it to someone who is writing assembly code and
| now they've been introduced to C. They were happy writing
| assembly but now they're thrilled they can write things more
| quickly.
|
| Sure, AI could lead us to write buggier code. Sure, AI could
| make us dumber because we just have AI write things we don't
| understand. But neither has to be the case.
|
| With better tools, we'll be able to do more ambitious things.
| square_usual wrote:
| > I don't know if I'm a minority
|
| No, there's plenty of top-class engineers who love coding
| with AI. e.g. Antirez.
| simonw wrote:
| I think there are a lot of us, but the people who dislike AI
| are much more vocal in online conversations about it.
|
| (The hype merchant, LinkedIn influencer, Twitter thread crowd
| are super noisy but tend to stick to their own echo chambers,
| it's rare to have them engage in a forum like Hacker News
| directly.)
| ang_cire wrote:
| I love AI as a concept.
|
| I hate the reality of our _current_ AI, which is benefitting
| corporations over workers, being used for surveillance and
| censorship (nevermind direct social control via
| misinformation bots), and is copying the work of millions
| without compensating them in order to do it.
|
| And the push for coders to use it to increase their output,
| will likely just end up meaning expectations of more LoC and
| more features faster, for the same pay.
|
| But FOSS, self-hosted LLMs? Awesome!
| senko wrote:
| How is using Claude over Llama benefitting corporations
| over workers? I work with AI every day and sum total of my
| token spend across all providers is less than a single
| NVidia H100 card I'd have to buy (from a pretty big
| corporation!), at the very least, for comparable purpose?
|
| How are self-hosted LLMs not copying the work of millions
| without compensating them for it?
|
| How is the push for more productivity through better
| technology somehow bad?
|
| I am pro FOSS but can't understand this comment.
| mythrwy wrote:
| I love coding and don't love questioning AI and checking
| responses.
|
| But the simple fact is I'm much more productive with AI and I
| believe this is likely true for most programmers once they get
| adjusted.
|
| So for production, what I love the most doesn't really matter,
| otherwise I'd be growing tomatoes and guiding river rafting
| expeditions. I'm resigned to the fact the age of manually
| writing "for loops" is largely over, at least in my case.
| maelito wrote:
| Funny that I found this article going to hacker news as a pause
| in my work : I had to chose between using Aider or my brain to
| code a small algorithmic task, sorting items of a list based on
| dependences between items written in a YAML file.
|
| Using Aider would probably solve the task in 5 minutes. Coding it
| in 30 minutes. The former choice would result in more time for
| other tasks or reading HN or having a hot beverage or walking in
| the sun. The second would challenge my rusting algorithmic skills
| and give me a better understanding of what I'm doing for the
| medium term.
|
| Hard choice. In any case, I have a good salary, even with the
| latter option I can decide to spend good times.
| ltr_ wrote:
| in the meantime im having lots of fun coding and using AI,
| reinventing every wheel i can. 0 stress cos i don't do it for
| money :). I think a lot of people are having a tantrum because
| programing is not sexy anymore, its getting easier, the bar is
| lower now , the quality is awful and nobody cares. its like any
| other boring soul crushing job.
|
| also if you want to see the real cost (at least part of it) of AI
| coding or the whole fucked up IT industry, go to any mining town
| in the global south.
| admiralrohan wrote:
| Have you encounter anything regarding tech debt when using AI?
|
| Don't see any mention regarding this in the post, which is the
| common objection people have regarding vibe coding.
| pjmlp wrote:
| > After all, if we lose the joy in our craft, what exactly are we
| optimizing for?
|
| For being one of the few lucky ones that gets to stay around
| taking care of the software factory robots, or designing them,
| while everyone else that used to work at the factory is now
| queueing somewhere else.
| jappgar wrote:
| To me THIS is the most stressful part of the whole thing.
|
| I like programming but I have other hobbies I find fulfilling,
| and nothing stops me from programming with a pen and paper.
|
| The bad vibes are not caused by lack of programming, they're
| caused by headsman sharpening his axe behind me.
|
| A few lucky programmers will be elevated to God status and
| we're all fighting for those spots now.
| pjmlp wrote:
| For me the most surprising part is the phase of wonder, from
| those that apparently never read anything in the history of
| industrial revolution, and think everyone will still have a
| place when we achieve Star Trek replicator level.
|
| Not everyone gets a seat at the starship.
| TrackerFF wrote:
| Some people love programming, for the sake of programming itself.
| They love the CS theory, they love the tooling, they love most
| everything about it.
|
| Other people see all that as an means to an end - and find no joy
| from the technical aspect of creating something. They're more
| interested in the end result / product, rather than the process
| itself.
|
| I think that if you're in group A, it can be difficult to
| understand group B. In vice versa.
|
| I'm a musician, so I love everything about creating music. From
| the theory, to the mastery of the instrument, the tens of
| thousands of hours I've poured into it...finally being able to
| play something I never thought I'd be able to, just by sheer
| willpower and practice. Coming up with melodies that feel
| something to me, or I can relate to something.
|
| On the other hand, I know people that want to jump straight to
| the end result. They have some melody or idea in their head, and
| they just want to generate some song that revolves around that
| idea.
|
| I don't really look down on those people, even though the snobs
| might argue that they're not "real musicians". I don't understand
| them, but that's not really something I have to understand
| either.
|
| So I think there are a lot of devs these days, that have been
| honing their skills and love for the craft for years, that don't
| understand _why_ people just want things to be generated, with no
| effort.
| andybak wrote:
| > Some people love programming
|
| > Other people see all that as an means to an end
|
| I think it's worth pointing out that _most_ people are _both_
| these things at different times.
|
| There's things I care about and want a deep understanding of
| but there's plenty of tasks I want to just "go away". If I had
| an junior coder - I'd be delegating these. Instead I use AI
| when I can.
|
| There's also tasks where I want a jump start. I prefer
| fixing/improving code over writing from scratch so often a bad
| AI attempt is still valuable to me.
| celsius1414 wrote:
| You likely don't have a say in the matter, but you _should_
| have a junior developer. That's where senior developers come
| from.
| scarface_74 wrote:
| Why should _I_ have a junior developer who is going to do
| negative work instead of poaching a mid developer who is
| probably underpaid since salary compression and inversion
| are real?
|
| As a manager, say I do hire a junior developer, invest time
| into them and they level up. I go to the HR department and
| tell them that they deserve a 30% raise to bring them
| inline with the other mid level developers.
|
| The HR department is going to say that's out of policy and
| then the developer jumps ship.
| abenga wrote:
| > Why should I have a junior developer who is going to do
| negative work instead of poaching a mid developer who is
| probably underpaid since salary compression and inversion
| are real?
|
| The tragedy of the commons in a nutshell. Maybe everyone
| should invest in junior developers so that everyone has
| mid-level developers to poach later?
| godelski wrote:
| Not only that but teaching is a fantastic way to learn.
| Its easy to miss the learning though because you get the
| most when you care. If you care you take time to think
| and you're forced to contend with things you've taken for
| granted. You're forced to revisit the things you've
| tabled because you didn't have the time or expertise to
| deal with it at the time.
|
| There's no doubt about it, there's selfish reasons to
| teach, mentor, and have a junior under you. We're social
| creatures. It should be no surprise that what's good for
| the group is usually good for yourself too. It's kinda as
| if we were evolutionarily designed to be this way or
| something -\\_(tsu)_/-
|
| Everyone says they don't have time, but you get a lot of
| time by doing things right instead of doing things twice.
| And honestly, we're doing it a lot more than twice.
|
| I just don't understand why we're so ready and willing to
| toss away a skill that allowed us to become the most
| successful creature on the planet: forethought. It's not
| just in coding but we're doing it everywhere. Maybe we're
| just overloaded but you need forethought to fix that, not
| progressively going fast for the sake of going fast
| scarface_74 wrote:
| I'm not a manager by the way, my previous comment was
| more of a devil's advocate/hypothetical question.
|
| I leveled up because I practice mentoring others. But it
| still doesn't make sense for the organization to hire
| juniors. Yes I realize _someone_ has to. It's especially
| true for managers who have an open req to fill because
| they need work done _now_.
|
| On the other hand, my one, only and hopefully last role
| in BigTech where I worked previously, they could afford
| to have an intern program and when they came back after
| college have a 6 month early career/career transition
| program to get them up to speed. They could afford the
| dead weight loss.
| godelski wrote:
| > a devil's advocate/hypothetical question.
|
| Can I suggest you not do this? It's not a good way to
| communicate and more often than not causes arguing. I
| think it is the first sentence which does the framing,
| making it less clear that the second is a legitimate
| question and not a rhetorical one. (It very much reads as
| rhetorical)
|
| I'm _not_ saying "don't ask questions." We should _all_
| be asking questions! If anything, we should be asking
| more! But we 're in a thread that's contextualized about
| a division of people. It is only natural for people to
| interpret as a continuation of what came before.
|
| But to address your point more directly, my answer is
| that the scenario you presented would be a surefire way
| to kill a company. Yes, there are big companies that do
| this, but you'll recognize that they're also monopolies
| or close it. A company with competition (big or small) is
| unable to pull off such shortsightedness. What you do for
| the company is the same thing you do for society: invest
| in the future. Sure, you wanna be lean and cost efficient
| but that has to be balanced with security. You don't want
| your company to go under just because an employee got hit
| by a truck. You don't want your company to go under just
| because an employee decides to retire. You're not doing a
| good job if you have these vulnerabilities. These are
| things only small startups should be doing and only
| because they have no choice.
|
| This isn't "dead weight" and I think it is really bad to
| frame things this way. Most of the time my firewall isn't
| doing anything, is it "dead weight"? I often buy stocks
| while markets are low or falling, are these "dead
| weight"? I went to school to get an education, was this
| "dead weight"? It would be silly to call any of those
| things "dead weight", yet they're identical. A "dead
| weight" employee is one who has the ability to do but
| does not. It is the person who gets promoted by being
| performative, by being close to the manager, by looking
| like they are doing work more than they are. There's a
| lot of dead weight in companies, and they stick around
| because they look like they're useful. And conversely,
| some of your best workers often look like your worst[0].
|
| It is literally Goodhart's Law in action and what I'm
| pissed about is we as a society have identified this
| issue and decided "it is a feature, not a bug" despite
| all the evidence to the contrary. We've dropped so many
| sayings and cliques that were common and were warnings of
| enshitification. When was the last time you heard someone
| say "you get what you pay for"? Or "if you're gonna do
| something, do it right"? We normalized the work
| environment of a fucking Dilbert Comic. And here we are,
| in this thread, defending our Dilbert world. We could
| have a lot of nice things, but the inescapable truth is
| that nice things require work. Worse, I'm tired of living
| in an environment where all the little issues I face in
| daily life that can easily be fixed are causally brushed
| away because "it doesn't create value" while we dump
| billions into the next vaporware. It is deadly irony and
| I cannot stand this double speak. I just want to make
| things that work... You'll say "I'm not stopping you" but
| every person that frames things like above creates a
| system that does prevent me (and many others). While it
| isn't a zero sum game, we sure have limited resources and
| we're all too happy to light them on fire when promised
| some magic beans. I don't understand why no matter how
| many times we watch it happen we still do not learn.
|
| [0] https://news.ycombinator.com/item?id=43452649
| scarface_74 wrote:
| Every company does this. You don't invest in your future
| these days by investing in a pipeline of "talent" knowing
| that the average tenure of a software developer is 3
| years and at any time an employee can leave.
|
| You have processes that outlive people. Companies don't
| care about society - they care about their bottom line.
| They aren't there to make society as a whole better.
|
| If you want a society of well trained software engineers
| ready to work in corporate America, you support your
| public education system. Just like if you want a society
| that has universal healthcare, you put the onus on
| society and not corporate America.
|
| My job is to do what's best for the company as long as it
| is not illegal or unethical. My job is not to make
| society better
| ookblah wrote:
| i mean how far are you willing to take that argument? every
| decade has just been a new abstraction, imagine people flipping
| switches or in raw assembly talking about how they don't
| "understand" you now with your no effort. or even those who
| don't "understand" why you use your autocomplete and fancy IDE,
| preferring a simple text editor.
|
| i say this as someone who cut my teeth on this stuff growing up
| and seeing the evolution, it's both. and at some point it's
| honestly elitism and gatekeeping. i sort of cringe when it's
| called a "craft" because it's not like woodworking or
| something. the process is both full of joy but so is the end
| result, and the nature of our industry is that the process is
| ALWAYS changing.
|
| you accumulate a depth of knowledge and watch as it washes away
| in a few years. that kind of change, and the big kind of change
| that AI brings scares people so they start clinging to it like
| it's some kind of centuries old trade lol.
| bredren wrote:
| It is not just gatekeeping. It is a stubborn refusal to see
| that one could be programming something much more
| sophisticated if they could use these iteration loops
| efficiently.
|
| Many of these folks would do well to walk over to the
| intersection of Market, Bush, and Battery Streets in San
| Francisco and gaze up at the Mechanics Monument.
| 7589447636 wrote:
| > It is a stubborn refusal to see that one could be
| programming something much more sophisticated if they could
| use these iteration loops efficiently
|
| Programming something more sophisticated with AI? AI is
| pretty much useless if you're doing anything somewhat
| novel. What it excels at is vomiting code that has already
| been written a million times so you can build yet another
| Electron cross-platform app.
| newman8r wrote:
| what sort existing of projects do you think couldn't have
| been created with an AI-heavy workflow?
| cainxinth wrote:
| Some writers like to write. Some like to have written.
| yapyap wrote:
| > On the other hand, I know people that want to jump straight
| to the end result. They have some melody or idea in their head,
| and they just want to generate some song that revolves around
| that idea. I don't really look down on those people, even
| though the snobs might argue that they're not "real musicians".
| I don't understand them, but that's not really something I have
| to understand either.
|
| So if someone generates their music with AI to get their idea
| to music you don't look down on it?
|
| Personally I do, if you don't have the means to get to the end
| you shouldn't get to the end and that goes double in a
| professional setting. If you are just generating for your own
| enjoyment go off I guess but if you are publishing or working
| for someone that'll publish (aka a professional setting) you
| should be the means to the end, not AI.
| _heimdall wrote:
| Where do you draw that line though?
|
| If you're talking about a person using an LLM, or some other
| ML system, to help generate their music then the LLM is
| really just a tool for that person.
|
| I can't run 80 mph but I can drive a car that fast, its my
| tool to get the job done. Should I not be allowed to do that
| professionally if I'm not actually the one achieving that
| speed or carrying capacity?
|
| Personally my concerns with LLMs are more related to the
| unintended consequences and all the unknowns in play given
| that we don't _really_ know how they work and aren 't
| spending much effort solving interoperability. If they only
| ever end up being a tool, that seems a lot more in line with
| previous technological advancements.
| bluefirebrand wrote:
| > I can't run 80 mph but I can drive a car that fast
|
| If you drive a car 80mph you don't get to claim you are a
| good runner
|
| Similarly if you use an LLM to generate 10k lines of code,
| you don't get to claim you are a good programmer
|
| Regardless of the outcome being the "same"
| elliotbnvl wrote:
| You do get to claim that you're a good getting-places-er,
| though, which is the only point of commercial
| programming.
| bluefirebrand wrote:
| Project Managers will tell you that "getting to a place"
| is the goal
|
| Then you get to the place and they say "now load all of
| the things in the garage into the truck"
|
| But oops. You didn't bring a truck, because all they told
| you was "please be at this address at this time", with no
| mention of needing a truck
|
| My point is that the purpose of commercial programming is
| not usually just to get to the goal
|
| Often the purpose of commercial programming is to create
| a foundation that can be extended to meet other goals
| later, that you may not even be remotely aware of right
| now
|
| If your foundation is a vibe coded mess that no one
| understands, you are going to wind up screwed
|
| And yes, part of being a good programmer includes being
| aware of this
| pixl97 wrote:
| I work with quite a few F100 companies. The actual amount
| of software most of them create is staggering. Tens of
| thousands of different applications. Most of it is low
| throughput and used by a small number of employees for a
| specific purpose with otherwise low impact to the
| business. This kind of stuff has been vibe coded long
| before there was AI around to do it for you.
|
| At the same time human ran 'feature' applications like
| you're talking about often suffer from "let the
| programmer figure it out" problems where different teams
| start doing their own things.
| probably_wrong wrote:
| > _I can 't run 80 mph but I can drive a car that fast, its
| my tool to get the job done._
|
| Right, but if you use a chess engine to win a chess
| championship or if you use a motor to win a cycling
| championship, you would be disqualified because getting the
| job done is not the point of the exercise.
|
| Art is (or should be) about establishing dialogues and
| connections between humans. To me, auto-generated art it's
| like choosing between seeing a phone picture of someone's
| baby and a stock photo picture of a random one - the second
| one might "get the job done" much better, but if there's no
| personal connection then what's the point?
| jstummbillig wrote:
| Why?
|
| What has always held true so far: <new tool x> abstracts
| challenging parts of a task away. The only people you will
| outcompete are those, who now add little over <new tool x>.
|
| But: If in the future people are just using <new tool x> to
| create a product that a lot of people can easily produce with
| <new tool x>, then, before long, that's not enough to stand
| out anymore. The floor has risen and the only way to stand
| out will always be to use <new tool x> in a way that other
| people don't.
| apercu wrote:
| If they used an algorithm to come up with a cool melody and
| then did something with it, why look down on it?
|
| Look at popular music for the last 400 years. How is that any
| different than simply copying the previous generations stuff
| and putting your own spin on it?
|
| If you heard a CD in 1986 then in 2015 you wrote a song
| subconsciously inspired by that tune, should I look down on
| you?
|
| I mean, I'm not a huge fan of electronic music because the
| vast majority of it sounds the same to me, but I don't argue
| that they are not "real musicians".
|
| I do think that some genres of music will age better than
| others, but that's a totally different topic.
| randcraw wrote:
| I think you don't look down at the product of AI, only the
| process that created it. Clearly the craft that created the
| object has become less creative, less innovative. Now it's
| just a variation on a theme. Does such work really deserve
| the same level of recognition as befitted Beethoven for his
| Ninth or Robert Bolt for his "A Man for all Seasons"?
| RHSeeger wrote:
| > So if someone generates their music with AI to get their
| idea to music you don't look down on it?
|
| It depends entirely on how they're using it. AI is a tool,
| and it can be used to help produce some wonderful things.
|
| - I don't look down on a photographer because they use a tool
| to take a beautiful picture (that would have taken a painter
| longer to paint)
|
| - I don't look down on someone using digital art tools to
| blur/blend/manipulate their work in interesting ways
|
| - I don't look down on musicians that feed their output
| through a board to change the way it sounds
|
| AI (and lots of other tools) can be used to replace the
| creative process, which is not great. But it can also be used
| to enhance the creative process, which _is_ great.
| Workaccount2 wrote:
| People who can't spin pottery shouldn't be allowed to have
| bowls, especially mass produced by machine ones.
|
| I understand your point, but I think it is ultimately rooted
| in a romantic view of the world, rather than the practical
| truth we live in. We all live a life completely inundated
| with things we have no expertise in, available to us at
| almost trivial cost. In fact it is so prevalent that just
| about everyone takes it for granted.
| selimthegrim wrote:
| Sounds like Communist Albania where everybody had to be
| able to repair the car and take it apart and put it back
| together to own one
| hooverd wrote:
| Sure, but they also shouldn't claim they're potters because
| they went to Pottery Barn.
| scarface_74 wrote:
| Your company doesn't care about how you got to the end, they
| just care about did you get there and meet all of the
| functional and non functional requirements.
|
| My entire management chain - manager, director and CTO - are
| all technical and my CTO was a senior dev at BigTech less
| then two years ago. But when I have a conversation with any
| of them, they mostly care about whether the project I'm
| working on/leading is done on time/within budget/meets
| requirements.
|
| As long as those three goals are met, money appears in my
| account.
|
| One of the most renown producers in hip hop - Dr. Dre - made
| a career in reusing old melodies. Are (were) his proteges -
| Easy-E, Tupac, Snoop, Eminem, 50 cent, Kendrick Lamar, etc -
| not real musicians?
| apercu wrote:
| I've always distilled this down to people who like the "craft"
| and those who like the "result".
|
| Of course, everything is on a scale so it's not either/or.
|
| But, like you, how I get there matters to me, not just the
| destination.
|
| Outside the context of music, a project could be super
| successful but if the journey was littered with unnecessary
| stress due to preventable reasons, it will still leave a bad
| taste in my mouth.
| bluefirebrand wrote:
| > I've always distilled this down to people who like the
| "craft" and those who like the "result".
|
| I find it very unlikely anyone who only likes the results
| will ever pick up the craft in the first place
|
| It takes a very specific sort of person to push through
| learning a craft they dislike (or don't care about) just
| because they want a result badly enough
| ponector wrote:
| I hate IT, will pick literally anything else to work at,
| but the money is an issue.
| apercu wrote:
| I have a love/hate relationship with tech, but it would
| take many paragraphs to explain it :)
| ponector wrote:
| I love IT because it is a way to earn decent money, a way
| to escape from poverty. Hate everything else, though.
| godelski wrote:
| What's "the result"? Because I don't like how this divide is
| being stated (it's pretty common).
|
| Seems to me that "the result" is "the money" and not "the
| product".
|
| Because I'd argue those that care about the product, the
| thing being built, the tool, take a lot of pride in their
| work. They don't cut corners. They'll slog through the tough
| stuff to get things done.
|
| These things align much more with the "loves coding" group
| than "the result". Frankly, everyone cares about "the result"
| and I think we should be clear about what is actually meant
| mrtksn wrote:
| The first time you write the code to accomplish something you
| get your highs.
|
| IMHO there's no joy in doing the same thing multiple times. DRY
| doesn't help with that, you end up doing a lot of menial work
| to adapt or integrate previous code.
|
| Most of the for-profit coding is very boring.
| bluefirebrand wrote:
| I think I am somewhere between the two groups you mention
|
| I don't really get any joy from the act of coding, but I also
| take a lot of pride in doing a good job.
|
| Cutting corners and producing sloppy work is anathema to me,
| even when I don't really enjoy the work itself
|
| Any work worth doing is worth doing a good job on, even if I
| don't enjoy the work itself
| anonymars wrote:
| Sounds a bit like the different subjects of "applied math" vs
| "math"
|
| Some like proving and deriving, for others it's a tool to solve
| other problems
| dakiol wrote:
| I'm in group A and B. I do programming for the sake for it at
| home. I read tons of technical books for the love of it. At
| work, though, I do whatever the company wants or whatever they
| allow me... I just do it for the money.
| lucaspauker wrote:
| I think a closer analogy is:
|
| - A singer might learn to play guitar to sing along to it.
| Guitar is a means to an end; it is simply a tool to them.
|
| - A guitarist learns to play guitar due to love of the
| instrument.
| randcraw wrote:
| Some people like to play a musical instrument, others to
| compose music. Those who play range from classicists, who have
| limited ability to improvise or interpret, to popular or jazz,
| or composition, where creativity and subtle expression is the
| life blood of the work.
|
| Programming is similar to music. (A great many software
| innovators in the 70s and 80s had musical roots). But AI prunes
| away all the creativity and stylistic expression from the
| composition and the performance when designing and building
| software, reducing the enterprise to mere specification -- as
| if the libretto of the opera were merely an outline, and even
| that was based on Cliff Notes.
|
| The case for using AI to code is driven strictly by economics
| and speed. Stylistically and creatively, AI is a no-brainer.
| asdff wrote:
| The issue with programming is that it isn't like music or
| really any other skill where you get feedback right away and
| operate in a well understood environment. And a lot of patterns
| are not well designed as they are often based on what a single
| developer things the behavior ought to be instead of something
| more deterministic like the laws of physics that influence the
| cord patterns we use in music.
|
| Nope, your code might look excellent. Why the hell isn't it
| running though? Three hours later you find you added a b when
| you closed your editor somewhere in the code in a way your
| linter didn't pick up and the traceback isn't clear about,
| maybe you broke some all important regex, it doesn't matter.
| One second, it's fixed, and you just want to throw the laptop
| out the window and never work on this project again. So god
| damned stupid.
|
| And other things are frusterating too. Open a space deliminated
| python file, god forbid you add a tab without thinking. And
| what is crazy about that is if the linter is smart enough to
| say "hey you put a tab here instead of spaces for indent" then
| why does it even throw the error and not just accept both
| spaces and tabs? Just another frustration.
|
| Really I would love to just go at it, write code, type, fly, be
| in the flow state, like one does building something with the
| hands or making music or doing anything in the physical world.
| But no. Constant whack a mole. Constantly hitting the brakes.
| Constant blockers. How long will this take to implement? I have
| no _fucking_ idea man, could be 5 seconds or 5 weeks and you
| don 't often know until you spend the 5 seconds and see that
| didn't do it yet.
| yason wrote:
| Many have said that it's useful to delegate writing boilerplate
| code to an AI so that you can focus on the interesting bits
| that you do want to write yourself, for the sake of enjoying
| writing code.
|
| I recognize that and I kind of agree, but I think I don't
| entirely. Writing the "boring" boilerplate gives me time to
| think about the hard stuff while still tinkering with
| something. I think the effect is similar to sleeping on it or
| taking a walk, but without interrupting the mental cruncing
| that's going in my brain during a good flow. I piece together
| something mundane that is as uninteresting as it is mandatory,
| but at the same time my subconscious is thinking about the real
| stuff. It's easier that way because the boilerplate does
| actually, besides being boring, still connect to the real
| stuff, ultimately.
|
| So, you're kind of working on the same problem even if you're
| just letting your fingers keep typing something easy. That
| generates nice waves of intensity for my work. My experience
| regarding AI tends to break this sea of subconsciousness: you
| need to focus on getting the AI to do the right thing which,
| unlike typing it yourself, is ancillary to the original
| problem. Maybe it's just a matter of practise and at some point
| I can keep my mind on the domain in question eventhough I'm
| working an AI instead of typing boilerplate myself.
| 0xdeadbeefbabe wrote:
| Have you heard the saying there is too much performance in the
| practice room? It's the same with programming. Performance is
| the goal, and practice is how you get there. No one seems to be
| in danger of practicing too much though.
| finalhacker wrote:
| When I coding, most of time was used to search docs over
| internet. My first language is not english, search over hundrud
| of pages is quiet slow.
|
| AI help me a lot, you don't need search, just ask AI, and it
| provide the answer directly. After using AI, I have more time
| used on coding, more fun.
| ang_cire wrote:
| I am mostly pretty underwhelmed with LLMs' code, but this is a
| use-case that makes perfect sense to me, and seems like a net-
| positive: using them as a reference manual/ translator/
| training aid.
|
| I just wish I saw more people doing this, rather than asking
| them to 'draw 80% of the owl'.
| douglaswlance wrote:
| Typing isn't what makes programming fun.
|
| AI coding preserves flow _more_ than legacy coding. You never
| have to go read documentation for an hour. You can continuously
| code.
| ChrisMarshallNY wrote:
| I love that quote he led with.
|
| In my case, I couldn't agree more, with the premise of the
| article, but my life today, is centered around writing software
| the very best that I can; regardless of value or price.
|
| It's not very effective, if I were to be trying to make a profit.
|
| It's really hard to argue for something, if the something doesn't
| result in value, as perceived by others.
|
| For me, the value is the process. I often walk away from my work,
| once I have it up and shipping. I do like to take my work all the
| way through shipping, support, and maintenance, but find that my
| eye is always drawn towards new shores[0]. "A
| ship in harbor is safe, but that is not what ships are built
| for." -John A. Shedd
|
| [0] https://littlegreenviper.com/miscellany/thats-not-what-
| ships...
| clbrmbr wrote:
| I have actually had some really great flow evenings lately, the
| likes of which I have not enjoyed in many years, precisely
| because of AI-assisted coding. The trick is to break the task
| down in to components that are of moderate complexity so that the
| AI can handle them (Gemini 2.5 Pro one-shots), and keep your mind
| on the high-level design which today's AI cannot coordinate.
|
| What helps me is to think of it like I'm a kid again, learning to
| code full of ideas but without any pre-conceived notions. Rather
| than the Microsoft QuickBasic manual in my hands, I've got Gemini
| & Claude Code. I would be gleefully coding up a storm of games,
| websites, dubious webcrawlers, robots, and lord knows what else.
| Plenty of flow to be had.
| melvinroest wrote:
| This is the way. I feel like a kid too again. It's way more fun
| actually. As a kid I got too frustrated for not being able to
| install my WAMP stack.
| cushychicken wrote:
| I'm right there with you on this.
|
| Thanks for the comment. You articulated how I feel about this
| situation very well.
| sebstefan wrote:
| Added joy for me as well mostly by giving me the relevant API
| calls I need straight away, from publically available
| documentation, instead of having to read docs myself. "How do I
| do X in Y"
|
| And if something's not obvious I can always fetch the specifics
| of any particular calls. But at least I didn't have to find the
| name of that call in the first place.
| wolvesechoes wrote:
| I always wonder what kind of projects are we talking about. I
| am currently writing a compiler and simulation engine for
| differential-algebraic equations. I tried few models, hoping
| they would help me, but they could not provide any help with
| small details nor with bigger building blocks.
|
| I guess if you code stuff that had been coded a lot in public
| repos, it is fine, otherwise AI does not help in any way.
| Actually, I think I wasted more time trying to make it produce
| the output I wish for than it took me to do this myself.
| Espressosaurus wrote:
| That's been my experience. If it's been solved a million
| times, it's helpful. If you're out on the frontier where
| there's no public code, it's worse than useless.
|
| If you're somewhere in between (where I am now) it's
| situationally useful for small sub-components but you need to
| filter it heavily or you'll end up wasting a day or two going
| down a wrong rabbit-hole either because you don't know the
| domain well enough to tell when it's bullshitting or going
| down a wrong path, or don't know the domain well enough to
| use the right keyword to get it to cough up something useful.
| I've found domain knowledge essential for deciding when it's
| doing something obviously wrong instead of saying "I don't
| know" or "This is the wrong approach to the problem".
|
| For the correct self-contained class or block of code, it is
| much faster to specify the requirements and go through a
| round or two of refinement than it is to write it myself. For
| the wrong block of code it's a complete waste of time. I've
| experienced both in the last few days.
| uludag wrote:
| I don't even think you have to be on the frontier for LLMs
| to lose most of their effectiveness. Large legacy codebases
| with deeply ingrained tribal knowledge and loads of
| idiosyncrasies and inconsistencies will do the trick. Sad
| how most software projects end in this state.
|
| Obviously LLMs in this situation will still be insanely
| helpful, but in the same way that Google searches or stack
| overflow is insanely helpful.
| 91bananas wrote:
| For me it's been toy games built on web languages, which
| happens to be something I toyed with via my actual raw skills
| for the past 15 years. LLMs have opened many new doors and
| options for what I can build because I now technically "know
| everything" in the world via LLMs. Stuff that I would get
| stuck wasting hours on is now solved in minutes. But then it
| ALWAYS reaches a point where the complexity the LLM has
| generated is too much and the model can no longer iterate on
| what it's built.
| kelsey978126 wrote:
| people seem to forget this type of argument from the article
| was used for stack overflow for years, calling it the
| destruction of programming. "How can you get into flow when you
| are just copying and pasting?". Those same people are now all
| sour grapes for AI assisted development. There will always be
| detractors saying that the documentation you are using is
| wrong, the tools that you are using are wrong, and the
| methodology you are using is wrong.
|
| AI assisted development is no different from managing an
| engineering team. "How can you trust outsourced developers to
| do anything right? You won't understand the code when it
| breaks"... "How can you use an IDE, vim is the only correct
| tool" etc etc etc.
|
| Nothing has changed besides the process. When people started
| jumping on object orientation they called procedures the devil
| itself, just as procedures were once called structured
| programming and came to banish away the considered harmful
| goto. Everything is considered harmful when theres something
| new around the corner that promises to either make development
| more productive or developers more interchangeable. These are
| institutional requirements and will never go away.
|
| Embrace AIOP (AI oriented programming) to banish copy and paste
| google driven development which is now considered harmful.
| halfmatthalfcat wrote:
| The issue with "AIOP" is that you don't have a litany of
| others (as is the case with SO) providing counter examples,
| opinions, updated best practices, etc. People take the AI
| output as gospel and suffer for it without being exposed so
| the ambiguity that surrounds implementing things.
| randcraw wrote:
| Will an engineering team ever be able to craft a thing of
| wonder, that surprises and delights? I think great software
| can do that. But I've seen it arise only rarely, and almost
| always as originating from one enlightened mind, someone who
| imagined a better way than the well-trod paths taken by so
| many who went before. I can imagine AI as a means to go only
| 'where man gas gone before'.
| Workaccount2 wrote:
| I'm a classic engineer, so lots of experience with systems and
| breaking down problems, but probably <150 hours programming
| experience over 15 years. I know how computers work and
| "think", but I an awful at communicating with them. Anytime I
| have needed to program something I gotta crash course the
| language for a few days.
|
| Having LLMs like 2.5 now are total game changers. I can
| basically flow chart a program and have Gemini manifest it. I
| can break up the program into modules and keep spinning up new
| instances when context gets too full.
|
| The program I am currently working on is up to ~5500 LOC,
| probably across 10ish 2.5 instances. It's basically an
| inventory and BOM management program that takes in bloated
| excel BOMs and inventory, and puts it in an SQLite database,
| and has a nice GUI. Absolutely insane how much faster SQLite is
| for databases than excel, lol.
| dgs_sgd wrote:
| Only 150 hours of programming in 15 years? Are you in more of
| an Architect / Tech Lead role than an IC (individual
| contributor) role?
| Workaccount2 wrote:
| I'm an electrical engineer and work mostly with power
| electronics.
| e40 wrote:
| I've heard a _lot_ of stories like this. What I haven't heard
| is stories about the deployment of said applications and the
| ability of the human-side author to maintain the application.
| I guess that's because we're in early days for LLM coding, or
| the people who did this aren't talking (about their presumed
| failures... people tend to talk about successes publicly, not
| the failures).
| Workaccount2 wrote:
| At my day job I have 3 programs written by LLM used in
| production. One written by GPT-4 (in spring 2023) and
| recently upgraded by gemini 2.5, and the other two by
| Claude 3.7
|
| One is a automatic electronics test system that runs tests
| and collects measurements (50k+ readings across 8-12
| channels)(GPT-4, now with a GUI and faster DB thanks to
| 2.5). One is a QC tool to help quickly make QC reports in
| our companies standard form (3.7). And the last is a GUI
| CAD tool for rendering and quickly working through ancient
| manufacturing automation scripts from the 80's/90's to
| bring them up to compatibility with modern automation
| tooling (3.7).
|
| I personally think that there is a large gap between what
| programs are, and how each end user ultimately uses them.
| The programs are made with a vast scope, but often used
| narrowly by individuals. The proprietary CAD program that
| we were going to use originally for the old files was
| something like $12k/yr for a license. And it is a very
| powerful software package. But we just needed to do one
| relatively simple thing. So rather than buy the entire
| buffet, buy the entire restaurant, Claude was able to just
| make simple burger.
|
| Would I put my name on these and sell to other companies?
| No. Am I confident other LLM junkies could generate similar
| strongly positive outcomes with bespoke narrow scope
| programs? Absolutely.
| williamcotton wrote:
| I had a lot of joy making an experimental DSL with a web server
| runtime using primarily LLM tools.
|
| Then I shared it on HN and was subject to literal harassment.
| ramesh31 wrote:
| >"...the one thing that currently worries me most about using AI
| for software development: lack of joy."
|
| I struggled with this at first too. But it just becomes another
| _kind_ of joy. Think of it like jogging versus riding a
| motorcycle. Jogging is fun, people enjoy it, and they always
| will. But flying down a canyon road at 90MPH and racing through
| twists and turns is... way more fun. _Once_ you 've learned how
| to do it. But there's a gap there in which it stops being fun
| until you do.
| NotBoolean wrote:
| That's an interesting analogy but I do disagree with it.
|
| I would say that programming without an AI is like riding a
| motorcycle. You're in complete control and it's down to your
| skill to get you we're your going.
|
| While using AI is like taking a train. You got to plan the
| route but you're just along for the ride.
|
| Which I think lines up to the article. If you want to get
| somewhere easily and fast, take a train. But that does take
| away the joy of the journey.
| sega_sai wrote:
| As a scientist, I actually greatly enjoy the AI assisted coding
| because it can help with the boring/tedious side of coding. I.e.
| I occasionally have some new ideas/algorithms to try, and
| previously I did not have enough time to explore them out,
| because there was just too much boring code to be written. Now
| this part is essentially solved, and I can more easily focus on
| key algorithms/new ideas.
| erelong wrote:
| Flow Management
|
| Flow comes when challenge meets skill
|
| Too much skill and too little challenge creates boredom;
|
| too little skill and too much challenge creates anxiety
|
| AI has reduced the challenge needed for achieving your goal,
| creating boredom
|
| Remedy: find greater challenges?
| apercu wrote:
| I would argue that the vast majority of challenges I have had
| in my (very long) tech career were not technical challenges
| anyway, rather they were "people" problems (e.g., extracting
| the actual requirements and maintaining scope stability).
| fredophile wrote:
| I will start by saying I don't have much experience with the
| latest AI coding tools.
|
| From what I've seen using them would lead to more boredom. I
| like solving problems. I don't like doing code reviews. I
| wouldn't trust any AI generated code at this stage without
| reviewing it. If I could swap that around so I write code and
| AI gives me a reasonable code review and catches my mistakes
| I'd be much more interested.
| utkarsh858 wrote:
| I always thought about the problem of AI taking jobs, that even
| if there are new jobs created to replace the older ones, it will
| come at a cost of decrease in satisfaction of overall populace.
|
| The more people in general get disconnect from nature/physical
| world/reality. via layers of abstraction the more discontent they
| will become. These layers can be: 1) Automatics in agriculture.
| 2) Industries. 3) Electronics 4) Software 5) and now AI
|
| Each higher layer depends on lower ones for its functioning
| without the need to worry about specifics and provides a
| framework for higher abstraction to work on.
|
| The more we move up in hierarchy the more disconnected we become
| from the physical world.
|
| To support this I observed that villagers in general are more
| jolly and content than city dwellers. In metropolis specially I
| saw that people are more rude, anxious and always agitated, while
| villagers are welcoming and peaceful.
|
| Another good example is that of an artist finding it boring to
| guide AI even though he loves making paintings himself/herself.
| CopyOnWrite wrote:
| Most comments here surprise me: I am using Githubs Copilot /
| ChatGPT 4.0 at work with a code base which is mostly implements a
| basic CRUD service... and outside of small/trivial example (where
| the generated code is mostly okay), prompting is more often than
| not a total waste of time. Now, I wonder if I am just totally
| unable to write/refine good prompts for the LLM (as it works for
| smaller samples, I hope I am not too far off) or what could
| explain the huge discrepancy of experience. (Just for the record:
| I would totally not mind if the LLM writes the code for the stuff
| I have to do at work.)
|
| To clarify my questions: - Who here uses LLMs to generate code
| for bigger projects at work? (>= 20k lines of code) - If you use
| LLMs for bigger projects: Do you need to change your prompting
| strategy to get good results? - What programming languages are
| you using in your code bases? - Are there other people here who
| experience that LLMs are no help for non trivial problems?
| douglasisshiny wrote:
| I'm in the same boat. I've largely stopped using these tools
| other than asking questions about a language that I'm less
| familiar with or a complex type in typescript for which it can
| be helpful (sometimes). Otherwise, I felt like I was just
| wasting my time and becoming lazier/worse as a developer. I do
| wonder whether LLMs have hit a wall and we're in a hype cycle.
| CopyOnWrite wrote:
| Yes, I have the same feeling about the wall/hype cycle. Most
| of my time is understanding code and formulating a plan to
| change code w/o breaking anything... even if LLMs would
| generate 100% perfect code on the first try, it would not
| help in a big way.
|
| One thing I forgot to mention is asking LLMs questions from
| within the IDE instead of doing a web search... this works
| quite nice, but again, it is not a crazy productivity boost.
| 7589447636 wrote:
| > Now, I wonder if I am just totally unable to write/refine
| good prompts for the LLM (as it works for smaller samples, I
| hope I am not too far off) or what could explain the huge
| discrepancy of experience.
|
| Programming language / stack plays plays a big role, I presume.
| CopyOnWrite wrote:
| Fair enough. Still, I was out of luck for some fairly simple
| SQL statements, were the model knows 100% of the DDL
| statements.
| knlam wrote:
| Copilot is just plain bad. The result is day and night compare
| with cursor + gemini 2.5 (of course with good prompting)
| manojlds wrote:
| Play with Cursor or Claude Code a bit and then make a decision.
| I am not on the this is going to replace Devs boat, but this
| has changed the way I code and approach things.
| CopyOnWrite wrote:
| Could you perhaps point me to a youtube video which
| demonstrates an experienced prompter sculpting code with
| Cursor/Clause Code?
|
| In my search I just found trivial examples.
|
| My critic so far:
|
| - Examples seem always to be creating a simple application
| from scratch
|
| - Examples always use super common things (like create a blog
| / simple website for CRUD)
|
| What I would love to see (see elsewhere): Adding a non
| trivial feature to a bigger code base. Just a youtube
| video/demonstration. I don't care about language/framework
| etc. ...
| kirubakaran wrote:
| This morning I made this while sipping coffee, and it
| solves a real problem for my gf:
| https://github.com/kirubakaran/xmldiffer Sure it's not
| enormous, and it was built from scratch, but imho it's not
| a trivial thing either. It would've taken me at least a day
| or two of full time work, and I certainly don't have a
| couple of days to spare on a task like this. Instead, pair
| programming with AI made it into a fun relaxing activity.
| CopyOnWrite wrote:
| I am happy to read your success story with LLM and thanks
| for sharing.
|
| Fully agreed, that LLMs/assisted coding is nice for these
| kind of contained tasks.
| CrimsonRain wrote:
| You are just bad with prompting or working with very obscure
| language/framework or bad coding pattern or all of it. I had a
| talk with a seasoned engineer who has been coding for 50 years
| and has created many amazing things over lifetime about him
| having really bad results with AI tools I suggested for him.
| When I use AI for the same purposes in the same repo he's
| working on, it works nicely. When he does it, results are
| always not what he wants. It comes down to a combination of him
| not understanding how to guide the LLMs to correct direction
| and using a language/framework (he's not familiar with) he
| can't judge the LLMs output. It is really important to know
| what you want, be able to describe it in short points (but
| important points). Points that you know ai will mess up if you
| don't specify. And also be able to figure out which direction
| the ai is heading with the solution and correct it EARLY rather
| than later. Not overloading context/memory with unnecessary
| things. Focusing on key areas to improve and much more. I'm
| using AI to get solutions done that I can definitely do myself
| but it'll take a certain amount of time to hunt down all
| documentation, API/lib calls etc. With AI, 1/10th time is
| enough.
|
| I've had massive success with java, js/TS, html css, go, rust,
| python, bitbucket pipelines/GitHub actions, cdk, docker
| compose, SQL, flutter/dart, swift etc.
| CopyOnWrite wrote:
| I do not rule out, that I am just very bad with prompting.
|
| It just surprises me, that you write you had massive
| successes with "java, js/TS, html css, go, rust, python,
| bitbucket pipelines/GitHub actions, cdk, docker compose, SQL,
| flutter/dart, swift etc.", if you include the usual
| libraries/frameworks and the diverse application areas for
| these technologies, even with LLMs support it seems to me
| crazy to be able to make meaningful contributions in non
| trivial code bases.
|
| Concerning SQL I can report another fail with LLMs, in a
| trivial code base with a handful of entities the LLM cannot
| come up with basic window functions.
|
| I would be very interested if you could write up a blog post
| or could make a youtube video demonstrating your prompting
| skills... Perhaps demonstrating with a bigger open source
| project in any of the mentioned languages how to add a non
| trivial feature with your prompting skills?
| douglasisshiny wrote:
| I've had the same experience as the person to whom you're
| responding. After reading your post, I have to ask: if you're
| putting so much effort into prompting it with specific
| points, correcting it often, etc., why not just write the
| code yourself? It sounds like you're putting a good deal of
| effort into prompting it.
|
| Aren't you worried that overtime you'll rely on it too much
| and your offhand knowledge will get worse?
| CopyOnWrite wrote:
| I have read somewhere, that LLMs are mostly helpful to
| junior developers.
|
| Is it possible the person claiming success with all these
| languages/tools/technologies is just on a junior level and
| is subjectively correct but has no point of reference how
| fast coding is for seniors and how quality code looks like?
| xandrius wrote:
| Not OP, it be comes natural and doesn't take a lot of time.
|
| Anyway, if you want to, LLMs can today help with a ton of
| programming languages and frameworks. If you use any of the
| top 5 languages and it still doesn't work for you, either
| you're doing some esoteric work or you're doing it wrong.
| CopyOnWrite wrote:
| Could you point me to a youtube video or a blog post
| which demonstrates how LLMs help writing code which
| outperforms a proficient human?
|
| My only conditions:
|
| - It must be demonstrated by adding a feature on a bigger
| code base (>= 20 LOC)
|
| - The added feature cannot be a leaf feature (means it
| must integrate with the rest of the system at multiple
| points)
|
| - The prompting has to be less effort/faster than to type
| the solution in the programming language
|
| You can chose any programming language/framework that you
| want. I don't care if it is Java, JavaScript, Typescript,
| C, Python, ... hell, I am fine with any language with or
| w/o a framework.
| pdntspa wrote:
| Tooling and available context size matters a lot. I'm having
| decent luck with Gemini 2.5 and Roo Code.
| stopyellingatme wrote:
| Same here. We have a massive codebase with large classes and
| the LLMs are not very helpful. Frontend stuff is okay sometimes
| but the backend models are too complex at this point, I guess.
| luxurytent wrote:
| > Fast forward to today, and that joy of coding is decreasing
| rapidly. Well, I'm a manager these days, so there's that... But
| even when I do get technical, I usually just open Cursor and
| prompt my way out of 90% of it. It's way more productive, but
| more passive as well.
|
| Dude's an engineering manager who codes maybe 5% of the time and
| his joy is decreasing. AI is not the problem, it's being an
| engineering manager.
| ragle wrote:
| My experience has been almost the opposite.
|
| Typing isn't the fun part of it for me. It's a necessary evil to
| realize a solution.
|
| The fun part of being an engineer for me is figuring out how it
| all should work and fit together. Once that's done - I already
| basically have all of the code for the solution in my head - I've
| just got to get it out through my fingers and slog through all
| the little ways it isn't quite right, doesn't satisfy x or y best
| practice, needs to be reshaped to accommodate some legacy thing
| it has to integrate that is utterly uninteresting to me, etc.
|
| In the old model, I'd enjoy the first few hours or days of
| working on something as I was designing it in my mind, figuring
| out how it was all going to work. Then would come the boring
| part. Toiling for days or weeks to actually get all the code just
| so and closing that long-tail gap from 90% done (and all
| interesting problems solved) to 100% done (and all frustrating
| minutia resolved).
|
| AI has dramatically reduced the amount of time the unsatisfying
| latter part of a given effort lasts for me. As someone with high-
| functioning ADD, I'm able to stay in the "stimulation zone" of
| _thinking_ about the hard / enjoyable part of the problem and let
| AI do (50-70%, depending on domain / accuracy) of the "typing
| toil".
|
| Really good prompts that specify _exactly_ what I want (in
| technical terms) are important and I still have to re-shape,
| clean up, correct things - but it's vastly different than it was
| before AI.
|
| I'm seeing on the horizon an ability to materialize solutions as
| quickly as I can think / articulate - and that to me is very
| exciting.
|
| I will say that I am ruthlessly pragmatic in my approach to
| development, focusing on the most direct solution to meet the
| need. For those that obsesses over beautiful, elegant code -
| personalizing their work as a reflection of their soul / identity
| or whatever, I can see how AI would suck all the joy from the
| process. Engineering vs. art, basically. AI art sucks and I
| expect that's as true for code as it is for anything else.
| shishy wrote:
| There is craft in business, in product, and in engineering.
|
| A lot of these discussions focus on craft in engineering and
| there's lots of merit there regarding AI tools and how they
| change that process, but I've found that folks who enjoy both the
| product side of things and the engineering side of things are
| thriving while those who were very engineering focused
| understandably feel apprehensive.
|
| I will say, in my day job, which is often at startups, I have to
| focus more on the business / product side just given the phase of
| the company. So, I get joy from engineering craft in side
| projects or other things I work on in my own time to scratch the
| itch.
| recroad wrote:
| I'm the opposite. Tabbing through boilerplate increases my flow.
| jbs789 wrote:
| I found myself recently making decent superficial progress only
| to introduce a bug and had a system crash (unusual bc it's
| python) bc I didn't really understand how the package worked (bc
| I bypassed the docs for the AI examples). It did end up working
| out ok - I then went into the weeds and realised the AI has given
| me two examples that worked in isolation but not together -
| inconsistent API calls essentially. I do like understanding what
| I'm doing as much or more than getting it done, bc it always
| comes back to you, sooner or later.
| elliotbnvl wrote:
| Would you be happier and feel more flow if you were typing in
| assembly? What about hand-punching cards? To me this reads more
| as nostalgia than a genuine concern. Tools are always increasing
| in abstraction, but there's no reason you can't achieve flow with
| new tools. Learning to prompt is the new learning to type.
| chw9e wrote:
| The things I'm usually tabbing through in cursor are not the
| things that make me feel a lot of enjoyment in your work. The
| things that are most enjoyable are usually the system level
| design aspects, the refactorings to make things work better.
| These you can brainstorm with AI, but cannot delegate to AI
| today.
|
| The rest is glorified boilerplate that I find usually saps me of
| my energy, not gives me energy. I'm a fan of anything that can
| help me skip over that and get to the more enjoyable work.
| randcraw wrote:
| This article resonates with me like no other has in years. I very
| recently retired after 40 years writing software because my role
| had evolved into a production-driven limbo. For the past decade I
| have scavenged and copied other peoples' code into bland cookie
| cutter utilities that fed, trained, ran, and summarized data
| mining ops. It has required not one whit of creative expression
| or 'flow', making my life's work as dis-engaging as that of...
| well... the most bland job you can imagine.
|
| AI had nothing to do with _my_ own loss of engagement, though
| certainly it won 't cure what ailed me. In fact, AI promises to
| do to all of software development what the mechanized data mining
| process did to my sense of creative self-expression. It will
| squeeze all the fun out of it, reducing the joy of coding (and
| its design) to plug-and-chug, rinse, repeat.
|
| IMHO the threat of AI to computer programming is not the loss of
| jobs. It's the loss of personal passionate engagement in the
| craft.
| devmor wrote:
| I think a lot of this discussion is moot - it all devolves into
| the same arguments rehashed between people who like using AI and
| people who do not.
|
| What we really need are more studies on the productivity and
| skill outcomes of using AI tools. Microsoft did one, with results
| that were very negative towards AI tools [1]. I would like to see
| more (and much larger cohort) studies along this line, whether
| they validate Microsoft's conclusions or oppose them.
|
| Personally I do not find AI coding tools to be useful at all -
| but I have not put extensive time into developing a "skillset" to
| use them optimally. Mainly because I believe, similar to what the
| study by MS found, that they are detrimental to my critical
| reasoning skills. If this turns out to be wrong, I would not mind
| evaluating changing course on that decision - but we need more
| data.
|
| 1. https://www.microsoft.com/en-us/research/wp-
| content/uploads/...
| kordlessagain wrote:
| Honestly, most of the "real engineer" rhetoric is exhausting.
| Here's the thing: the people most obsessed with software
| craftsmanship, pattern orthodoxy, and layered complexity often
| create some of the most brittle, hostile, constantly mutating
| systems imaginable. You may be able to build abstractions, but if
| you're shipping stuff that users have to re-learn every quarter
| because someone needed to justify a promotion via another UI
| revamp or tech stack rewrite, you're not designing well. You're
| just changing loudly.
|
| Also, stop gatekeeping AI tooling like it's cheating. We're not
| in a craft guild. The software landscape is full of shovelware
| and half-baked "best practices" that change more often than a
| JavaScript framework's logo. I'm not here to honor the tradition
| of suffering through YAML hell or memorizing the 400 ways to
| configure a build pipeline. I'm here to make something work well,
| fast, and that includes leveraging AI like the power tool it is.
|
| So yeah, you can keep polishing the turd pile of over-engineered
| "real" systems. The rest of us will be using AI to build, test,
| and ship faster than your weekly stand-up even finishes.
| jimbobimbo wrote:
| It's 9am in the morning. I login to my workstation and muddle my
| way through the huge enterprise code base which doesn't fit into
| any model context window for the AI tool to be useful (and even
| if it did, we can't use any random model due to compliance and
| proprietary and whatnot).
|
| I have thousands deadlines which are suddenly coming due and a
| bunch of code which is broken because some poor soul under the
| same pressure put something that "works" in. And it worked, until
| it didn't, and now it's my turn in the barrel.
|
| Is this the joy?
|
| I'm not complaining, I'm doing it for the good money.
___________________________________________________________________
(page generated 2025-04-24 23:01 UTC)