Back to blogs

Does AI Encourage Better Software?

Denys Pavlov
Mar 27, 2025

Artificial Intelligence tools are becoming increasingly popular with developers, and for good reason. They offer the potential to streamline workflows, enhance code quality, and boost productivity. But like any powerful tool, they come with their own set of considerations. For those considering integrating these tools, this post explores their benefits and offers guidance on mitigating potential risks.

Help AI help you

If you’ve ever owned a robot vacuum, you might have felt encouraged to keep your floor space organized so the vacuum can do its job more effectively. Similarly, implementing Large Language Model (LLM) tools in development workflows has knock-on effects that encourage better coding practices.

AI encourages better code

LLMs often work best with smaller, focused files due to context window limitations. This encourages developers to break down complex code into manageable, single-task modules, leading to a cleaner, easier-to-understand codebase. Recent AI thinking models have slower response speeds, so fast edits and iterations also naturally favor smaller files.

AI encourages better Git hygiene

Working with AI reinforces good version control habits. Frequent commits become crucial checkpoints, allowing you to revert easily if an approach doesn't pan out. Clear commit messages are also essential to demonstrate understanding of the AI-generated code, and AI can even assist in drafting these messages.

AI encourages better readability

LLMs thrive on clarity. Confusing and complex code can cause LLMs to be subtly wrong. To work effectively with AI tools, developers are encouraged to cultivate clear comments for complex logic and maintain readable code. Good project and module-level documentation helps provide much needed context for AI and fellow humans.

AI encourages better reliability

Due to AI’s training data cutoff, AI tends to be more skilled with well-established, "boring" technologies. This tendency can steer development towards more stable solutions by discouraging the adoption of less tested, bleeding-edge approaches.

AI can also significantly ease the process of starting a testing suite. When combined with code coverage reports, ensuring foundational test coverage becomes easier than ever. While complex testing involving nuanced logic and edge cases still requires developer input, AI can act as a helpful partner in clarifying requirements and generating initial test structures. 

Navigating the trade-offs

While the benefits are compelling, it's important to acknowledge the trade-offs, and manage them with an analytical, gradual, and intentional approach when introducing AI into development workflows.

Innovation challenges

The training data cutoff means that newer technologies or updates need to be manually introduced to AI during development. Some AI tools struggle with ingesting complex documentation, or the documentation itself consumes the limited context window. This limits AI usability and adds friction to the development process, and can hinder rapid innovation.

This limitation is a blessing in disguise as it forces the development team to confront the underlying novelty and complexity of their tech stack, and either re-evaluate it, or invest in a deeper team understanding.

Cost and complexity

The multitude of available AI tools, as well as their rapid pace of improvement can lead to decision and subscription fatigue and increased costs. Configuring these tools effectively can also be time-consuming. Furthermore, there's currently a lack of standardization for sharing configuration and context between various AI tools within a team or codebase.

This encourages the team to commit to a coherent AI toolset, and intentionally limit time spent on exploration of new AI tools. Allocate dedicated time for staying abreast of new developments, and factor in the pace of change when you decide to adopt new technologies.

Team dynamics and skill development

AI can empower smaller teams to manage larger codebases, which is a double-edged sword. There's a risk of over-reliance on AI, potentially decreasing learning opportunities for developers. It could also lead to situations where the codebase grows beyond the team's ability to fully support it without AI assistance.

It is crucial to introduce AI to your workflow with a gradual and intentional approach. The development team must conduct code reviews and take on the responsibility and ownership of new code.

Finding the right balance

AI development tools offer powerful advantages, promoting cleaner code, better testing, and improved stability. However, potential drawbacks like cost, configuration time, and the risk of over-reliance need careful consideration.

The key is thoughtful implementation. Adopt AI tools incrementally and maintain control. Ensure your team retains a deep understanding of the codebase and ultimate responsibility for the final product. By embracing AI as a partner rather than a replacement, development teams can leverage its strengths while mitigating the risks, leading to more efficient and robust software development.

Does AI Encourage Better Software? | Alipes