←back to thread

97 points marxism | 1 comments | | HN request time: 0s | source

I've been trying to articulate why coding feels less pleasant now.

The problem: You can't win anymore.

The old way: You'd think about the problem. Draw some diagrams. Understand what you're actually trying to do. Then write the code. Understanding was mandatory. You solved it.

The new way: The entire premise of AI coding tools is to automate the thinking, not just the typing. You're supposed to describe a problem and get a solution without understanding the details. That's the labor-saving promise.

So I feel pressure to always, always, start by info dumping the problem description to AI and gamble for a one-shot. Voice transcription for 10 minutes, hit send, hope I get something first try, if not hope I can iterate until something works. And when even something does work = zero satisfaction because I don't have the same depth of understanding of the solution. Its no longer my code, my idea. It's just some code I found online. `import solution from chatgpt`

If I think about the problem, I feel inefficient. "Why did you waste 2 hours on that? AI would've done it in 10 minutes."

If I use AI to help, the work doesn't feel like mine. When I show it to anyone, the implicit response is: "Yeah, I could've prompted for that too."

The steering and judgment I apply to AI outputs is invisible. Nobody sees which suggestions I rejected, how I refined the prompts, or what decisions I made. So all credit flows to the AI by default.

The result: Nothing feels satisfying anymore. Every problem I solve by hand feels too slow. Every problem I solve with AI feels like it doesn't count. There's this constant background feeling that whatever I just did, someone else would've done it better and faster.

I was thinking of all the classic exploratory learning blog posts. Things that sounded fun. Writing a toy database to understand how they work, implementing a small Redis clone. Now that feels stupid. Like I'd be wasting time on details the AI is supposed to handle. It bothers me that my reaction to these blog posts has changed so much. 3 years ago I would be bookmarking a blog post to try it out for myself that weekend. Now those 200 lines of simple code feels only one sentence prompt away and thus waste of time.

Am I alone in this?

Does anyone else feel this pressure to skip understanding? Where thinking feels like you're not using the tool correctly? In the old days, I understood every problem I worked on. Now I feel pressure to skip understanding and just ship. I hate it.

Show context
unnouinceput ◴[] No.45572680[source]
No, it didn't. Or rather it did for run of the mill coder camp wanna be programmer. Like you sound you are one. For me it's the opposite. That's because I don't do run of the mill web pages, my work instead is very specific and the so called "AI" (which is actually just googling with extra spice on top, I don't think I'll see true AI in my lifetime) is too stupid to do it. So I have to break it down into several sessions giving only partial details (divide and conquer) otherwise will confabulate stupid code.

