24 ms·
The Programmer Identity Crisis
- mentalgear 1y ago[flagged]
- bloppe 1y agoClearly, you have JavaScript enabled by default in your browser, so I'm wondering if you yourself are a programmer?
- AnyTimeTraveler 1y agoWhat? This website 1. reacts well to my system preference of a dark theme in my news-reader 2. has a toggle at the top for dark theme 3. works flawlessly with DarkReader in my browser Until I saw your comment, I didn't even know the website had a light version. Again: What?
- protontypes 1y agoWhenever I see an em dash (—), I suspect the entire text was written by an AI.
- psunavy03 1y agoThat says more about your lack of writing skills and understanding of grammar than AI.
- happytoexplain 1y agoThat's simply not true, and pointlessly derogatory. This article does not appear to be AI-written, but use of the emdash is undeniably correlated with AI writing. Your reasoning would only make sense if the emdash existed on keyboards. It's reasonable for even good writers to not know how or not care to do the extra keystrokes to type an emdash when they're just writing a blog post - that doesn't mean they have bad writing skills or don't understand grammar, as you have implied.
- johnisgood 1y agoPressing "-" and a space gets replaced by an emdash to me in LibreOffice. No extra keystrokes required.
- benji-york 1y agoI don't think the character is that uncommon in the output of slightly-sophisticated writers and is not hard to generate (e.g., on macOS pressing option-shift-minus generates an em-dash).
- Kerrick 1y agoIn fact, on macOS and iOS simply typing two dashes (--) gets autocorrected to an em dash. I used it heavily, which was a bit sloppy since it doesn't also insert the customary hair spaces around the em dash. Incidentally, I turned this autocorrection off when people started associating em dashes with AI writing. I now leave them manual double dashes--even less correct than before, but at least people are more likely to read my writing.
- Izkata 11mo agoThat's an en dash, not an em dash. An em dash is longer and as far as I know Libreoffice doesn't have a built-in way to make one (though you may have added it to the autocorrect settings yourself). en dash: https://www.compart.com/en/unicode/U+2013 https://www.compart.com/en/unicode/U+2013 em dash: https://www.compart.com/en/unicode/U+2014 https://www.compart.com/en/unicode/U+2014 Edit: Ah, Libreoffice does have a built-in autocorrect for em dash, but you have to type this: :---:
- johnisgood 11mo agoThanks! I did confuse the two despite knowing of both. So ":---:" does work for the em dash? I thought something with fewer keystrokes work, too, at least I remember the em dash from less, but perhaps I just typed it so quickly I did not realize it was indeed ":---:".
- 1y ago
- gdulli 1y agoThat's a silly take, just because they existed and were proper grammar before AI slop popularized them doesn't mean they're not statistically likely to indicate slop today, depending on the context.
- psunavy03 1y agoWhat's sillier is people associating em-dashes with AI slop specifically because they are unsophisticated enough never to have learned how to use them as part of their writing, and assuming everyone else must be as poor of a writer as they are. It's the literary equivalent of thinking someone must be a "hacker" because they have a Bash terminal open.
- gdulli 1y agoYou're overthinking it. LLMs exploded the prevalence of em-dashes. That doesn't mean you should assume any instance of an em-dash means LLM content, but it's a reasonable heuristic at the moment.
- psunavy03 1y ago> That doesn't mean you should assume any instance of an em-dash means LLM content No, it doesn't. But people are putting that out there, people are getting accused of using AI because they know how to use em dashes properly, and this is dumb.
- Terr_ 1y ago> but it's a reasonable heuristic I dunno, I feel like the base rate fallacy [0] could easily become a factor... Especially if we don't even have an idea what the false-positive or false-negative rates are yet, let alone true prevalence. [0] https://en.wikipedia.org/wiki/Base_rate_fallacy https://en.wikipedia.org/wiki/Base_rate_fallacy
- dkersten 11mo agoIt doesn't really matter. Before LLM's, they were relatively rarely seen, after LLM's, they are commonly seen in AI-written text. Its not unreasonable for people to associate them with being AI-written.
- IncreasePosts 1y agoReferring to an orthographic construct as grammar is not a good indication that you understand what grammar is.
- DannyPage 1y agoThe article itself is very skeptical of AI, so I highly doubt that's the case. Also in the footer: "Everything on this website—emdash and all—is created by a human."
- amflare 1y agoIronically, I love using em dashes in my writing, but if I ever have to AI generate an email or summary or something, I will remove it for this exact reason.
- dkersten 11mo agoI used to use them, but stopped because I feel it makes people think that I used an AI to write.
- deleted 1y ago[deleted]
- defgeneric 1y agoI'm seeing this reaction a lot from younger people (say, roughly under 25). And it's a shame this new suspicion has now translated into a prohibition on the use of dashes.
- almosthere 1y agoIt's comical too because the only reason AI uses emdashes is because it was so common before AI.
- kazinator 1y agoIt's utterly uncommon in the kind of casual writing for which people are using AI, that's why it got noticed. Social media posts, blogs, ... AI almost certainly picked it up mainly from typeset documents, like PDF papers. It's also possible that some models have a tokenizing rule for recognizing faked-out em-dashes made of hyphens and turning them into real em-dash tokens.
- svat 1y agoNot uncommon even on Hacker News: https://news.ycombinator.com/item?id=45071722 https://news.ycombinator.com/item?id=45071722 On my own (long abandoned) blog, about 20% of (public) posts seem to contain an em dash: https://shreevatsa.wordpress.com/?s=%E2%80%94 https://shreevatsa.wordpress.com/?s=%E2%80%94 (going by 4 pages of search results for the em dash vs 21 pages in total).
- kazinator 1y agoI use three hyphens. In my case, I picked it up from Knuth's TeX many years ago; it's a lexical notation which typesets to a proper em dash. Three hyphens---it looks good! When I use three hyphens, it's like I dropped three fast rounds out of a magazine. It demands attention.
- protontypes 1y agoMaybe because the em dash is not on the keyboard of most people? It is not about the dash, but about the long em dash.
- random3 1y agoWhenever I see these takes, I'm thinking of Idiocracy - a world built on very simple rules, like yours.
- commandlinefan 1y agoI published a book once (way before LLMs came along). My publisher insisted that I replace parenthetical inserts with em dashes. Humans do use them.
- pteetor 1y agoWhen COBOL was born, some people said, "It's English! We won't need programmers anymore!" When SQL was born, some people said, "It's English! We won't need programmers anymore!" Now we have AI prompting, and some people are saying, "It's English! We won't need programmers anymore!" Really?
- Legend2440 1y agoThe problem I have with this argument is that it actually is English this time. COBOL and SQL aren't English, they're formal languages with keywords that look like English. LLMs work with informal language in a way that computers have never been able to before.
- skydhash 1y agoSay that to the prompt guys and their AGENT.md rules. Formalism is way easier than whatever this guys are concocting. And true programmer bliss is live programming. Common programming is like writing a sheet music and having someone else play it. Live programming is you at the instrument tweaking each part.
- saxenaabhi 1y agoYes natural languages are by nature ambiguous. Sometimes it's better to write specification in code rather than in a natural language(Jetbrains MPS for example).
- layer8 1y agoOn the other hand, the problem is exactly that it’s not a formal language.
- Legend2440 1y agoThis is also a strength. Formal languages struggle to work with concepts that cannot be precisely defined, which are especially common in the physical world. e.g. it is difficult to write a traditional program to wash dishes, because how do you formally define a dish? You can only show examples of dishes and not-dishes. This is where informal language and neural networks shine.
- greymalik 1y ago> One could only wonder why they became a programmer in the first place, given their seeming disinterest in coding. To solve problems. Coding is the means to an end, not the end itself. > careful configuration of our editor, tinkering with dot files, and dev environments That may be fun for you, but it doesn’t add value. It’s accidental complexity that I am happy to delegate.
- deleted 1y ago[deleted]
- GaryBluto 1y agoThese are my thoughts exactly. Whenever I use agents to assist me in creating a simple program for myself, I carefully guide it through everything I want created, with me usually writing pages and pages of detailed plaintext instructions and specifications when it comes to the backends of things, I then modify it and design a user interface. I very much enjoy the end product and I also enjoy designing (not necessarily programming) a program that fits my needs, but rarely implementing, as I have issues focusing on things.
- whynotminot 1y agoI got a few paragraphs into this piece before rolling my eyes and putting it down. I consider myself an engineer — a problem solver. Like you said, code is just the means to solve the problems put before me. I’m just as content if solving the problem turns out to be a process change or user education instead of a code commit. I have no fetish for my terminal window or IDE.
- NewsaHackO 1y agoThe issue is that a lot of “programmers” think bike-shedding is the essence of programming. Fifty years ago, they would have been the ones saying that not using punch cards takes away from the art of programming, and then proudly showing off multiple intricate hole punchers they designed for different scenarios. Good problem solvers... solve problems. The technological environment will never devalue their skills. It’s only those who rest on their laurels who have this issue.
- RamtinJ95 1y agoI think "Identity Crisis" is a bit over dramatic, but I for the most part agree with the sentiment. I have written something in the same vane, but still different enough that I would love to comment it but its just way more efficient to point to my post. I hope that is OK: https://handmadeoasis.com/ai-and-software-engineering-the-conflict-within/ https://handmadeoasis.com/ai-and-software-engineering-the-co...
- mncharity 1y agoI liked your emphasis on individual diversity, and an attendant need to explore, select, adapt, and integrate tooling. With associated self-awareness. Pushing that further, your "categories" seem more like exemplars/prototypes/archetypes/user-stories, helpful discussion points in a high-dimensional space of blended blobs. And as you illustrate, it branches not just on the individual, but also on what they are up to. And not just on work vs hobby, but on context and task. It'd be neat to have a big user story catalog/map, which tracks what various services are able to help with. I was a kid in NE43 instead of TFA's Building 26 across the street - with Lisp Machines and 1980s MIT AI's "Programmer's Apprentice" dreams. I years ago gave up on ever having a "this... doesn't suck" dev env, on being able to "dance code". We've had such a badly crippling research and industrial policy, and profession... "not in my lifetime" I thought. Knock on wood, I'm so happy for this chance at being wrong. And also, for "let's just imagine for a moment, ignoring the utterly absurd resources it would take to create, science education content that wasn't a wretched disaster... what might that look like?" - here too it's LLMs, or no chance at all.
- RamtinJ95 1y agoThat is actually a great idea, and I agree it would be very useful to have such a catalog/map! I wonder though if the space is mature enough for such a map or if it would become to generic to say anything meaningful.
- jimbokun 1y agoI can think of few truer identity crises than having a craft you have spent years honing and perfecting automated away.
- oldestofsports 1y agoGetting rid of the programmer has always been the wet dream of managers, and LLMs are being sold as the solution. Maybe it is
- commandlinefan 1y agoThis comes up whenever _anything_ is automated: "this is the end of programming as a career!" I heard this about Rational Rose in the 90's, and Visual Basic in the 80's. I don't think I'm sticking my head in the sand - an advanced enough intelligence could absolutely take over programming tasks - but I also think that such an intelligence would be able to take over _every_ thought-related task. And that may not be a bad thing! Although the nature of our economy would have to change quite a bit to accommodate it. I might be wrong: Doug Hofstadter, who is way, way smarter than me, once predicted that no machine would ever beat a human at chess unless it was the type of machine that said "I'm bored of chess now, I would prefer to talk about poetry". Maybe coding can be distilled to a set of heuristics the way chess programs have (I don't think so, but maybe). Whether we're right or wrong, there's not much we can do about it except continue to learn.
- pmg101 1y agoVisual Basic didn't exist in the 80's. First release was 1991. Thanks for reminding me about Rational Rose though! That was a nostalgia trip
- commandlinefan 11mo agoMan, these days I'm lucky if I get the century right.
- pjmlp 11mo agoI can tell that nowadays in what concerns distributed systems built on top of SaaS enterprise products, using MACH architecture approach, my programming at work is quite minimal. Most of my programming skills are kept up to date on side projects, thanfully I can managed the time to do them, between family and friends.
- mathieudombrock 1y agoI found this article really interesting. This is pretty much exactly how I feel about LLM programming. I really enjoy programming and like the author said, it's my hobby. On some level I kind of resent the fact that I don't really get to do my hobby for work any more. It's something fundamentally different now.
- knuckleheads 1y ago> Creative puzzle-solving is left to the machines, and we become mere operators disassociated from our craft. For me, at least, this has not been the case. If I leave the creative puzzle-solving to the machine, it's gonna get creative alright, and create me a mess to clean up. Whether this will be true in the future, hard to say. But, for now, I am happy to let the machines write all the React code I don't feel like writing while I think about other things. Additionally, as an aside, I already don't think coding is always a craft. I think we want it to be one because it gives us the aura of craftspeople. We want to imagine ourselves as bent over a hunk of marble, carving a masterpiece in our own way, in our time. And for some of us, that is true. For most programmers in human history though, they were already slinging slop before anybody had coined the term. Where is the inherent dignity and human spirit on display in the internal admin tool at a second tier insurance company? Certainly, there is business value there, but it doesn't require a Michalengo to make something that takes in a pdf and spits out a slightly changed pdf. Most code is already industrial code, which is precisely the opposite of code as craft. We are dissociated from the code we write, the company owns it, not us, which is by definition the opposite of a craftsmen and craft mode of production. I think AI is putting a finer, sharper point on this, but it was already there and has been since the beginning of the field.
- thorn 1y agoThank you, author. This essay made my day. It resonates with my thinking of last months. I tried to use AI at work, but most of times I regrettably scratched whatever it did and did stuff on my own. So many points I agree with. Delegating thinking to AI is the worst thing I can do to my career. AI at best is mediocre text generator. So funny to read how people attack author using non-related to the essay’s message criticism.
- cardanome 1y agoThe worst thing for me is that I am actually good at LLM-based coding My coworkers that are in love with this new world are producing complete AI slop and still take ages to complete tasks. Meanwhile I can finally play my strength as I actually know software architecture, can ask the LLM to consider important corner case and so on. Plus, I am naturally good at context management. Being neurodivergent has given me decades of practice in working with entities that have a different way of thinking that me own. I have more mechanical empathy for the LLM because I don't confuse it for a human. My coworkers meanwhile get super frustrated that the LLM can not read their mind. That said, LLMs are getting better. My advantage will not last. And the more AI slop gets produced the more we need LLMs to cope with all the AI slop in our code bases. A vicious cycle. No one will actually know what the code does. Soon my job will mostly consist of praying to the machine gods.
- interroboink 1y agoIt seems to me that someone like you, seen from the outside (e.g. from a code-reviewing colleague), simply appears to be getting more productive, with no drop in quality. Maybe some stylistic shifts. I don't think anyone is complaining about that too much. I wonder how many people there are like you, where we don't get much data. If people don't complain about it, we generally don't hear about it, because they're just quietly moving on with their work. Not to be confused with the AI hypesters who are loudly touting the benefits with dubious claims, of course (:
- fuzzzerd 1y agoI think I also fit into this category. Minor to medium productivity boost and maybe some stylistic evolving, but largely no complaints because it's just another tool I use sometimes.
- GaryBluto 1y ago> Creative puzzle-solving is left to the machines, and we become mere operators disassociated from our craft. You could say that about programming languages in general. "Why are we leaving all the direct binary programming for the compilers?"
- AfterHIA 1y agoJohn Von Neumann famously questioned the value of compilers. Eventually we get the keyboard kids that have dominated computing since the early 70's in some form or another whether in a forward thinking way like Dan Ingalls or in an idealic way like the gcc/Free Software crowd. In parallel to this you have people like Laurel, Sutherland, Nelson who live in lateral thinking land. The real issue is that we've been in-store for a big paradigm shift in how we interact with computers for decades at this point. SketchPad let us do competent, constraints based mathematics with images. Video games and the Logo language demonstrate the potential for programming using, "kinetics." In the future we won't code with symbols we'll dance our intent into and through the machine. https://www.youtube.com/watch?v=6orsmFndx_o https://www.youtube.com/watch?v=6orsmFndx_o http://www.squeakland.org/tutorials/ http://www.squeakland.org/tutorials/ https://vimeo.com/27344103 https://vimeo.com/27344103
- JKCalhoun 1y agoFull disclosure: I am old. When I started programming for Corporate™ back 1995, it was a wildly different career than what it has become. Say what you want about the lunatics running the asylum, but we liked it that way. Engineering knew their audience, knew the tech stack, knew what was going on in "the industry", ultimately called the shots. Your code was your private sandbox. Want to rewrite it every other release? Go for it. Like to put your curly braces on a new line? Like TABs (good for you)? Go for it. It's your code, you own it. (You break it, you fix it.) No unit tests (we called that parameter checking). No code reviews (well, nothing formal — often, time was spent in co-workers offices talking over approaches, white-boarding API… Often if a bug was discovered or known, you just fixed it. There may have been a formal process beginning, but to the lunatics, that was optional. You can imagine how management felt — having to essentially just trust the devs to deliver. In the end management won, of course. When I am asked if I am sorry that I left Apple, I have to tell people, no. I miss working at Apple in the 90's, but that Apple was never coming back. And I hate to say it, but I suspect the industry itself will never return to those "cowboy coding" days. It was fun while it lasted.
- veegee 1y ago[flagged]
- dugmartin 1y agoI started around the same time. No unit tests but we did have code reviews because of ISO 9001 requirements. That meant printing out the diffs on the laser printer and corralling 3 people into a meeting room to pour over them and then have them literally sign off on the change. This was for an RTOS that ran big industrial controls in things like steel plants and offshore oil rigs. Project management was a 40 foot Gantt chart printed out on laser printer paper and taped to the wall. The sweet sound of waterfall.
- jay_kyburz 1y agoTry game dev. It's still like that today.
- 1y ago
- alganet 1y agoI believe this sentiment to be a mistake. The IT world is waiting for a revolution. Only in order to blame that revolution for the mistakes of a few powerful people. I would not be surprised if all this revolutionary sentiment is manufactured. That thing about "Luddites" (not a thing that will stick by the way), this nostalgic stuff, all of it. We need to be much smarter than that and not fall for such obvious traps. An identity is a target on your back. We don't need one. We don't need to unite to a cause, we're already amongst one of the most united kinds of workers there is, and we don't need a galvanizing identity to do it.
- furyofantares 1y agoIgnoring LLMs for a second, some code I write is done in sort of full-craft full-diligence mode, where I am only committing something where I am very proud of it's structure and of every line of code. I know it inside and out, I have reasons for every decision, major or minor, and I don't know of any ways to make it better. Not only is the code excellent, I've also produced a person (me) who is an expert in that code. Most code is not like that. Most code I want to get something done, and so I achieve something quite a bit below that bar. But some things I get to write in that way, and it is very rewarding to do so. It's my favorite code to write by a mile. Back to LLMs - I find it is both easier than ever and harder than ever to write code in that mode. Easier than ever because, if I can actually get and stay in that mode psychologically, I can get the result I want faster, and the bar is higher. Even though I am able to write MUCH better code than an LLM is, I can write even better code with LLM assistance. But it is harder than ever to get into that mode and stay in that mode. It is so easy to just skim LLM-generated code, and it looks good and it works. But it's bad code, maybe just a little bit at first, but it gets worse and worse the more you let through. Heck, sometimes it just starts out as not-excellent code, but every time you accept it without enough diligence the next output is worse. And by the time you notice it's often too late, you've slopped yourself, while also failing to produce an expert in the code that's been written.
- emerongi 1y agoWithin the past 2 months, as I've started to use AI more, I've had this trajectory: 1. only using AI for small things, very impressed by it 2. giving AI bigger tasks and figuring out how to use it well for those bigger tasks 3. full-agentic mode where AI just does its thing and I review the code at the end 4. realising that I still need to think through all the code and that AI is not the shortcut I was hoping it to be (e.g. where I can give it a high-level plan and be reasonably satisfied with the final code) 5. going back to giving AI small tasks I've found AI is very useful for research, proof-of-concepts and throwaway code of "this works, but is completely unacceptable in production". It's work I tend to do anyway before I start tackling the final solution. Big-picture coding is in my hands, but AI is good at filling in the logic for functions and helping out with other small things.
- dennisy 1y agoI absolutely loved this piece. I also agree with comments on this thread stating that problem solving should be the focus and not the code. However my view is that our ability to solve problems which require a specific type of deep thought will diminish over time as we allow for AI to do more of this type of thinking. Purely asking for a feature is not “problem solving”.
- akra 1y agoI think you can enjoy both aspects - both the problem solving and the craft. There will be people who agree that of course from a rational perspective solving the problem is what matters, but for them personally the "fun" is gone. Generally people that identify themselves as "programmers" as the article does would be the people who enjoy problem solving/tinkering/building.
- JambalayaJimbo 1y agoWhat if you want to be a better problem solver (in the tech domain)? Where should you focus your efforts? That's what is confusing to me. There is a massive war between the LLM optimists and pessimists. Whenever I personally use LLM tools, they are disappointing albeit still useful. The optimists tell me I should be learning how to prompt better, that I should be spending time learning about agentic patterns. The pessimists tell me that I should be focusing on fundamentals.
- groby_b 1y agoOK, but if you can't find out how to use new tools well, how good are you really as a craftsperson? "We've always done it this way" is the path of calcification, not of a vibrant craft. And there are certainly many ways you can use LLMs to craft better things, without slop and vibecoding.
- bentt 1y agoSome people code to talk and don't want anything said for them. That's okay. Photography and paintings landed in different places with different purposes. But all of Programming isn't the same thing. We just need new names for different types of programmers. I'm sure there were farmers that lamented the advent of machines because of how it threatened their identity, their connection to the land, etc.... but I want to personally thank the farmers who just got after growing food for the rest of us.
- strix_varius 1y agoTo me, the most salient point was this: > Code reviewing coworkers are rapidly losing their minds as they come to the crushing realization that they are now the first layer of quality control instead of one of the last. Asked to review; forced to pick apart. Calling out freshly added functions that are never called, hallucinated library additions, and obvious runtime or compilation errors. All while the author—who clearly only skimmed their “own” code—is taking no responsibility, going “whoopsie, Claude wrote that. Silly AI, ha-ha.” LLMs have made Brandolini's law ("The amount of energy needed to refute bullshit is an order of magnitude larger than to produce it") perhaps understated. When an inexperienced or just inexpert developer can generate thousands of lines of code in minutes, the responsibility for keeping a system correct & sane gets offloaded to the reviewers who still know how to reason with human intelligence. As a litmus test, look at a PR's added/removed LoC delta. LLM-written ones are almost entirely additive, whereas good senior engineers often remove as much code as they add.
- CjHuber 1y agoI'd say it depends on how coding assistants are used, when on autopilot I'd agree, as they don't really take the time to reflect on the work they've done before going on with the next feature of the spec. But in a collaborative process that's of course different as you are pointing out things you want to have implemented in a different way. But I get your point, most PR's you'd flag as AI generated slop are the ones where someone just ran them on autopilot and was somewhat satisfied with the outcome, while treating the resulting code as blackbox
- jihadjihad 1y ago> whereas good senior engineers often remove as much code as they add https://www.folklore.org/Negative_2000_Lines_Of_Code.html https://www.folklore.org/Negative_2000_Lines_Of_Code.html
- MisterTea 1y ago"One of my most productive days was throwing away 1000 lines of code." - Ken Thompson
- pjmlp 1y agoTo be honest I already reached that identity crisis even before LLMs. Nowadays many enterprise projects have become placing SaaS products together, via low code/no code integrations. A SaaS product for the CMS, another one for assets, another for ecommerce and payments, another for sending emails, another for marketing, some edge product for hosting the frontend, finally some no code tools to integrate everything, or some serverless code hosted somewhere. Welcome to MACH architecture. Agents now made this even less about programming, as the integrations can be orchestrated via agents, instead of low code/no code/serverless.
- kharak 1y agoI'm in the opposite camp. Programming has never been fun to me, and LLMs are a godsend to deal with all the parts I don't care for. LLMs have accelerated my learning speed and productivity, and believe it or not, programming even started to become fun and engaging! I will never, ever go back to the time before.
- muldvarp 1y agoI think in a few years, we will realize that LLMs have impacted our lives in a deeply negative way. The relatively small improvements LLMs bring to my life will be vastly outweighted by the negatives. If LLM abilities stagnate around the current level it's not even out of the question that LLMs will negatively impact productivity simply because of all of the AI slop we'll have to deal with.
- igor47 1y agoHmmm. Interesting prediction. I think even on social media, the consensus is still shaky, and social media is an unalloyed bad IMHO. I think personal cars impacted our lives in a deeply negative way but most people disagree. There is really no consensus on LLMs right now, I think if they stagnate this is where the discourse will stagnate also. More likely, like other tools, it will be possible to point to clear harms and clear benefits, and people will disagree about the overall impact.
- int_19h 11mo agoLet's be clear about one thing, though. LLMs are simply tools, which can be used for good or for bad. It's specific people who do and promote the latter - top management of tech companies, for example. It's those people who are creating the negatives in my life and who tank quality for the sake of "productivity". Point the finger and say it out loud. They shouldn't be able to hide behind the tech.
- debo_ 1y agoAs an aside, I've been using copilot code review before handing off any of my code to colleagues. It's a bit pedantic, but it generally catches all the most stupid things I've done so that the final code review tends to be pretty smooth. I hate to suggest that the fix to LLM slop is more LLMs, but in this case it's working for me. My coworkers also seem to appreciate the gesture.
- jimbokun 1y agoIt’s fascinating idea, though, to invert the process and have devs develop and LLMs do the code reviews. Might be more productive in the long run.
- bloppe 1y agoI agree that LLMs are great for a cursory review, but crucially, when you ask copilot to review your code, you actually read and think about everything copilot tells you in the response. The biggest issues arise because people will blindly submit AI-generated code without reading or thinking about it.
- BubbleRings 1y agoHi op. “Conform or be cast out” ha. Read your article then right after got an email announcing Rush tickets going on sale. Must be a sign I should go. I forwarded your article to my son the dev, since your post captured the magic of being a programmer so well. And yes Levy’s book Hackers is most excellent.
- apprentice7 1y agoSubdivisions is my favourite song of all time and I thought about Rush as well while reading that line.
- sharadov 1y agoGreat read, unlike technologies of the past that automated away the dangerous/boring/repetitive/soul-sucking jobs, LLM's are an assault on our thinking. Social media already reduced our attention spans to that of goldfish, open offices made any sort of deep meaningful work impossible. I hope this madness dies before it devours us.
- jimbokun 1y agoProbably too late.
- bloppe 1y agoPeople have long talked about how reading code is far more important than writing code when working as a professional SWE. LLMs have only increased the relative importance of code review. If you're not doing a detailed code review of every line your LLM generates (just like you should have always been doing while reviewing human-generated code), you're doing a bad job. Sure, it's less fun, but that's not the point. You're a professional.
- lordnacho 1y agoTruly, the ideas in this essay are reflected in this comment section. It's like that trope of the little angel and demon sitting on the protagonist's shoulders. "I can get more work done" "But it's not proper work" "Sometimes it doesn't matter if it's proper work, not everything is important" "But you won't learn the tools" "Tools are incidental" "I feel like I'm not close to the craft" "Your colleagues weren't really reading your PRs anyway" "This isn't just another tool" "This is just another tool" And so on forever. I'm staying to think that if you don't have both these opposing views swirling around in your mind, you haven't thought enough about it.
- deleted 1y ago[deleted]
- jamboca 1y agoI am a programmer. I don’t think LLMs will replace/wipe out software engineers. The author sounds like a scribe meditating on the arrival of the printing press.
- aeblyve 1y agoThis process has been affecting most of the world's workers for the past several centuries. Programming has received a special treatment for the last few decades, and it's understandable that HN users would jump to protect their life investment, but it need not. Hand-coding can continue, just like knitting co-exists with machine looms, but it need not ultimately maintain a grip on the software productive process. It is better to come to terms with this reality sooner rather than later in my opinion.
- fellowniusmonk 1y agoI started writing code in basic on a beige box. My first code on windows was a vb6 window that looked like the AOL login screen and used open email relays to send me passwords. I've written a ton of code in my life and while I've been a successful startup CTO, I've always stayed in IC level roles (I'm in one right now in addition to hobby coding) outside of that, data structures and pipelines, keep it simple, all that stuff that makes a thing work and maintainable. But here is the thing, writing code isn't my identity, being a programmer, vim vs emacs, mechanical keyboard, RTFM noob, pure functions, serverless, leetcode, cargo culting, complexity merchants, resume driven dev, early semantic css lunacy, these are thing outside of me. I have explored all of these things, had them be part of my life for better or worse, but they aren't who I am. I am a guy born with a bunch of heart defects who is happy to be here and trying new stuff, I want to explore in space and abstraction through the short slice of time I've got. I want to figure stuff out and make things and sometimes that's with a keyboard and sometimes that's with a hammer. I think there are a lot of societal status issues (devs were mostly low social status until The Social Network came out) and personal identity issues. I've seen that for 40 years, anything tied to a persons identity is basically a thing they can't be honest about, can't update their priors on, can't reason about. And people who feel secure and appreciated don't give much grace to those who don't, a lot of callous people out there, in the dev community too. I don't know why people are so fast to narrow the scope of who they are. Humans emit meaning like stars emit photons. The natural world would go on without us, but as far as we have empirically observed we make the maximally complex, multi modally coherent meaning of the universe. We are each like a unique write head in the random walk of giving the universe meaning. There are a ton of issues from a network resilience and maximizing the random meaning generation walk where Ai and consolidation are extremely dangerous, I think as far as new stuff in the pipeline it's between Ai and artificial wombs that have the greatest risks for narrowing the scope of human discovery and unique meaning expansion to a catastrophic point. But so many of these arguments are just post-hoc rationalizations to poorly justify what at root is this loss of self identity, we were always in the business of automating jobs out from under people, this is very weak tea and crocodile tears. The simple fact is, all our tools should allow us to have materially more comfortable and free lives, the Ai isn't the problem, it's the fact that devs didn't understand that tech is best when empowering people to think and connect better and have more freedom and self determination with their time. If that isn't happening it's not the codes fault, it's the network architecture of our current human power structures fault.
- casey2 1y agoProgrammer isn't a real thing, all these classes of people are made up. The biggesdt difference between an iPad Toddler and Dijkstra is that the toddler is much more efficient at programming. Sure you can discover things that aren't intuitively obvious and these things may be useful, but that's more scientist than anything to do with programming. programming + science = computer science programming + engineering = software engineering programming + iPad = interactive computing programming + AI = vibe coding Don't equate programming with software engineering when they are clearly two distinct things. This article would more accurately be called the software engineers' identity crisis. Maybe some hobby engineers (programming + craft) might also be feeling this depending on how many external tools they already rely on. What's really shocking is how many software engineers claim to put in Herculean effort in their code, but ship it on top (or adjacent if you have an API) of "platforms" that could scarcely be less predictable. These platforms have to work very hard to build trust, but it's all meaningless cause users are locked in anyway. When user abuse is rampant people are going to look for deus ex machina and some slimy guy will be there to sell it to them.
- rafaelero 1y agoIt's honestly not that deep. If AI increases productivity, we should accept it. If it doesn't, then the hype will eventually fade out. In any case, having attachment to the craft is a bit cringe. Technological progress trumps any emotional attachment.
- toprerules 11mo agoI sincerely wonder how some people go around having 0 emotional attachment to any of their hobbies or passions - or maybe you're just extremely unfortunate and live your life completely focused on producing output for someone else.
- rafaelero 11mo agoContributing to human welfare through technological advances and productivity gains is a much better place to deposit my hopes and emotions, imo.
- travisgriggs 1y ago> I would love to read a study on why people so readily believe and trust in AI chatbots. We associate authority experts with a) quick and b) broad answers. It's like when we're listening to a radio show and they patch in "Dr So N. So" an expert in Whatever from Academia Forever U. They seem to know their stuff because a) they don't see "I don't know, let me get back to you after I've looked into that" and they can share a breadth of associated validations. LLMs simulate this experience, by giving broadish, confident, answers very quickly. We have been trained by life's many experiences to trust these types of answers.
- smoody07 1y agoIt really is a higher level language for coding though. Not as precise as Fortran but far more upside. I imagine monks bemoaning the printing press that took away the joy of their perfectly handwritten bibles they made in solitude
- igor47 1y agoWelcome to HN! I don't think you understood TFA. A) LLM prompting is categorically different from Fortan, not another version of it that's 'less precise'. B) 'upside' again is entirely different from craftsmanship.
- altairprime 1y ago> LLMs seem like a nuke-it-from-orbit solution to the complexities of software. Rather than addressing the actual problems, we reached for something far more complex and nebulous to cure the symptoms. The author overlooks a core motivation of AI here: to centralize the high-skill high-cost “creative” workers into just the companies that design AIs, so that every other business in the world can fire their creative workers and go back to having industrial cogs that do what they’re told instead of coming up with ‘improvements’ that impact profits. It’s not that the companies are reaching for something complex and nebulous. It’s that companies are being told “AI lets you eject your complex and nebulous creative workers”, which is a vast reduction in nearly everyone’s business complexity. Put in the terms of a classic story, “The Wizard of Oz”, no one bothers to look behind the curtain because everything is easier for them — and if there’s one constant across both people and corporations, it’s the willingness to disregard long-term concerns for short-term improvements so long as someone else has to pay the tradeoff.
- igor47 1y agoYes! This happened in so many industries. Banking is my go to example, where we used to have local bankers making decisions based on local knowledge of their community, but then decision making was centralized into remote central HQs and the local bankers moved into living below the API, while the central HQ guys began to make all the bucks. See also "seeing like a state" and the concept of legibility.
- effdee 1y agoThe use of HAL 9000 in the top divider is a nice touch.
- effdee 1y agoHint: click it!
- throw_9fdf9 1y agoWhen I became a software engineer about two decades ago, I held a similar world view as the OP: programming is a craft, I'm an artist, a creator, a hacker. With years, as I matured, and the industry matured, I came to realize that corporate programming is assembly line work but with a much bigger paycheck. You can dance around it as much as you want, but in the end, if you truly zoom out, you will realize that it's no different from an assembly line. There are managers to oversee your work and your time allocations; there is a belief that more people = more output; and everyone past your manager's manager seem to think that what you do is trivial and can be easily replaced by robots. So a software engineer who calls himself an artist is basically that same as a woodworker who works for a big furniture company, and yet insists on calling himself an artist, and referring to their work as craft, while in reality they assemble someone's else vision and product, by using industry standard tools. And at first, I tried to resist. I held strong opinions as the OP. How come they came for MY CRAFT?! But then I realized that there is no craft. Sure, a handful of people work on really cool things. But if you look around, most companies are just plain dumb REST services with a new an outfit slapped on them. There is no craft. The craft has been distilled and filtered into 3-4 popular frameworks that dictate how things should be written, and chances are if I take an engineer and drop them in another company using the same framework, they won't even notice. Craft is when you build something new and unique, not when you deploy NextJS to Vercel with shadcn/ui and look like the other 99% of new-age SaaS offerings. So I gave up. And I mainly use AI at my $DAY_JOB. Because why not? It was mundane work before (same REST endpoints, but with different names; copying and pasting around common code blocks), and now I don't suffer that much anymore. Instead of navigating the slop that my coworkers wrote before AI, I just review what AI wrote, in small pieces, and make sure it works as expected. Clean code? Hexagonal architecture? Separation of concerns? Give me a break. These are tools for "architects" and "tech leads" to earn a pat on their shoulder and stroke their ego, so they can move to a different company, collecting a bigger paycheck, while I get stuck with their overengineered solutions. If I want to craft, I write code in my free time when I'm not limited by corner-cutting philosophy, abusive deadlines, and (some) incompetent coworkers each with their ego spanning to the moon as if instead of building a REST service for 7 users, they are building a world transforming and life-saving device for billions (powered by web3/blockchain/AI of course). </rant>
- 11mo ago
- KronisLV 1y agoI see your positive view on programming and raise you this: https://www.stilldrinking.org/programming-sucks https://www.stilldrinking.org/programming-sucks The fact of the matter is, that a lot of the development work out there is just boilerplate: build scripts, bootstrapping and configuration, defining mappings for Web APIs and ORMs (or any type of DB interaction), as well as dealing with endless build chain errors and stuff I honestly think is bullshit. When I see a TypeScript error that's borderline incomprehensible, sometimes I just want to turn to an LLM (or any tool, if there were enough of formalized methods and automatic fixes/refactoring to make LLMs irrelevant, I'd be glad!) and tell it "Here's the intent, make it work." It's fun to me to dig into the code when I want to reason about the problem space and the domain, but NOT very much so when I have to do menial plumbing. Or work with underdocumented code by people long gone. Or work on crappy workarounds and bandaids on top of bandaids, that were pushed out the door due to looming deadlines, sometimes by myself 2 months prior. Or work with a bad pattern in the codebase, knowing that refactoring it might take changes in 30 times that I don't have enough time for right now. LLM makes some of those issues dissolve, or at least have so little friction that they become solvable. Assumption: when I use LLMs, I treat it as any other code, e.g. it must compile, it must be readable, make sense and also work.
- spicymaki 11mo agoI feel that for long time people coming into the industry did not really care about code as a craft, but more of code as easy money. This was first salient to me when I saw posts about opensource developers who make critical infrastructure living hand to mouth. Then the day in the life of a software engineer working in a coffee shop. Then the bootcamps or just learn to code movement. Then the leetcode grinders. Then developers living in cars in SF due to lack of affordable housing. Now it is about developers vibe coding themselves out of a job. The issue is and will always be that developers are not true professionals. The standards are loosely enforced and we do a poor job of controlling who comes in and out of the industry. There are no ethics codes, skillsets are arbitrary, and we don't have any representation. Worst yet we bought into this egocentric mindset where abuses to workers and customers are overlooked. This makes no sense to me. Lawyers have bar associations, doctors have medical associations, coders have existential angst. Now the bosses are like automate your way out of a job or you will lose your job. I always ask myself, in what other "profession" would its members be so hostile to their own interests?
- nuancebydefault 11mo agoI think the profession of teacher comes close. There are extremely good and extremely bad teachers and everything in between. Knowing the subject you teach very well does not guarantee you can teach it well, often on the contrary. Maybe coders can see themselves as teachers to the machine. Either they teach character by character, or vibe idea by vibe idea, or anything in between.
- deleted 11mo ago[deleted]
- yuye 11mo agoBecause there's a difference between a "coder" and a software engineer. Someone who finished a bootcamp might be able to write a simple program in Python, but that doesn't make them a software engineer. I've said this out loud before and have gotten told I'm an elitist, that my degree doesn't make me better at software than those without one. That majoring in computer science teaches you only esoteric knowledge that can't be applied in a "real job". On the other hand, the industry being less strict about degrees can be considered a positive. There definitely do exist extremely talented self-taught software engineers that have made a great career for themselves. But I definitely agree with the need of some sort of standard. I don't care if some bootcamper gets a job at the latest "AI on the blockchain as a service" unicorn startup, good for them. I'd rather have people with formal degrees work on something like a Therac-25, though.
- aryairani 11mo ago> There aren’t enough swear words in the English language to adequately describe how frustrating computers and programming can be, but we have at least always been able to count on them for precision: to perform exactly as instructed through programming. This is so true. That feeling when you're debugging an issue in your code, only to rule out all the possibilities and have to expand your search to include not-your-code: the tooling, the libraries, the operating system, the hardware. This is the worst feeling in debugging, when the problem and the solution /might/ be outside of your control. With LLM/GenAI, the primary problem solving surface is nondeterministic by design, very much out of your control, and you will likely be gaslit into believing that you're just not hitting it right. Like a tube tv that has to be slapped just the right way to restore proper reception. (Sorry, bots, no offense intended.) > What’s next, TPS reports? I bet LLMs are really good at producing TPS reports w/ cover sheet.
- game_the0ry 11mo agoI am sad about losing "the craft" but fwiw I think there will still be creative to work to be done at the edge of what we know and do as programmers. LLMs only synthesize what's known (the training data) and I think there will still be space for human creativity. At least for now.
- bagacrap 11mo agoI am definitely going to reuse the term "slop-jockey".