RBA Consulting
RBA Consulting
RBA Consulting

TL;DR: Key Takeaways

  • AI’s biggest value for developers is often not code generation. It is accelerating the work surrounding the code.

  • AI can dramatically reduce the time required to understand unfamiliar codebases and architectures.

  • It can help developers evaluate implementation approaches before writing code.

  • Conversational problem-solving can expose assumptions and turn vague symptoms into testable hypotheses.

  • Logs, stack traces, profiling data, and performance captures become faster to analyze.

  • The developer still owns validation, architecture, security, and engineering judgment.

  • At enterprise scale, reducing investigation and troubleshooting time can translate into meaningful gains in development velocity.

For enterprise development teams, the biggest opportunity with AI may not be generating more code. It may be reducing the time engineers spend understanding complex systems, investigating failures, evaluating implementation approaches, and diagnosing performance issues.

In large organizations, those activities add up quickly. Developers are often working across mature codebases, shared services, legacy systems, distributed teams, and applications they did not originally build. The feature itself may be straightforward. Understanding everything surrounding it is often where the real time goes.

I have found that a lot of programming work is not the feature itself. The feature is often the easy part. What takes time is everything around it: learning a codebase, tracing how a change should be designed, debugging strange behavior, reading stack traces, and figuring out why performance regressed.

These are the odds and ends of programming, and they are exactly where AI has become most useful.

What used to take a full day or two can now often be done in hours. That is not because AI magically writes perfect code. It is because AI is very good at compressing the time between “I have a vague problem” and “I understand the shape of the solution.”

Understanding Before Building

Most engineers know the feeling. You are asked to add something small, but before you can write the code, you need to answer a dozen questions.

Where does this logic already live? Which components depend on it? What patterns does this codebase expect? Is there already an implementation I can reuse? What will break if I change this?

This is where AI is strongest.

I can point it at a codebase and ask it to explain the architecture, identify the relevant files, trace data flow, or summarize how a feature is built end to end. Instead of manually jumping through file after file, I can get an informed starting point and spend my time validating the important parts.

That alone saves a huge amount of time. A good AI-assisted codebase walkthrough can turn hours of exploration into minutes of orientation, and that faster understanding carries directly into the next step: design.

Designing the Change

AI is also useful before any code gets written.

A lot of feature work is design work: deciding where the code should live, what the abstraction boundaries are, and what the risks are if we take the wrong approach.

I often use AI as a design partner. I will describe the goal, the current architecture, and the constraints, then ask it to propose implementation options. That gives me a fast way to compare approaches.

Should this be a new service, a new hook, or an extension of existing logic? Should the work be centralized or split across modules? What are the tradeoffs between a quick solution and a maintainable one? What existing parts of the system should be reused instead of duplicated?

This is not about outsourcing design. It is about shortening the feedback loop.

AI helps me think through the structure faster, so I can spend my judgment on the parts that actually matter.

Talking It Through

One of the most underrated uses of AI is simply talking through a problem.

Traditional rubber duck debugging works because explaining the issue forces you to clarify your own thinking. AI does something similar, but it can also ask follow-up questions, challenge assumptions, and point out holes in the reasoning.

When I am stuck, I will often describe the problem exactly as I understand it and let AI respond as if it were another engineer on the team.

That helps in a few ways. It exposes gaps in my mental model. It turns vague symptoms into concrete hypotheses. It helps me separate the likely cause from the noise. It often suggests a test or log statement I had not considered.

Sometimes the real value is not getting the answer. It is getting to the right question faster.

Troubleshooting the Failure

AI is especially effective when the input is messy.

Stack traces, logs, and error output are exactly the kind of structured-but-not-quite-human-readable data that AI handles well.

Instead of staring at a long trace and trying to map every frame manually, I can ask AI to identify the potential root cause, explain the call chain, summarize the most likely failure point, compare the error against known patterns, and suggest the next debugging steps.

This is extremely useful when the failure crosses layers.

A frontend error may originate in a state update, a network response, or a data transformation deep in a shared utility. AI can help connect those layers much faster than searching blindly.

The same applies to intermittent bugs. Give AI the logs, stack trace, relevant code, and observed behavior, and it can often narrow the search space much faster than starting from zero.

Analyzing Performance

Performance work is one of the clearest examples of AI saving real time.

Take React Native performance analysis. In the traditional workflow, this can easily take a day or two: capture multiple development tool traces, compare startup or interaction performance across scenarios, review profiler output, compare development behavior against production behavior, trace the relevant code paths, and form a conclusion about what to optimize first.

With AI, that work can often be compressed into hours.

I can give it performance captures, profiling notes, and relevant source code, then ask it to look for patterns: wasted renders, expensive component trees, repeated work, unnecessary state updates, or code paths that differ between local and production builds.

Instead of manually cross-referencing everything, I can let AI help connect the evidence.

That does not remove the need to verify the conclusion. But it absolutely reduces the time spent assembling the conclusion.

Where the Time Savings Come From

The reason AI saves so much time on these tasks is not that it replaces engineering judgment. It removes the mechanical overhead.

It is faster at scanning a codebase, summarizing unfamiliar files, connecting symptoms to likely causes, proposing implementation options, turning stack traces into hypotheses, surfacing related code paths, and narrowing a performance issue to a smaller area.

That means I can spend less time searching and more time deciding.

In practice, that can be the difference between a day lost to investigation and a few focused hours of review and implementation. Across a month of development work, those gains add up quickly. Across an enterprise engineering organization, they can become even more significant.

The Right Way to Use It

AI works best when I treat it as an accelerator, not an authority.

I still want to verify code changes, check assumptions, test behavior, and review the final result myself. I also need to consider what code, logs, data, and proprietary information are appropriate to share with the AI tools available to me.

But I do not need to do all the exploration manually.

That is the shift. AI handles more of the odds and ends that slow down the work, while developers stay focused on the actual engineering decisions.

AI Is More Than a Code Generator

The most valuable use of AI in programming is often not writing the feature from scratch. It is everything surrounding the feature: learning the codebase, designing the change, debugging the issue, understanding the stack trace, and analyzing performance.

Those tasks used to be the time sink. Now they can become the accelerator.

For teams that spend significant time navigating unfamiliar code, maintaining complex applications, debugging production issues, or tuning performance, that shift matters. Work that previously consumed a day or two can sometimes be reduced to hours, changing how quickly engineering teams can understand problems and move toward solutions.

For enterprise organizations, the next step is bigger than simply giving developers access to an AI coding assistant. The real opportunity is identifying where AI can be incorporated responsibly throughout the software development lifecycle, while maintaining the architecture, security, governance, and engineering standards complex systems require.

RBA helps organizations modernize applications, improve software engineering practices, and determine where AI can create practical value across development workflows. If your teams are spending too much time understanding legacy systems, troubleshooting complex applications, or navigating modernization efforts, the opportunity may not be to generate more code. It may be to remove the friction surrounding it.

Disclaimer

This article was developed with the assistance of artificial intelligence tools to support drafting, editing, and clarity. The core ideas, structural planning, and technical insights reflect the original thinking and professional experience of the RBA consultant who authored the piece. AI was used as a productivity aid, while all concepts, recommendations, and perspectives remain the author’s responsibility.

About the Author

Adam Utsch
Adam Utsch

Senior Principal Consultant

Adam is a seasoned software professional with deep experience in development, deployment, and application support. With a strong engineering foundation, they specialize in building scalable solutions and mentoring others in the technologies that drive real impact. Adam is passionate about continuous improvement, collaboration, and staying ahead of the tech curve.