../

Society made writing software boring

I started writing code, a long time ago, before LLMs existed. It was a time when, people looked at stackoverflow as their bible. Programming was a true skill, cause people actually had to think while writing code. It wasn’t just about learning the syntax and workings of a language, it was a lot more. It was coming up with cool solutions using the provided language features, designing new architecture, etc. It was fun and challenging. I loved it, cause that was so much fun. Just the fact that people get to do this everyday, and get paid, was a cherry on top. I spent years learning so much about computers and software, and discovered a whole new world. From people making simple websites, to people contributing to the kernel. Everyone with their own interests, projects, ideas, and experiments. But now, it’s all gone.

People now, just prompt an LLM, copy and run the code, copy the result back to the LLM and repeat until it works. People have stopped trying to understand what that piece of code does. I understand that, this improves productivity i.e., faster project completion. But, this is still a bad idea. Sure, the project gets done, but that dev won’t even have any idea, what they did, and why. If bugs arise, they will go running back to these LLMs. If they use cheaper models, you can’t guarantee security, or good practises. I’ve seen this around me, people are getting dumber by the day. They’ve worked on many projects, and finished them quickly, but their skill is still the same as it was, before they did the projects.

Alright, I know people will have much to say about these thoughts. But, there is more to what I’m saying. If we need robots that can complete the work, LLM usage is justified. But, if you want engineers whose skill improves overtime, then this isn’t the way. I believe, LLM usage should be limited to search systems i.e., instead of giving the exact line of code, or the exact fix, give the right document to refer to. Let the engineer figure it out. Let them read, understand, experiement, and learn. This is how it should be done.

That’s the corporate/work side of it. Coming to personal projects, LLM usage is stupid. If you are writing code for fun, or to build some cool project and want to do it for fun, why hurry? it’s like referring to a guide to finish a new game, in the best way possible. It kills the experience. Imagine playing something like mass effect, and reading through a guide, to make the best choices. Why even play the game? you just missed the most fun part of the game.

I believe that atleast for personal projects, LLMs should not be used. Do it the old way. Open up the docs, ctrl-f through it. Study it. Test out your ideas, prototype it. Build it out, slowly, and have fun. That’s how I like to do it. I love doing stupid shit like writing a new emacs config, setting up my env, starting a weird project, and taking a long time to complete it. I could easily use LLMs and just ideate, design, code, and deploy, by just “vibe coding”, but that’s no fun.

So, if there are any nerds out there, that still stick to the old ways, cheers!

That’s it, bye!

/ai/ /rant/