Last Updated on 2026-04-19 by James Croft
Developers thrive in this unique space where creativity meets problem-solving, and commanding AI programmers is transforming how we build software. Two years on from Will AI ever replace the need for developers?, AI has come a long way. So much so, it’s time to seriously consider harnessing these capabilities to spark new levels of innovation and collaboration.
Let’s look at how we can use AI tools today—moving from the mundane tasks to writing code for you. You’ll discover new ways of commanding AI, and how it expedites development and shifts our focus to more creative thinking.
Concept of commanding AI programmers
Eleanor Berger, who has been focused on AI engineering at Microsoft, recently ran a fascinating workshop on this subject. During which, participants were tasked with building applications by prompting with tools like ChatGPT’s Canvas using reasoning models like o1. This approach to programming demonstrates new ways we can work with AI—what Eleanor refers to as commanding an AI programmer.
This technique employs an end-to-end, agentic AI programmer to produce the entire code solution with minimal human coding. While it might initially seem hands-off, it enables developers to:
- Focus on the bigger picture of how components fit together,
- Quickly produce code in any langauge or domain, regardless of awareness,
- Review and guide the AI’s outputs for correctness and relevance based on your own expertise.

My creativity enabled me to describe a game, and command my AI programmer using only my imagination and prompts. Want to play it? Try out my Top Down Robot Game!
This commanding approach is proving to be remarkably effective in scenarios where time, expertise, and complexity might otherwise hinder a project’s progress. It reframes software creation more as a management task—defining the vision, constraints, and desired outcomes, rather than hand-coding each element.
Commanding AI programmers in practice
Over the last year, I’ve collaborated with many customers to build out intelligent document processing techniques using Azure AI services. All of the samples shared with them have been in Python, leveraging open-source libraries to simplify the integration. However, the requirement of .NET samples has seen demand, and a gap in open-source libraries in .NET for pdf2image hindered progress.
When developers need specific functionality—like converting PDFs into images—we often rely on existing libraries and code snippets. However, those solutions might not be readily available in every language, forcing developers to bridge gaps. In these situations, AI programmers can easily translate code from one language to another much faster than we can. They understand the language constraints that allows any developer, regardless of source language, to command AI to build your ideal solution.
Using ChatGPT Canvas with o1
To start commanding an AI programmer with ChatGPT, prompt a reasoning model, like o1, using the canvas tool with your solution requirements.
In my example for converting the pdf2image library, my initial prompt was simply:
/canvas convert this Python module into valid C#:
<pasted python code>
From there, I reviewed the code produced and provided subsequent prompts to improve the output. This included removing unnecessary functionality, optimizing for thread safety, and incorporating asynchronous Tasks. Each iteration commanding the AI programmer fine-tuned the output until I was happy with it.
Converting pdf2image from Python to C#
By commanding an AI programmer, I migrated pdf2image, a lightweight wrapper around the poppler utilities, from Python to C#. By leveraging ChatGPT’s canvas feature with the o1 model and iterative prompting, I managed to:
- Initially convert the Python module to like-for-like C# equivalent code,
- Introduce asynchronous Tasks to improve processing,
- Optimize the algorithms for converting poppler tool outputs into valid PNG and JPEG images for each PDF page,
- Generate supporting unit tests,
- With minimal hands-on coding of the core functionality and tests,
- Complete the conversion in one hour using AI.
This process wasn’t just about successfully translating the library. It involved using my expertise in C# to verify and correct the AI programmer’s outputs, addressing the unique considerations of .NET. By focusing on the deeper layers, I was able to reproduce the solution much faster than if I had coded it from scratch.
You can find the C# library code from this experience in the @jamesmcroft/dotnet-pdf2image GitHub repository.
So, what is the future of AI for developers?
Reflecting on the question Will AI ever replace the need for developers?, a concrete answer is becoming more nuanced. We’re evolving the role of the developer as AI moves from being a pair-programmer to becoming the primary coder. Commanding AI programmers is highlighting a powerful shift in how developers approach software development. As these agentic systems continue to improve, they will shoulder more of the implementation work, allowing us to concentrate on design and creative thinking.
Rather than replacing developers, AI will serve as a catalyst for innovation. An enabler for you to free yourself from the constraints of your own expertise, pushing the boundaries of what is possible. In this future vision of software engineering, the true potential of AI lies not only in automating repetitive tasks but now in empowering developers to become creative architects of their software.
Let’s continue to embrace it and reach beyond our limitations. Everything has changed drastically, and who really knows where we’re heading next?
Found this article useful?
Thank you for taking the time to read this article. I’m committing to sharing more of my knowledge through my blog and open-source projects! You’ll also catch me in casual conversation on Bluesky and LinkedIn too.
If you enjoy what you see, please consider subscribing to get a notification when new articles go live!
Discover more from James Croft
Subscribe to get the latest posts sent to your email.