Before this "AI" I had to do the mundane tasks of boilerplate. Now I don't. That's a win for me. The grand thinking and the whole picture of the projects is still mine, and I keep trying to give it to "AI" from time to time, except each time it spits BS. Also it helps that as a freelancer my stuff gets used by my client directly in production (no manager above, that has a group leader, that has a CEO, that has client's IT department, that finally has the client as final user). That's another good feeling. Corporations with layers above layers are the soul sucking of programming joy. Freelancing allowed me to avoid that.

replies(1): >>45573255 #
marxism ◴[] No.45573255[source]
I'm curious: could you give me an example of code that AI can't help with?

I ask because I've worked across different domains: V8 bytecode optimizations, HPC at Sandia (differential equations on 50k nodes, adaptive mesh refinement heuristics), resource allocation and admission control for CI systems, custom network UDP network stack for mobile apps https://neumob.com/. In every case in my memory, the AI coding tools of today would have been useful.

You say your work is "very specific" and AI is "too stupid" for it. This just makes me very curious what does that look like concretely? What programming task exists that can't be decomposed into smaller problems?

My experience as an engineer is that I'm already just applying known solutions that researchers figured out. That's the job. Every problem I've encountered in my professional life was solvable - you decompose it, you research up an algorithm (or an approximation), you implement it. Sometimes the textbook says the math is "graduate-level" but you just... read it and it's tractable. You linearize, you approximate, you use penalty barrier methods. Not an theoretically optimal solution, but it gets the job done.

I don't see a structural difference between "turning JSON into pretty HTML" and using OR-tools to schedule workers for a department store. Both are decomposable problems. Both are solvable. The latter just has more domain jargon.

So I'm asking: what's the concrete example? What code would you write that's supposedly beyond this?

I frequently see this kind of comment in AI threads that there is more sophisticated kinds of AI proof programming out there.

Let me try to clarify another way. Are you claiming that say 50% of the total economic activity is beyond AI? or is some sort of niche role that only contributes 3% to GDP? Because its very different if this "difficult" job is everywhere or only in a few small locations.

replies(1): >>45582839 #
unnouinceput ◴[] No.45582839[source]
Did you played Assassin's Creed Valhalla? In it there is a board game called Orlog. Go and make that game to be multiplayer so you can play with your spouse/son/friend. Come back to me once you're done and we see then how much time it took you.

Or remake the Gwent board game that is in Witcher 3.

Make either of that mobile game so you can enjoy in the same room with the person you love. Also make sure you can make multiple decks (for Gwent) / multiple starting God (for Orlog) and you just select the start and hit "ready to play" (or whatever). You'll know what I mean once you understand either of these games.

Good luck with having any of them made in one session and not breaking the big picture in million of pieces and you keep the big picture in your head.

replies(2): >>45586485 #>>45586632 #
marxism ◴[] No.45586485[source]
I watched a youtube video showing off Orlog https://www.youtube.com/watch?v=3rW3jtbsxZk.

Challenge accepted. If you get back to me I'll livestream this on Saturday.

I want to be crystal clear about what I'm claiming

My Claim: AI assistance has effectively eliminated specialized job skills as a barrier. Anyone can now accomplish what previously required domain expertise, in comparable time to what a pre-AI professional would take.

Specifically:

- I've never written a game. I've never used a browser rigid body physics library. Never written a WebGL scene with Three.js before. Zero experience. So I should fail write.

- I think I could recreate the full 3D scene, hand meshes, rigging, materials, lighting - everything you see in that screenshot - using AI assistance

- I'm not going to do ALL of that in a couple hours, because even a professional game developer couldn't do it all from scratch in a couple hours. They would have assets, physics engine, rendering engine, textures, etc all because they were creating Orlog inside a larger game that provides all these affordances.

- But I could do it in the same timeframe a professional would have taken pre-AI

My interpretation of your challenge:

You're claiming that writing the multiplayer networking and state management for a turn-based dice game is beyond what AI can help a -- what you called me "run of the mill coder camp wanna be programmer" -- accomplish in a reasonable timeframe. That even with a simple 2D UI, I lack the fundamental programming skills to write the multiplayer networking code and manage state transitions properly.

So here's what I'll build:

A multiplayer Orlog game with:

- Full game logic implementing all Orlog rules and mechanics

- two players can connect and play together

- observers can join and watch

- game state properly synced managed across clients.

- Real dice physics simulation (because otherwise the game feels boring and unsatisfying - I'll grant you that point). But I'll have a server pick the dice roll values to avoid cheating. (Easiest trick in the book, just run the physics offscreen first, find the face that lands up, remap the textures, replay on screen this time), but use a library for simple rigid body physics engine because you couldn't write one from scratch in 3 hours either.

- Visual approach: Simple 2D/indie game cartoon style UI, with dice rolling in a separate physics area (just compositing dice roll app at bottom of screen, results animate onto 2D board, reality is they are totally separate systems)

What I need from you:

1. Is this the right interpretation? You're claiming the networking/state management is beyond what AI can help me accomplish?

2. Time predictions:

   - How long would a competent game developer take to build what I've described?

   - How long will it take me?
3. At what point do I prove my point? What's the minimum deliverable you'd accept as having completed the challenge?

Are you willing to make concrete, falsifiable predictions about this specific challenge?

replies(1): >>45586937 #
1. unnouinceput ◴[] No.45586937{3}[source]
Go ahead and do it. Put the code at your convenience on github. I don't care about your livestream, you can do it whenever. What I want is an app that I can install on my smartphone, Android, and that I can have my son do it as well and we play together. I am giving you a generous one week, should be more than enough for your "AI can do it easier". I did it in a month, and I put like 120 hours during that time. You get close to those 120 hours or over, you fail this "challenge accepted". Have fun.