42 comments

[ 4.0 ms ] story [ 53.2 ms ] thread
> AI made coding more enjoyable

...just not for users.

I feel the same way.

> That includes code outside of the happy path, like error handling and input validation. But also other typing exercises like processing an entity with 10 different types, where each type must be handled separately. Or propagating one property through the system on 5 different types in multiple layers.

With AI, I feel I'm less caught up in the minutia of programming and have more cognitive space for the fun parts: engineering systems, designing interfaces and improving parts of a codebase.

I don't mind this new world. I was never too attached to my ability to pump out boilerplate at a rapid pace. What I like is engineering and this new AI world allows me to explore new approaches and connect ideas faster than I've ever been able to before.

The way I like to think about it is to split work into two broad categories - creative work and toil. Creative work is the type of work we want to continue doing. Toil is the work we want to reduce.

edit - an interesting facet of AI progress is that the split between these two types of work gets more and more granular. It has led me to actively be aware of what I'm doing as I work, and to critically examine whether certain mechanics are inherently toilistic or creative. I realized that a LOT of what I do feels creative but isn't - the manner in which I type, the way I shape and format code. It's more in the manner of catharsis than creation.

I quite agree with this.

I’m working on library code in zig, and it’s very nice to have AI write the FFI interface with python. That’s not technically difficult or high risk, but it is tedious and boring.

Realistically having a helper to get me over slumps like that has been amazing for my personal productivity.

I love everything about coding. I love architecting a system, and I love tending all the little details. I love to look at the system as a whole or a block of code in isolation and find nothing I want to change, and take pride in all of it. I also love making products.

LLM-agents have made making products, especially small ones, a lot easier, but sacrifice much of the crafting of details and, if the project is small enough, the architecture. I've certainly enjoyed using them a lot over the last year and a half, but I've come to really miss fully wrapping my head around a problem, having intimate knowledge of the details of the system, and taking pride in every little detail.

That's it? That post shouldn't be on HackerNews tbh...
I used to share this sentiment but the more I used AI for programming, the less I enjoyed it. Even writing "boring" code (like tests or summaries) by hand increased my understanding of what I wrote and how it integrates into the rest of the codebase, which I think is fun.

Letting a robot write code for me, however tedious it would be to write manually, made me feel like I was working in someone else's codebase. It reminds me of launching a videogame and letting someone else play through the boring parts. I might as well not be playing. Why bother at all?

I understand this behaviour if you're working for a company on some miserable product, but not for personal projects.

Not to be that curmudgeon (who am I kidding), but it's made reviewing code very much less enjoyable, and I review more changes than I write. Engineers merrily sending fixes they barely understand (or, worse, don't think they need to understand) for the rest of us to handle, and somehow lines-of-code has become a positive metric again. How convenient!
>Outside the happy path

Uh, no. The happy path is the easy part with little to no thinking required. Edge cases and error handling is where we have to think hardest and learn the most.

(comment deleted)
Coding with AI is for those kids who were supposed to “stop playing games and clean their room right this minute”, but instead they shove all the crap in their closet and go back to playing games.
At what point do LLMs enable bad engineering practices, if instead of working to abstract or encapsulate toilsome programming tasks we point an expensive slot machine at them and generate a bunch of verbose code and carry on? I'm not sure where the tradeoff leads if there's no longer a pain signal for things that need to be re-thought or re-architected. And when anyone does create a new framework or abstraction, it doesn't have enough prior art for an LLM to adeptly generate, and fails to gain traction.
When I tried using a coding agent it felt like the AI was stealing my dopamine hits.
It made coding way different for me. I'm able to get a proof-of-concept for an idea up pretty quick, and then I have to go back and decide if I like the style it produced.

I feel more like a software producer or director than an engineer though.

The creative vs toil split resonates, but I think there's a third category everyone misses: the connective tissue. The glue code, the error handling, the edge cases that aren't creative but teach you how things actually break.

I run 17 products as an indie maker. AI absolutely helps me ship faster — I can prototype in hours what used to take days. But the understanding gap is real. I've caught myself debugging AI-generated code where I didn't fully grok the failure mode because I didn't write the happy path.

My compromise: I let AI handle the first pass on boilerplate, but I manually write anything that touches money, auth, or data integrity. Those are the places where understanding isn't optional.

AI led to me writing code outside of work for the first time in years. I completed a small project that would've taken me months in a couple weeks.

I'm excited to work on more things that I've been curious about for a long time but didn't have the time/energy to focus on.

I suppose, in exactly the same way instant / frozen food makes cooking more enjoyable. If it was just a chore that you had to do, and now it's faster, sure, grab that cup-o-noodles. Knock yourself out.

Just don't expect to run a successful restaurant based on it.

The famously unsuccessful restaurant of McDonald's begs to differ
AI made coding really enjoyable for me, for a subset of projects: Projects that I want, but don't really care about the design/implementation, or projects that has a lot of fiddly one-off configurations where it doesn't make sense to tuck in and learn all about the system if it is mostly set-it-and-forget-it. A lot of my home automation/home systems are now fully implemented by AI, because I don't really care how performant it is, or integrating all the various components, and it is very straight forward to tell if it works or if it doesn't work.
> The only thing where I don’t trust it yet is when code must be copy pasted. I can’t trace if it actually cuts and pastes code, or if the LLM brain is in between. In the latter case there may be tiny errors that I’d never find, so I’m not doing that. But maybe I’m paranoid.

imo, this isn't paranoid at all, and it very likely filters through the LLM, unless you provide a tool/skill and explicit instructions. Even then you're rolling the dice, and the diff will have to be checked.

This level of detail isn't really helpful. I am working with AI and genuinely interested in learning more, but this offers very little.

More concrete examples to illustrate the core points would have been helpful. As-is the article doesn't offer much - sorry.

For one, I am not sure what kind of code he writes? How does he write tests? Are these unit tests, property-based tests? How does he quantify success? Leaves a lot to be desired.

Yes, more enjoyable and more human-replaceable!
Says someone who must not have enjoyed coding.
It is enjoyable if you are working on boring/enterprise software; it is not enjoyable when you are working on your own things.