Omkar's face

Omkar Konaraddi

Using Generative AI Assistants in Software and What Still Needs Progress

Published on 2025-08-10.

Generative AI assistants, like Microsoft’s Copilot and Amazon’s Q, have made it faster to write code by handling many micro-decisions:

For large changes, I don’t fully trust the assistant to choose the “best” approach. I break up the changes into separate prompts and generally follow this process:

  1. Start with my gut instinct about what might work best and keep it to myself. This sets some initial expectations I will have.
  2. Describe the task and provide context to the assistant, then ask how it would approach it.
  3. Evaluate the assistant's suggestion(s) against what I initially had in mind.
  4. Ask the assistant to implement the most promising approach.
  5. Review and iterate on changes.

The assistant has helped me be productive with a new language quickly, but at the cost of slower internalization of syntax and library details. In other words, I get things done faster, but I don’t learn the language as deeply as if I hadn’t relied on the assistant in the first place.

I still believe knowing a language and its ecosystem is important, even with AI assistants, because their output always needs review and often requires changes. The assistants rarely produce the desired code with zero changes necessary, unless I give a very precise, verbose prompt describing exactly what I want (at which point I might be saving keystrokes, not cognitive effort).

These assistants have been remarkably helpful for writing one-off scripts or getting a bird’s-eye view of an area I intend to learn about.

AI assistants have been fruitful, and I’m optimistic about their progress, but pessimistic about the prospects of them replacing software engineers without a deeper, more fundamental breakthrough.

Looking ahead, here are some areas where I think AI assistants and the software development experience could improve: