I saw another article today saying how companies are laying off tech workers because AI can do the same job. But no concrete examples… again. I figure they are laying people off so they can pay to chase the AI dream. Just mortgaging tomorrow to pay for today’s stock price increase. Am I wrong?
It also has potential to decrease the quality.
I think the main pivot point is whether it replaces human engineers or complements them.
I’ve seen people with no software engineering experience or education, or even no programming experience at all in any form, create working apps with AI.
I’ve also seen such code in multiple instances and have to wonder how any of it makes sense at all to anyone. There are no best practices seen, just a confusing set of barely working disconnected snippets of code that very rudimentarily work together to do what the creator wanted in a very approximate, inefficient and unpredictable way, while also lacking any benefits of such disconnect such as encapsulation or any real domain-separated design.
Extending and maintaining that app? Absolutely not possible without either a massive refactoring resembling a complete rewrite, or, you know, just a honest rewrite.
The problem is, someone who doesn’t know what they are doing, doesn’t know what to ask the language model to do. And the model is happy to just provide what is asked of it.
Even when provided proper, informed prompts, the disability to use the entire codebase as the context causes a lot of manual intervention and requires bespoke design in the code base to work with that.
It absolutely takes many more times more work to make it all work for ML in a proper, actually maintainable and workable way, and even then requires constant intervention, to the point that you end up doing the work you’d do manually, but in at least triple the amount of effort.
It can enhance some aspects, of which one worth a special mention is actually the commenting and automatic, basic documentation skeletons to work up from, but it certainly will not, for some while, replace anyone. Not unless the app really only has to work, maybe, sometimes, and stay as-is without any augmentations, be they maintenance or extending or whatever.
But yeah, it sort of makes sense. It’s a language model. Not a logical model or one that is capable of understanding given context, and being able to get even close to enough context, and maintain or even properly understand the architecture it works with.
It can mimic code, as it is a language model after all. It can get the syntax right, sure, and sometimes, in small applications, it works well enough. It can be useful to those who would not employ engineers in the first place, and it can be amazing for those cases, really, good for them! But anything that requires understanding of anything? Yeah, that’s going to do nothing other than confuse and trip everyone in the long run, requiring multiples of work to do in comparison to just doing it with actual people who can actually understand shit and retain tens of years worth of accumulated extremely complex and large context and experience applying it in practice.
But, again, for documentation, I think it is a perfect fit. It needs not any deeper context, and it can put into general language what it sees as code, and sometimes it even gets it right and requires minimal input from people.
So, it can increase quality in some sense, but we have to be really conscious of what that sense is, and how limited its usefulness ultimately is.
Maybe in due time, we’ll get there. But we are not even close to anything groundbreaking yet in this realm.
I don’t think we’ll ever get there, because we are very likely going to overextend our usage of natural resources and burn out the planet before we get there. Unless a miracle happens, such as stable fusion energy or something as yet inconceivable.
I find that is a big difference in the llm’s some you can challenge the answer and sorta get an update where they take into account what you said. closer to a conversation and thus collaboration. Others though seem to treat it like a new query and don’t take into whats been said and such. or just don’t do so well. My thought is it could be a replacement for paired programming but not many places were using that anyway.