Artificial Intelligence is changing the way we develop software. Today, we have tools that help us generate code, research technologies, identify bugs, understand implementations, and solve problems that previously could have required considerably more time.
Personally, I believe AI is one of the most useful tools we have incorporated into our daily work as software developers. However, I also think we are starting to create unrealistic expectations about how much time we can actually save by using it.
For some people and organizations, adopting AI in software development seems to mean that tasks should automatically be completed in half the time, or even less.
But is that really how it works?
I don't think so, and I'd like to share a few thoughts based on my own experience.
1. Writing Code Faster Doesn't Mean Finishing the Work Faster
A software development task is not just about writing code.
Before implementing a solution, we need to understand the requirements, analyze the problem, research alternatives, review the existing architecture, and determine the best way to approach it.
Then come implementation, testing, validation, and the necessary adjustments.
AI can certainly accelerate some of these activities. We can generate code in minutes, get implementation examples, and explore possible solutions without having to start from scratch.
However, generated code is not necessarily finished code.
We still need to review it, understand it, verify that it works, and make sure it doesn't introduce problems elsewhere in the system.
That's why reducing the time spent writing code doesn't necessarily mean reducing the overall development time by the same proportion.
2. Asking AI Doesn't Mean We've Learned Something
This is one of the aspects I believe is often overlooked when discussing AI productivity.
Many times, we receive tasks involving technologies, tools, or implementations that we are not entirely familiar with.
What do we do now? We ask AI.
AI provides an explanation, suggests a solution, or even generates a complete implementation. However, that doesn't mean we now have the knowledge required to use it correctly.
We still need to analyze its suggestions, investigate whether they are correct, understand how they work, and learn enough to maintain the implementation.
Personally, I've experienced situations where AI provides what seems to be the right solution, but I still need to spend considerable time researching and understanding it before I can confidently use it.
And that makes sense. If we don't know a particular subject, we cannot simply assume that the first answer AI provides is necessarily the best solution.
AI can provide us with knowledge, but acquiring that knowledge still takes time.
We shouldn't confuse how quickly we get an answer with how quickly we actually learn to use it properly.
3. Not All Developers Have Access to the Same Tools
There is another aspect I consider important, but which is rarely mentioned when comparing developer productivity: not everyone has access to the same AI capabilities.
Working with a free AI plan is not necessarily the same as working with a premium subscription.
Depending on the tool and subscription, there can be differences in available models, usage limits, context size, and the ability to maintain long conversations.
This can have a significant impact when working on complex implementations.
Imagine a task that requires several hours or even days of development. Throughout that process, AI needs to understand the project context, the decisions we've made, the files involved, the problems we've encountered, and the solutions we've already tried.
When working with tools that have more restrictive limits, we may eventually reach a point where we need to reconstruct part of that context.
We have to explain the implementation again, share information once more, recall previous decisions, and sometimes repeat research.
All of this takes time.
On the other hand, someone using a premium plan with greater context capacity and more generous usage limits may be able to maintain a more continuous workflow, with fewer interruptions.
This leads me to an important question:
Can we fairly compare the productivity of two developers when one has access to significantly more capable AI tools than the other?
I believe this is another factor we should consider when discussing productivity.
4. Estimates Shouldn't Become Artificial Expectations
When we estimate a task, we are considering all the work required to complete it, not just the time it takes to write code.
An eight-hour task may include research, learning, analysis, implementation, testing, and validation.
AI can reduce some of that effort, but it doesn't necessarily eliminate all these activities.
Furthermore, I think we should be careful about one possible consequence of this new reality: using AI as a justification for systematically reducing development estimates.
If a task previously required eight hours and we now use AI, does that mean we should automatically commit to completing it in four hours?
Not necessarily.
Perhaps we can finish it in six hours. Maybe five. Or perhaps it will still take the full eight hours because we encounter challenges that require additional research.
It is also possible for a task to be completed in three hours. I'm not saying that is impossible. I'm simply saying that we cannot turn those cases into a general expectation for every type of software development task.
The complexity of each task matters.
5. Are We Trying to Become Better Developers or Simply Produce More?
This is perhaps the most important part of my reflection.
I believe one of the greatest benefits of AI should be allowing us to spend less time on repetitive activities and more time thinking, analyzing, and building better solutions.
However, there is a risk that organizations may interpret the time saved as an opportunity to automatically increase the amount of work assigned to each developer.
If we previously developed one feature per day and can now develop two with AI, does that necessarily mean our productivity has doubled?
Not always.
We must also consider implementation quality, maintainability, the number of defects, validation effort, and the knowledge we gain throughout the process.
Producing more code doesn't necessarily mean delivering more value.
And I believe this distinction will become increasingly important as AI becomes a regular part of our daily development work.
Final Thoughts
I'm not questioning the value of Artificial Intelligence. Quite the opposite: I believe we should embrace it and continue learning how to use it more effectively.
But we also need to maintain realistic expectations.
AI can help us research, learn, develop, and solve problems faster. However, we still need to understand what we are doing, make decisions, validate results, and take responsibility for our implementations.
Not all problems are the same, not all tasks have the same complexity, and not all developers have access to the same tools.
Perhaps instead of asking how much we can reduce development estimates thanks to AI, we should start asking how we can use it to deliver higher-quality software.
I'd Like to Hear Your Thoughts
- Have you experienced pressure to reduce development estimates simply because your team now uses AI?
- Do you believe that time spent researching and learning with AI is still an important part of a developer's work?
- Do you think the differences between free and premium AI plans can create real differences in productivity?
- Are we using AI to improve software quality, or simply to increase the amount of work we expect to deliver?
I'd love to hear different perspectives, especially from people who use AI daily in their software development projects.