The speed and ease at which LLMs allow you to generate code is a bug, not a feature in my opinion. In my org, a group of 3 very junior engineers wrote a 5k line shell script for building k8s clusters according to our business specs and it’s fucking awful. The actual time to get it out the door was short, but now it’s basically impossible to change it without fucking up like 20 different things. The fucking thing will randomly quit because the shit ass LLM thinks set -e is a good thing to use, and it’s full of unused variables everywhere. I had to add a feature to it (which is how I learned of its existence), and I spent a miserable week just reading the entire fucking thing so I could ensure that my change wouldn’t cause an oil refinery in the North Sea to explode due to a butterfly-effect series of bullshit.
The frustration and toil you feel as a software dev is a feature. If something is making you mad and is taking forever to write, that’s a sign you probably need to change your approach. If you’re using an LLM to write a bunch of boilerplate, why not just eliminate the boilerplate or like, make a factory to spit out a bunch of it or something? Your discomfort is a powerful tool and you are not best served by ignoring it. Those junior devs would have written something much better if they had been forced to experience the true toil and suffering of writing a 5k line shell script.
Umm, excuse me. We’re delivering 400 points worth of story work with 40 points worth of dev time. Do you think that that’s somehow a bad thing? Our budget is stretching further than ever! (Once we figure out how to reduce token costs) /s
The issue is more that the triangle of code that works, code that scales well, and code that’s cheap will always, ALWAYS, prioritize works and is cheap, even if every action taken from then on costs more to make. I’ve been on a team that focused effort on keeping scalability a priority and every single thing we tried got kneecapped to “keep to the budget”.
The speed and ease at which LLMs allow you to generate code is a bug, not a feature in my opinion. In my org, a group of 3 very junior engineers wrote a 5k line shell script for building k8s clusters according to our business specs and it’s fucking awful. The actual time to get it out the door was short, but now it’s basically impossible to change it without fucking up like 20 different things. The fucking thing will randomly quit because the shit ass LLM thinks
set -eis a good thing to use, and it’s full of unused variables everywhere. I had to add a feature to it (which is how I learned of its existence), and I spent a miserable week just reading the entire fucking thing so I could ensure that my change wouldn’t cause an oil refinery in the North Sea to explode due to a butterfly-effect series of bullshit.The frustration and toil you feel as a software dev is a feature. If something is making you mad and is taking forever to write, that’s a sign you probably need to change your approach. If you’re using an LLM to write a bunch of boilerplate, why not just eliminate the boilerplate or like, make a factory to spit out a bunch of it or something? Your discomfort is a powerful tool and you are not best served by ignoring it. Those junior devs would have written something much better if they had been forced to experience the true toil and suffering of writing a 5k line shell script.
Umm, excuse me. We’re delivering 400 points worth of story work with 40 points worth of dev time. Do you think that that’s somehow a bad thing? Our budget is stretching further than ever! (Once we figure out how to reduce token costs) /s
The issue is more that the triangle of code that works, code that scales well, and code that’s cheap will always, ALWAYS, prioritize works and is cheap, even if every action taken from then on costs more to make. I’ve been on a team that focused effort on keeping scalability a priority and every single thing we tried got kneecapped to “keep to the budget”.