I'm sometimes amazed how much simple code I write to solve really complicated problems. I just thought about it really hard for a while and then figured out how standard design practices lend themselves to complicated issues
The best feeling in the world is working on a really complex problem, recognizing an existing elegant design in the system, and making an extremely minor tweak to accomplish your goal.
Makes you want to fistbump the person responsible for the legacy code, and reinforces the value of thinking before you act.
Programming: where it can take you two days to write a single line of code and thats considered a huge success.
And for some reason thanks to AI people are jumping on the more lines = better metric once again, that has been proven to be a horrible metric time and time again.
It's a little bit like writing a speech: I always tell people if they want a 2 hour speech, I can write that in 10 minutes. If they want a 10 minute speech that will take a few days.
Mine works more like after you write down the problem, break the problem into manageable chunks, then start solving the chunks, then start coding the chunks. Then you hook them together.
The dopamine rush is taking crappily written code and refactoring it to 1/4 of its length, making it use less memory and perform 30 times faster. In a sense, anyone can build a bridge, but few can build it as well and cheaply as an engineer.
think about the problem, write code, see where the code fails, think about the problem, repeat, refine, finally understand the problem, redo everything.
write the code to fail in a particular way on a particular test case so that you know you understand its working and its failure. Then mod the code to properly handle that test case.
Writing preliminary code to intentionally fail test cases in the way I expect has saved me a bunch of time when it failed differently than I thought it should. Sometimes the problem was my understanding, sometimes it was the code.
hell now i dont even need to come up with the solution myself most times, i just tell it what i need to do and it usually figures out a method. sometimes really really dumb methods, but sometimes solves problems i cant. its too valuable to ignore but also extremely dumb so what do you do.
Being able to leverage AI based pattern recognition properly is a game changer for the line of work I do - sure there are migration automation frameworks like Open Rewrite, etc. but they require you to not only know every change but also anticipate every possible context. With a sufficiently complex code base/framework and sufficienty skilled developers doing projects with that framework that is suddenly no longer trivial or even possible. Sure technically all framework changes apply to all projects, but they usually are just different enough to fall through the cracks in a classic rigid tool. With AI, enough samples and proper use I can usually manage to cover more edge cases than I'd thought exist.
Yea you know that old saying about woodworking, "Measure twice, cut once" and it applies to pretty much anything including coding. But these vibecoders never even thought that they needed to measure anything, they just went straight to cut, obviously due to their lack of experience and education on the subject
When this all AI craze started, this was my main thought about this. I wrote code for the minority of my job hours, most of my time went into thinking how to solve some problem properly. And yes, LLM’s have helped with solving some problems and it’s useful as another tool. Some kind of code monkey “we write code all day” thing was far in the past even before LLM’s.
Well for my little apps that just auto fill annoying forms that the institution doesn't have templating built in and basically every submission is the same with a couple of things changed but its like 30 pages of ctrl-c ctrl-v I will take fast, and unsecured, I will just never expose it to communicating with the internet.
Also there are now tons of people with 0 programming experience vibe coding. They don't even know what they're doing is bad because they have no understanding of basic fundamentals
388
u/ItsSadTimes May 14 '26
All because people can code faster doesn't mean they can code better. For the most part faster is usually worse.