My thoughts about AI
It’s been a while since AI came into our lives as developers. Now it’s pretty clear that developers are going to stay for a while. However, the way we operate is going to change significantly as well.
AI can now generate code, tests, and more. But I highly doubt that it can take into account all the context of a system (for example, all the business requirements, architectural decisions, etc.). So the final validation of the code, the review process, and the responsibility will remain with developers. AI can offer solutions, but in the end it’s the developer who needs to take responsibility for applying those solutions to a project.
Lately, though, I’ve noticed that all LLMs are getting a bit dumber. Their solutions need to be validated carefully as well, especially as AI companies continue to increase token costs.
So, how can AI be useful in the development process?
Personally, I like to use AI to write code faster, while carefully validating everything it produces. I also prefer generating code in small chunks, since my ability to review large pieces of code isn’t perfect — and I think that’s true for most developers.
AI can also be used effectively to reduce the learning curve, as it allows developers to search for things faster and can provide valuable advice. However, I always challenge the ideas AI offers, because they are not always the most logical. When learning with AI is combined with reading articles and books (instead of AI-generated slop), it can provide a faster way to gain the necessary experience.
In my opinion, though, AI is still useless when it comes to producing business insights and defining test cases (although the test code itself can be generated). These things need to be tightly connected to business needs, and that kind of context is very difficult to fully describe in a configuration file.
We’ll see how its application evolves in the future. For now, it’s a very useful tool for facilitating the development process, but not a substitute for a developer’s job.