Published on April 12, 2025 by Dr. Randal S. Olson
programming management ai productivity
5 min READ
Ever since I learned to program on computers, I've constantly looked for ways to optimize my workflow. From learning keyboard shortcuts to inventing my own AI automation tools, my pursuit of efficiency has bordered on obsession. But nothing has transformed my coding practice quite like AI coding assistants. These tools are revolutionizing programming, yet scroll through tech Twitter or LinkedIn and you'll find no shortage of posts declaring them useless, overhyped, or even harmful to programmers.
I've noticed something interesting about these dismissive posts: they almost always come after less than a week of trying the technology. The pattern is remarkably consistent. Someone tries an AI coding tool for a week, gets frustrated when it doesn't magically solve all their problems, then writes a scathing critique that goes viral. "AI coding is all hype," they declare. "It can't even build a simple app without making basic mistakes."
But here's what I've come to realize: the problem isn't with the AI tools. It's with how people are managing them.
When we hire a new programmer, we don't hand them a vague three-sentence description of a project and expect them to code the entire thing perfectly without guidance. We don't fire them when their first attempt has bugs. We don't expect them to understand our entire codebase on day one.
Yet this is exactly how many people approach AI coding assistants.
The truth is that effectively using AI coding tools requires the same skills as effectively managing human programmers. You need to provide clear, detailed requirements, offer necessary context about your project, review output critically, iterate on solutions, and understand the strengths and limitations of your resource.
Poor managers blame their teams when projects fail due to unclear requirements. Similarly, poor AI users blame the technology when it fails to deliver on vague prompts.
Let's look at some common complaints about AI coding tools and reframe them through the management lens:
Example 1: Vague prompts → Vague requirements
When someone tells an AI "create a social media app" and gets unusable code, that's equivalent to telling a junior developer "build Facebook" without any specifications. Both scenarios lead to predictable failure, but only one gets blamed on the tool rather than the communicator.
Example 2: Not reviewing AI output → Not reviewing junior developer code
Would you let a new hire push code directly to production without review? Of course not. Yet many people expect AI to generate perfect, production-ready code on the first try, then complain when bugs appear.
Example 3: One-and-done approach → Expecting perfect first drafts
Good software development is iterative. When we work with human developers, we expect multiple rounds of feedback and improvement. With AI, many users make one attempt, see flaws, and declare the entire approach worthless.
Understanding these parallels is the first step on a long journey. Just like any worthwhile skill, learning to manage AI coding assistants has a learning curve.
I started heavily using AI coding tools in 2023. Like many, my first experiences were basic: using ChatGPT to write small code snippets or modify existing code. My initial attempts with GitHub Copilot were frustrating and unproductive.
The turning point came when I started using Cursor AI. I had an "aha" moment when I discovered it could analyze an entire codebase that I was onboarding onto, create architecture diagrams, and explain the code base to me in plain English after a few minutes. This discovery transformed how I approached new projects and legacy codebases.
Since then, I've been learning new techniques daily, building an ever-growing knowledge base for effectively managing AI coding agents. Each day brings new discoveries about how to better direct these tools. Each day involves practice and patience, just the same as if I were managing people.
This learning process takes time, just like learning any other programming skill. We didn't expect to master C++ in a week, so why do we expect to master AI-assisted programming in the same timeframe?
The rise of AI coding tools represents a fundamental shift in how we approach software development. We're moving from programming to meta-programming: directing AI systems that can handle much of the implementation work rather than writing every line ourselves.
This shift demands a different set of skills. The most successful AI coders approach these tools as technical managers and collaborators rather than expecting magical code generation. They understand that their role is to provide direction, context, and critical evaluation, not to passively consume whatever the AI produces.
This explains why those viral dismissals of AI coding tools are so revealing. When someone declares AI coding "useless" after a brief trial, they're inadvertently demonstrating their own management limitations. They haven't recognized that effectively using these tools requires the same skills as effectively leading a development team.
The developers who will thrive in the AI era are those who embrace this meta-programming mindset and invest in developing their AI management skills. The rewards—dramatically increased productivity, better code quality, and the ability to tackle more ambitious projects—are well worth the learning curve.
I teach workshops on effective AI coding techniques, helping teams develop the skills needed to maximize their productivity with these powerful tools. If your organization wants to stay ahead of the curve and ensure your developers are getting the most out of AI coding assistants, let's talk.
After all, the difference between a frustrating AI experience and a revolutionary one often comes down to one thing: management.