logoalt Hacker News

Biganonlast Sunday at 4:41 AM23 repliesview on HN

> What’s the point in generating writing or generating art if it gives next to zero feelings of accomplishment?

That's how I feel with programming, and sometimes I feel like I'm taking crazy pills when I see so many of my colleagues using AI not only for their job, but even for their week-end programming projects. Don't they miss the feeling of..... programming? Am I the weird one here?

And when I ask them about it, they answer something like "oh but programming is the boring part, now I can focus on the problem solving" or something like that, even though that's precisely what they delegate to the AI.

Weird times.


Replies

noduermelast Sunday at 10:13 AM

You're not crazy at all. I engineer pretty-big full stack systems for a living, as a lone coder. I relish when I actually sit down and write the code. To turn a customer concept into animated UI functionality. To write a cron task that auto-generates a weekly prize contest. To hand-craft SQL and add a new feature that lets people see 10 years of data in a new way, on an old codebase.

I've let Claude run around my code and asked it for help, etc. Once in awhile it's able to diagnose some weird issues - like last month, it actually helped me figure out why PixiJS was creating undefined behavior after textures were destroyed on the GPU, in a very specific case. But the truth is, I wouldn't hire an intern or an employee to write my code because they won't be able to execute exactly what I have in mind.

Ironically, in my line of work, I spend 5x as many hours thinking about what to build and how to build it as I do coding it. The fun part is coding it. And, that's the only time I charge for. I may spend 10 hours thinking about how to do something, drawing diagrams, making phone calls to managers and CEOs, and I won't charge any of that time. When I'm ready to sit down and write the code:

I go to a bar.

I turn my phone off.

I work for 6 hours, have 4 drinks, and bill $300 per hour.

I don't suspect that the kind of coding I'm doing, which includes all the preparation and thought that went into it, and having considered all edge cases in advance, is going to be replaced by LLMs. Or by the children who use LLMs. They didn't have much of a purchase on taking my job before, anyway... but sadly the ones who are using this technology now have almost no hope of ever becoming proficient at their profession.

show 2 replies
svaralast Sunday at 9:54 AM

> And when I ask them about it, they answer something like "oh but programming is the boring part, now I can focus on the problem solving" or something like that, even though that's precisely what they delegate to the AI.

This I think I can explain, because I'm one of these people.

I'm not a programmer professionally for the most part, but have been programming for decades.

AI coding allows me to build tools that solve real world problems for me much faster.

At the same time, I can still take pride and find intellectual challenges in producing a high quality design and in implementing interesting ideas that improve things in the real world.

As an example, I've been working on an app to rapidly create Anki flashcards from Kindle clippings.

I simply wouldn't have done this over the limited holiday time if not for AI tools, and I do feel that the high level decisions of how this should work were intellectual interesting.

That said, I do feel for the people who really enjoyed the act of coding line by line. That's just not me.

show 4 replies
dota_fanaticlast Sunday at 5:25 AM

> "oh but programming is the boring part, now I can focus on the problem solving" or something like that, even though that's precisely what they delegate to the AI.

Take game programming: it takes an immense amount of work to produce a game, problems at multiple levels of abstraction. Programming is only one aspect of it.

Even web apps are much, much more than the code backing them. UIUX runs deep.

I'm having trouble understanding why you think programming is the entirety of the problem space when it comes to software. I largely agree with your colleagues; the fun part for me, at this point in my career, is the architecture, the interface, the thing that is getting solved for. It's nice for once to have line of sight on designs and be able to delegate that work instead of writing variations on functions I've written thousands if not tens of thousands of times. Often for projects that are fundamentally flawed or low impact in the grand scheme of things.

hansvmlast Sunday at 6:22 AM

Programming is a ton of fun. There are competing concerns though.

I recently wrote a 17x3 reed-solomon encoder which is substantially faster on my 10yo laptop than the latest and greatest solution from Backblaze on their fancy schmancy servers. The fun parts for me were:

1. Finally learning how RS works

2. Diving in sufficiently far to figure out how to apply tricks like the AVX2 16-element LUT instruction

3. Having a working, provably better solution

The programming between (2) and (3) was ... fine ... but I have literally hundreds of other projects I've never shipped because the problem solving process is more enjoyable and/or more rewarding. If AI were good enough yet to write that code for me then I absolutely would have used it to have more time to focus on the fun bits.

