DEV Community

Miguel Teheran
Miguel Teheran

Posted on

From Programmer to AI Code Supervisor

A couple of years ago, mentioning Generative AI in software companies led to skepticism and strict security measures. IT departments viewed tools like ChatGPT and GitHub Copilot as potential sources of intellectual property leaks and significant risks. Corporate policies were explicit: “prohibited or strictly regulated usage.” The vast majority of programmers used artificial intelligence (AI) at their own risk and without official permission.

But industry standards changed in the blink of an eye. What was once a threat has now become the standard. The question is no longer “Should we use AI?” but “How can we integrate it more efficiently?” Some companies are now measuring developer productivity based on their adoption and effective use of tools. We have moved from prohibition to a tacit obligation.

The evidence of this change is everywhere, and we developers have witnessed it. Recent studies and surveys paint a clear picture:

GitHub Survey (October 2024): Revealed that 99% of developers in the United States already use AI tools in their workflows. GitHub Copilot, its flagship tool, claims to be responsible for generating up to 40% of the code in supported languages.
JetBrains Survey (Developer Survey 2024): Corroborates this trend, indicating that over 70% of developers have incorporated AI into their processes, primarily for autocompletion, code generation, and error detection.
This has given rise to a flourishing ecosystem of tools. From Copilot and Amazon CodeWhisperer to specialized courses teaching “Prompt Engineering for Developers” and mandatory ongoing training within companies. The critical skill is no longer just knowing how to program, but knowing how to orchestrate AI to program for you or alongside you.

My Experience: The Project Where AI Writes the Code (And Everything Else)

My current project has demonstrated the shift in software roles during a legacy migration from Java to C#. This is not a traditional migration project; it is a laboratory of extreme automation based on artificial intelligence where our role as programmers has been radically redefined.

These are the steps we have followed, working hand-in-hand with AI:

  1. Ticket and Documentation Generation: User stories are no longer written manually. An AI prompt analyzes the legacy Java code and automatically generates the ticket description, acceptance criteria, and necessary technical documentation.

  2. C# Code Generation: The core of the process. We use advanced prompts and AI tools to automatically translate Java functions and classes into C#. Our task is not to write code from scratch, but to provide the precise context.

  3. Unit Test Creation: After coding and verifying its functionality, you can easily create unit tests with a simple prompt in Copilot.

  4. Automated Code Review: The code review process is also AI-assisted. A tool handles static analysis, checks patterns, suggests improvements, and detects obvious inconsistencies before a human peer reviews it. All of this happens in the pull request, where feedback is provided through comments on the code lines.

  5. Validation via Automated Testing: The method for testing the fidelity of the migration is very simple. Automated tests are run, feeding the same data into both systems (the legacy Java and the new C#), and the results are compared. If they match, the migrated code is correct.

In this ecosystem, my primary function has ceased to be “programming.” I have become a supervisor of AI-generated code. My value lies in:

  • Designing the right prompts to get the desired output.
  • Understanding the business context to validate that the AI has not made a conceptual error.
  • Making high-level architectural decisions that the AI is not yet capable of assuming.
  • Keeping constant communication with the client to avoid migrating outdated components and to enhance the code during the migration. Conclusion and Reflection:

This new role of “supervisor” is incredibly efficient and undoubtedly marks the future of our craft. However, an uncomfortable and inevitable question arises: Along the way, are we beginning to lose the analytical capacity and programming logic that has always characterized us?

The dependence on AI for routine tasks frees us to think about more complex problems. But what about the junior developer who no longer needs to struggle for hours with a loop or a data structure because the AI provides it instantly? Are they missing the opportunity to forge their intuition and mental ability for problem-solving?

Programming was never just about the final code; it was about the thought process, the methodical decomposition of a problem, the teamwork to build code from ideas, and the creative search for a solution. If we outsource that thought process to an AI, we risk becoming technicians who only know how to push the right button, without truly understanding the machinery underneath.

The challenge for the new generation of developers (and for those of us in this transition) will be to find the balance. We must embrace the power of AI without failing to actively cultivate our skills in logical thinking, deep analysis, and creative problem-solving. There is no near-future scenario where AI has total control over a project and human intervention becomes unnecessary. We build software with AI for use by human beings, and as long as this continues, our role as programmers will remain relevant. Maintaining analysis skills and logic is not optional; detecting AI errors as code supervisors will be a necessary skill for competitiveness in the technology fields in the near future.

Top comments (0)