Live data from Hacker News

The Programmer Identity Crisis

hojberg.xyz

211–220 of 317 posts

Re: The Programmer Identity Crisis

#211

Earlier quoted context omitted.

This is so funny to me. Hand-coding is no longer "the future"? Did an AI write your post or did you "hand write it"? Code needs to be simple and maintainable and do what it needs to do. Auto complete wasn't a huge time saver because writing code wasn't the bottleneck then and it definitely is not the bottleneck now. How much you rely on an LLM won't necessarily change the quality or speed of what you produce. Special…

> Code needs to be simple and maintainable and do what it needs to do. And yet after 3 decades in the industry I can tell you this fantasy exists only on snarky HN comments. > Hand-coding is no longer "the future"? hand-coding is 100% not the future, there are teams already that absolutely do not hand-code anything anymore (I help with one of them that used to have 19 "hand-coders" :) ). The typing for sure will get…

This is how black swan events are born.

Re: The Programmer Identity Crisis

#212
post #160

Earlier quoted context omitted.

Call me crazy, but my guess is that that may not have been able to happen without the decade of experience it took you to get to the Staff level engineering position at a big tech company which has enabled you to gain the skills required to review the AI code you're producing properly.

Totally true. But that's also a different point than "But I love using my knives!"

I thought it's interesting that GPT5's comments (on prompting it for feedback on the article) seem to overlap with some of the points you guys made:

   My [GPT5's -poster's note] take / Reflections
   
   I find the article a useful provocation: 
   it asks us to reflect on what we value in being programmers.
   
   It’s not anti-AI per se, but it is anti-losing-the-core craft.
   
   For someone in your position (in *redacted* / Europe) 
   it raises questions about what kind of programming work you want: 
   deep, challenging, craft-oriented, or more tool/AI mediated.
   
   It might also suggest you think about building skills 
   that are robust to automation: e.g., architecture, 
   critical thinking, complex problem solving, domain knowledge.
   
   The identity crisis is less about “will we have programmers” and 
   more “what shapes will programming roles take”.

Re: The Programmer Identity Crisis

#215
post #93

Earlier quoted context omitted.

But what if the New Way to prepare food was to put a box into a microwave , wait 60 seconds, then hand it to the customer? Sure the customer still gets fed but it's a far inferior product... And is that chef really cheffing?

If that's your analogy, then shouldn't you be able to dominate the market by not using AI?

Cheap, fast, mechanised food provision does dominate the market. For price reasons

Nevertheless there's still a luxury market for hand prepared food.

Perhaps software will evolve the same way

Re: The Programmer Identity Crisis

#216
post #128

Earlier quoted context omitted.

> but it doesn’t add value Sad to see people reduce themselves willingly to cogs inside business machine.

You can spend as much time as you want on "configuration of our editor, tinkering with dot files, and dev environments" and otherwise honing your craft, the business machine will still look at you as cogs. May seem depressing, but the bright side is that you as an individual are then free to find joy in your work wherever you can find it... whether its in delivering high-quality code, or just collecting a paycheck.

> the business machine will still look at you as cogs

Of course, but I said that people see themselves this way.

To be clear, personally I do not find fiddling with configs particularly exciting, but some people do.

Re: The Programmer Identity Crisis

#217

Full 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…

Unfortunately, the problem with cowboy coding is that it takes one idiot in the team to ruin it for everyone. As company grows, there are more and more idiots by pure chance, which means you need bigger and bigger walls to contain the blast radius. If you have a team of trustworrthy engineers then cowboy coding is extremely efficient, but it simply doesn't scale, especially considering how difficult it is to evaluate the quality of given candidate when hiring.

I believe that cowboy coding might still be practiced in small companies, or in small corporate pockets, where the number of engineers doesn't need to scale.

Re: The Programmer Identity Crisis

#218
When 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).

Re: The Programmer Identity Crisis

#219
I see your positive view on programming and raise you this: 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.

Re: The Programmer Identity Crisis

#220

Earlier quoted context omitted.

In my opinion this is another case where people look at it as a technical problem when it's actually a people problem. If someone does it once, they get a stern message about it. If it happens twice, it gets rejected and sent to their manager. Regardless of how you authored a pull request, you are signing off on it with your name. If it's garbage, then you're responsible.

Yeah it doesn’t really seem different from people copy/pasting from stack overflow without reading through it. This isn’t really a new thing, though I guess nobody was really acting like SO was the second coming so it’s probably happening more now.

> Yeah it doesn’t really seem different from people copy/pasting from stack overflow without reading through it.

It is vastly different because there are no (as far as I've ever seen) multi-thousand line blocks of code to cut & paste as-is from stack overflow.

If you're pasting a couple dozen lines of code from a third party without understanding it, that's bad, but not unbearable to discover in a code review.

But if you're posting a 5000 line pull request that you've never read and expect me to do all your work validating it, we have a problem.

Post reply on HN