It's not that I don't enjoy coding -- some of those other unshipped projects are compilers, tensor frameworks, and other things which exist purely for the benefit of programmer ergonomics. It's just that coding isn't the _only_ thing I enjoy, and it often takes a back seat.

I most often see people with (what I can read into) your perspective when they "think" by programming. They need to be able to probe the existing structure and inject their ideas into the solution space to come up with something satisfactory.

There's absolutely nothing wrong with that (apologies if I'm assuming to much about the way you work), but some people work differently.

I personally tend to prefer working through the hard problems in a notebook. By the time the problem is solved, its ideal form in code is obvious. An LLM capable of turning that obvious description into working code is a game changer (it still only works like 30% of the time, and even then only with a lot of heavy lifting from prompt/context/agent structure, so it's not quite a game changer yet, but it has potential).

show 1 reply
Jachlast Sunday at 6:42 AM

I enjoy the programming, and the problem solving, but only sometimes the typing. Advent of Code last month was fun to do in Common Lisp, I typed everything but two functions myself, and only consulted with the subreddit and/or the AI on a couple problems. (Those two functions were for my own idea of using A-star over Morton Numbers, I wrote about those numbers with some python code in 2011 and didn't feel like writing the conversion functions again. It didn't work out anyway, I had to get the hint of "linear programming" and a pointer to GLPK, which I hadn't used before, so I had the AI teach me how to use it for standard sorts of LP/MIP problems, and then I wrote my own Lisp code to create .lp files corresponding to the Advent problem and had GLPK execute and give the answers.)

If it's a language I don't particularly enjoy, though, so much the better that the AI types more of it than me. Today I decided to fix a dumb youtube behavior that has been bugging me for a while, I figured it would be a simple matter of making a Greasemonkey script that does a fetch() request formed from dynamic page data, grabs out some text from the response, and replaces some other text with that. After validating the fetch() part in the console, I told ChatGTP to code it up and also make sure to cache the results. Out comes a nice little 80 lines or so of JS similar to how I would have written it setting up the MutationObserver and handling the cache map and a promises map. It works except in one case where it just needs to wait longer before setting things up, so I have it write that setTimeout loop part too, another several lines, and now it's all working. I still feel a little bit of accomplishment because my problem has been solved (until youtube breaks things again anyway), the core code flow idea I had in mind worked (no need for API shenanigans), and I didn't have to type much JavaScript. It's almost like using a much higher level language. Life is too short to write much code in x86 assembly, or JavaScript for that matter, and I've already written enough of the latter that I feel like I'm good.

staredlast Sunday at 1:29 PM

Let me explain my perspective as I do vibe coding for some side projects. AI (and even if it works correctly) is a thing filling the blanks. Still, the value depends on how much work you put in.

For recent ones, it is a interactive visualization of StarCraft 2 (https://github.com/stared/sc2-balance-timeline). Here I could do it myself (and spend way more time than I want to admit on refactoring, so code looks OK-ish), but unlikely I would have enough time to do so. I had the very idea a few years ago, but it was just too much work for a side project. Now I did it - my focus was high-level on WHAT I want to do and constant feedback on how it looks, tweaking it a lot.

Another recent is "a project for one" of a Doom WAD launcher (https://github.com/stared/rusted-doom-launcher). Here I wouldn't be able to do it, as I am not nearly as proficient in Rust, Tauri, WADs, etc. But I wanted to create a tool that makes it easy to to launch custom Doom maps with ease of installing a game on Steam.

In both cases the pattern is the same - I care more on the result itself that its inner workings (OK, for viz I DO care). Yes, it takes away a lot of experience of coding oneself. But it is not something entirely different - people have had the same "why use a framework instead of writing it yourself", "why use Python when you could have used C++", "why visiting StackOverflow when you could have spend 2 days finding solution yourself".

With side projects it is OUR focus on what we value. For someone it is writing low-level machine code by hand, even it it won't be that useful. For some other, making cute visual. For someone else, having an MVP that "just works" to test a business idea.

show 1 reply
driverdanlast Sunday at 4:48 PM

> I see so many of my colleagues using AI not only for their job, but even for their week-end programming projects

When writing code in exchange for money the goal is not to write code, it's to solve a problem. Care about the code if you want but care about solving the problem quickly and effectively more. If LLMs help with that you should be using them.

On personal projects it depends on your goal. I usually want the tool more than whatever I get from writing code. I always read whatever an LLM spits out to make sure I understand it and confirm it's correct but why wouldn't I accelerate my personal tool development as well?

scrolloplast Sunday at 7:32 AM

Devils advocate-

"I love complicated mathematical questions, and love doing the basic multiplication and division calculations myself without a calculator. I don't understand why people would use a calculator for this."

"I love programming, and don't understand why people would use C++ instead of using machine lamguage. You get deep down close to the hardware, such a good feeling, people are missing out. Even assembly language is too much of a cheat."

In the other hand - people still knit, I assume for the enjoyment of it.

alnwlsnlast Monday at 9:10 PM

It depends. My job and hobbies are closer to mechatronics than programming. I do like programming; I appreciate the feeling of cracking a hard problem or getting something to work for the first time, and I tend to prefer programming things myself when it makes sense.

But, I almost never do something "for the programming". Programming is just an ingredient to make the thing I actually want. This is why I use Solidworks and not OpenSCAD for most 3D modeling, for example. I've learned many things from it but I can't honestly say I'm in it for the programming.

gcanyonlast Sunday at 3:26 PM

Each level of programming abstraction has taken us a step further from the bare metal, as they used to say. In machine code you specify what goes where at the memory/register level. Assembly gives you human-readable mnemonics. C abstracts away direct control, but you still manually allocate memory. Java and C# abstract away memory management but you still declare types. Python and JavaScript abstract away type declarations but you still define variables and program structure. With AIs define your end goal in plain language and then you either have to understand code to edit, or literally depend on the machine to fix everything.

In a sense it's like SQL or MiniZinc: you define the goal, and the engine takes care of how to achieve it.

Or maybe it's like driving: we don't worry about spark advance, or often manual clutches, anymore, but LLMs are like Waymo where your hands aren't even on the steering wheel and all you do is specify the destination, not even the route to get there.

show 2 replies
michaelcampbelllast Sunday at 1:30 PM

> Don't they miss the feeling of..... programming? Am I the weird one here?

Our company is "encouraging" use of LLMs through various carrots and sticks; mostly sticks. They put out a survey recently asking us how we used it, how it's helped, etc. I'll probably get fired for this (I'm already on the short list for RIFs due to being remote in a pathological RTO environment and being easily the eldest developer here, but...), but I wrote something like:

"Most of us coders, especially older ones, are coders because we like coding. The amount of time and money being put spent to make coders NOT CODE is incredible."

hamandcheeselast Sunday at 5:47 AM

I enjoy programming, sure. But I also enjoy the act of creation, which as others here point out, is usually much more than just programming.

bpyelast Sunday at 9:17 AM

> That's how I feel with programming, and sometimes I feel like I'm taking crazy pills when I see so many of my colleagues using AI not only for their job, but even for their week-end programming projects. Don't they miss the feeling of..... programming? Am I the weird one here?

I've played with using LLMs for code generation in my own projects, and whilst it has sometimes been able to solve an issue - I've never felt like I've learned anything from it. I'm very reluctant to use them for programming more as I wouldn't want my own skills to stagnate.

wickedsightlast Sunday at 9:09 AM

ADHD is a thing for some people though. What works for one person might not work for other people. I have a friend who spends probably 8-10 hours a day writing code, every single day. I just can't do this personally, therefore, my ideas/projects never actually go anywhere.

AI tools allow me to do a lot of stuff within a short time, which is really motivating. They also automatically keep a log of what I was doing, so if I don't manage to work on something for weeks, I can quite easily get back in and read my previous thinking.

It can also get very demotivating to read 10 stackoverflow discussions from a Google searches that don't solve my problem. This can cause me to get out of 'the zone' and makes it extremely hard to continue. With AI tools, I can rephrase my question if the answer isn't exactly what I was looking for and steer towards a working solution. I can even easily get in depth explanations of provided solutions to figure out why something doesn't work.

I also have random questions pop up in my brain throughout the day. These distract me from my task at hand. I can now pop this question into an AI tool and have it research the answer, in stead of being distracted for an hour reading up on brake pads or cake recipes or the influence of nicotine on driving ability.

markus_zhanglast Sunday at 8:50 AM

I do use ChatGPT for side projects, but only as a last resort and always as a discussion partner, not a code writer. I always tell it beforehand “no code just discussion”. The fun is in figuring out as much stuffs as possible by myself and write the implementations, and I’m not paying someone to take my fun.

But again my projects are more research than product, so maybe it’s different.

show 2 replies
travisgriggslast Sunday at 12:16 PM

It depends.

I like programming. Quite a bit. But the modern bureaucratic morass of web technologies is usually only inspiring in the small. I do not like the fact that I have to balance so many different languages and paradigms to get to my end result.

It would be a bit like a playwright aficionado saying “I really love telling stories through stage play” only to discover that all verbs used in dialogue had to be in Japanese, nouns are a mix of Portuguese and German, and connecting words in English. And talking to others to put your play on, all had to be communicated in Faroese and Quechua.

andy99last Sunday at 11:13 AM

I’m convinced that some people are overly susceptible to the “preference optimized” nature of AI output and end up completely blind to its quality and usefulness.

Not to say it’s useless garbage, there is some value for sure, but it’s nowhere near as good as some people represent it to be. It’s not an original observation, but people end up in a “folie a deux” with a chatbot and churn out a bunch of mediocre stuff while imagining they’re breaking new ground and doing some amazing thing.

js8last Sunday at 5:45 AM

> Am I the weird one here?

Yes. I think it depends on one's goals.

You can ask, in the same vein, why use Python instead of C? Isn't the real joy of programming in writing effective code with manual memory management and pointers? Isn't the real joy in exploring 10 different libraries for JSON parsing? Or in learning how to write a makefile? Or figuring out a mysterious failure of your algorithm due to an integer overflow?

TBH I am not sure AI is better either (see https://youtube.com/shorts/QZCHax14ImA), but it's probably gonna get figured out.

godelskilast Monday at 3:21 AM

  > Am I the weird one here?
Yes. But good weird, not bad weird.

I mean we're programmers. Even though it's much more popular these days the very nature of what we do makes us "weird". At least compared to the average person. But weird isn't bad.

(Why people doing it if they find it so boring? And why side projects?! I know it pays well but there are plenty of jobs that do. I mean my cousin makes more as a salesman and spends his days at golf courses. He's very skilled, but his job is definitely easier)

  > "oh but programming is the boring part, now I can focus on the problem solving"
I also can't comprehend people when they say this.

For starters it's like saying "I want you learn an instrument so I listen to scales, that way I can focus on playing songs." The fun part can't really happen without the hard part.

Second, how the fuck do you do the actual engineering when you're not writing the code? I mean sure, I can do a lot at the high level but 90% of the thinking happens while writing. Hell, 90% of my debugging happens while writing. It feels like people are trying to tell me that LLMs are useful because "typing speed is the bottleneck". So I'm left thinking "how the fuck do you even program?" All the actual engineering work, discovering issues, refining the formulation, and all that happens because I'm in the weeds.

The boring stuff is where the best learning and great ideas come from. Isn't a good programmer a lazy one? I'd have never learned about something like functors and template metaprogramming if I didn't ever do the boring stuff like write a bunch of repetitive functions thinking "there's got to be a better way!" No way is an LLM going to do something like that because it's a dumb solution until a critical mass is reached and it becomes a great solution. There's little pressure for that kind of progress when you can generate those functions so fast (I say little because there's still pressure from an optimization standpoint but who knows if an LLM will learn that unprompted)

Honestly coding with LLMs feels like trying to learn math by solely watching 3Blue1Brown videos. Yeah, you'll learn something but you'll feel like you learned more than you actually did. The struggle is part of the learning process. Those types of videos can complement the hard work but they don't replace it.

throwaway98797last Sunday at 4:06 PM

solving users problems vs solving technical problems is likely where your confusion lies

smaudetlast Sunday at 5:09 AM

This is why I have yet to use AI, and will probably never.

It's either taking away the most important (or rewarding) thing I need to do (think) and just causing me more work, or it has replaced me.

AI. Is. Not. Useful.

show 1 reply
ErroneousBoshlast Sunday at 11:54 AM

> Don't they miss the feeling of..... programming?

I feel kind of the same when I read about people wanting self-driving cars. What's the advantage of them? Why would it be helpful?

show 1 reply
rewgslast Sunday at 6:39 PM

I'm with you. I've said it before, but: LLMs have made clear who does things for the process, and who does things for the result (obviously this is a spectrum, hardly anyone is 100% on either end).

The amount of people who apparently just want the end result and don't care about the process at all has really surprised me. And it makes me unfathomably sad, because (extremely long story short) a lot of my growth in life can be summed up as "learning to love the process" -- staying present, caring about the details, enjoying the journey, etc. I'm convinced that all that is essential to truly loving one's own life, and it hurts and scares me to both know just how common the opposite mindset is and to feel pressured to let go of such a huge part of my identity and dare-I-say soul just to remain "competitive."