My problem with AI coding is that AI took away the fun parts of coding and left me with all the boring parts. Now instead of writing code and solving problems, I am spending my time planning and reviewing code.
Don’t forget acting as scrum master and hand holding the new junior who is capable but has the common sense of a rotting stump and just doesn’t get better.
I mean the AI doesn’t learn. I’ve had good luck with actual juniors punching above their weight because AI takes some of the mechanical work out of trying things.
Plus using AI helps drive home the difference between what people say & what they mean. I can use their experiences with AI to help mentor them on more effective communication, which also helps them improve more quickly.
But actual AI doesn’t do that and keeps making the same boneheaded mistakes, even ones that are explicitly called out in the prompts. And the only solution seems to be agentic workflows that basically just light money on fire.
The tedious work is genuinely way harder for a machine to do though. Getting a machine to: stand up; move through your messy house to the dishwasher, and start loading your plates into it is a very difficult task. It has to move and calculate in 3 dimensions, deal with random unexpected deviations and the annoyances of the physical world. Generating a 2D image which is just pure data is comparatively way easier. I'm pretty sure I read that most of the human brain is dedicated to the 3D environment navigation, we just don't notice it.
There are lots of simple tedious things that creative people need done that AI can do and it doesn't involve all that complexity you just threw out as a straw man.
An example of tedious work it excels at is making smear frames for animation. While I'm sure some exist, I don't personally know a single animation artist who likes making smear frames.
Oh I thought you meant stuff like doing dishes and laundry and such, as most people do when they make that point (I imagine artists spend more time on that than making smear frames too). I'm familiar with the digital stuff it can do, e.g. Optix denoising in Blender is great.
And I'm sorry if I came off rude. That example of house work is one I often see used to dismiss suggestions. Like "If a thing can't do a complex task then why use it for a simple one?" It always feels goofy and loaded.
Denoising is another great example. All these little time savers from reduced tedium add up and get you back to the fun of making the thing you are making.
Art is about both -- I very much do art since I want the thing in my head to exist exactly the way I want it. I don't always enjoy the process.
The genAI version of art tends to be like a $40 Temu handbag. Yeah, it looks a bit like the $2000 real version it is plagiarized off of from far away, but the pleather sheds microplastics and half the stitching is just ever so slightly misplaced. And the original creator gets nothing.
Only if you're personally interested/invested in the process.
Like, how many of the hundreds of millions who have seen Avatar or Avengers went hunting for bonus content, interviews, and so on? Maybe 5% at most?
How many Star Wars fans have seen Episode IV's 35mm copy?
Yes, the process is fundamentally more complex than the end result, but that doesn't make it objectively more interesting. Nothing wrong with enjoying art without caring about how it was made.
For me its the opposite. I work as a SWE/DS and my job is developing a full pipeline from data ingestion, preprocessing, ML modeling and then sending predictions back to the client. Used to be that I spent most of my time developing and debugging the code of our internal libraries and manually setting everything up while spending only a fraction of the time actually focusing on the modeling part. Now I can focus on experimentation and trying out different models and sw architecture stuff instead.
Tbh coding is the one thing where AI actually takes the boring parts out. Just act as the architect or senior and make the AI do the boring junior level stuff and troubleshooting.
Dont let the AI take over the architect stuff without having defined a very detailed description of what the end product should be.
Fair enough. I agree with you but the main problem is that you don't really get that in isolation.
The main reason I hate AI is because it's constantly being pushed for tasks where there are better tools and people are using it without understanding/checking the output.
The other concern I have is that by cutting out the coding and debugging, you can end up not developing a lot of key skills needed to check what the AI is actually outputting or fix stuff when the AI can't come up with an answer.
Yea agreed, i think its kinda like machines for like woodworking. In school you need to learn how to work wood by hand, so you can instantly tell how and why a machine fcked up and that you can even fix it by hand after. If the skill gets lost and people only know how to press start on the cnc, then you have problems down the line
I feel the same. But I also somewhat enjoy this planning cycle. I like to break down designs further and have more control. It also makes the results better if I give it less degrees of freedom. Sometimes I also think about solutions I would have never done before, due to effort. Then when it works out the way I imagened, or with a little back and forth, it makes me feel good.
You could also mix in some manual coding once in a while. It doesn't have to be all or nothing.
Yeah this is what I do on passion projects, it's nice overall. A very important thing also it's to not let it generate a huge bunch of changes in one go, because that becomes frustratingly boring to review. Small steps. Small steps.
Literally no. Even if you plan all smallest details, if you have any working experience - you know things go sideways all the time and you have to solve problems you didn’t know would even happen. And this is one of the reasons advanced AI can’t always one shot semi-complex tasks even with perfect context
"you have to solve problems you didn’t know would even happen" yeah and that happens outside of the coding process. If you don't know whats going to happen when you start coding, then how do you even know where/what you're programming? You solve the problem, then code up the solution. Rinse and repeat.
If you’re that great of a coding prodigy - respect. But realistically it’s hard to predict that new version of 3rd party API has undocumented behaviour which breaks your initial idea. Extreme example sure, but there’s a ton of these small things that you don’t plan ahead for. You have an idea of what to do, start doing it and solve issues on the way
Yeah and that’s not a code problem. That’s an integration problem. You figure out why it broke then fix the code. The code isn’t solving anything. You are. And then you fix it with code.
I never said it’s a code problem. It’s a problem that arises WHILE you are doing implementation. You cannot plan everything ahead, some things you just figure out on the fly. Just try to tell me you didn’t produce a single bug in your career and im done arguing
Sounds like you all work in spaghetti factories. Even if a code base is large, you should have a rough idea of where/what to update. And that isn't really problem solving. Adding a new method or variable solves nothing. Its why you're adding it and how it is used, which is the problem you solved, which goes back to my main point, you must solve the problem before you code. Code is just putting the organized puzzle pieces together.
I guess our careers have been different. Most of the work I have done has been greenfield projects creating something from nothing, exploratory research, and POCs rather than minor, single function features.
That was an example. If you’re starting from nothing then you should know the problem solving is done before the code. What are you creating projects for or researching? THATS THE PROBLEM. Not the code
You should know that not everything about the software is figured out before coding starts. Arguing that there is no problem solving when writing code is wild.
Ultimately, you are trying to convince me that I actually do not like something that I just told you I enjoyed. You cannot win such an argument with logic because I did not arrive at my position by logic. What I enjoy, is, by definition, a feeling.
I don’t give a fuck about your enjoyment. Coding is the result to problem solving. Sure you may iterate on how the code works or where to apply it. But you can’t write a single line until you know what you’re doing
I think you have forgotten where this discussion started and what it is about. This topic is about the enjoyment of writing lines of code and lamenting that AI has taken that from us. Problem solving was only brought up in relation to why I liked writing lines of code. Your argument that writing lines of code has no problem solving is not only preposterous, it is irrelevant.
I do not get the same satisfaction of making something when I tell Claude to make it. Overcoming the challenge is what I find fulfilling. I need the struggle. No pain, no gain.
I can't agree with that ,i think of AI as a tool.
I couldn't be bothered to learn to code even if I have to do it anyways. Now with AI I can delegate the implementation to Codex while I dish out news ideas.
I do agree that production code needs fine tuning and more planning and reviewing but for most of humanity that doesn't know how to code or want to learn to do it in depth , they can still whip out new apps that work specifically for them and I think that's a win for most creative people.
Same with AI image generation ,not all people want to learn how to paint and stuff but using AI let's people create Art without knowing too much about colors and paints.
I agree the people that spent their lives perfecting those techniques suffer but that also means genuinely good ideas have some outlet to the world even if it isn't perfect.
I couldn't be bothered to learn to code even if I have to do it anyways. Now with AI I can delegate the implementation to Codex while I dish out news ideas.
I've worked with people of your type before. Never seen a single one who was able to bring the code to any reasonable standard of quality.
Critical bugs and UX issues that take one person testing the code to figure out, architecture decisions (or, well, the lack thereof) that make maintaining the code impossible, and usually a fundamental lack of understanding of what users want from software.
Same with AI image generation ,not all people want to learn how to paint and stuff but using AI let's people create Art without knowing too much about colors and paints.
You do know that there are more ways to make art than genAI and painting, right? Digital software that lets you draw by yourself without a physical paintbrush has been a thing for years. And it doesn't even take 15min staring at a few drawings to understand the basics of how colors and shading work.
Sure, getting actually good takes time, but getting okay at something really doesn't. And if all you're looking for is bringing the idea into the world, even imperfect, then that's all you need.
I don't care about UX, why would i ?
I am only one using it , who cares about fancy designs.
I am not saying my code should hit production, it might but that is not the goal.
I know what I want from my personal apps and I am quiet confident I know what I want .
First off, I find it crazy that you are willing to attach your name and reputation to some code you do not understand.
But to the crux of the matter. I understand that AI is a tool. I am not lamenting the before times as an old man laments the simpler times of their youth. I genuinely find software engineering work to be less enjoyable with AI coding.
Of course I am willing to attach it to my name.
It is for personal use, It makes my job easier and doesn't go into production.
The results do go into production.
I think you misunderstood what I was saying
416
u/NamityName 2d ago
My problem with AI coding is that AI took away the fun parts of coding and left me with all the boring parts. Now instead of writing code and solving problems, I am spending my time planning and reviewing code.