The Franconian
Coder Studio

Using AI as a Pair Programming Partner in Development

Using AI as a Pair Programming Partner in Development

I’ve integrated an AI assistant into my software engineering workflow not as a crutch, but as a powerful collaborator. It helps me refine architecture, automate boilerplate, and uncover new solutions, all while I remain firmly in the driver’s seat of decision-making.

These days, an AI assistant has become a staple in my daily work as a software engineer. I’ll admit—it’s a significant enhancement. However, my focus in this short article isn’t to critique how such tools are sometimes misused, but rather to highlight how I leverage them for a tangible productivity gain.

A fundamental rule for me is that I must be capable of performing any task I delegate to the AI. In other words, whatever I’m working on, I need to be thoroughly familiar with the domain.

Clarifying Architecture and Design

When it comes to architecture and code design, the best path forward isn’t always immediately obvious. Here, I use AI chats to shape my thoughts and ideas by exposing them to additional perspectives. Much like a conversation with a colleague, discussing a problem with a (virtual) partner brings clarity. Sometimes, interesting approaches emerge, allowing me to refine my own concepts.

Accelerating Research and Discovery

It also works exceptionally well when I can describe my goal very precisely and ask for a suitable solution. For highly specific problems, the AI can surface suggestions I may never have encountered. The crucial step is that the final selection is always made manually. The AI’s vast knowledge base dramatically shortens what would otherwise be extensive research.

Automating Boilerplate and Refactoring

Boilerplate code is a perfect task for my digital colleague. The same goes for routine refactorings, such as when a class needs a new field and existing code—including tests—must be updated. Once a template is established, the AI can take over a great deal of tedious typing.

Generating and Improving Tests

This extends to preparing various tests, though in my experience, its output here often requires follow-up work. This includes meticulously describing what the tests should cover. A key strength is the AI’s ability to suggest missing tests and highlight edge cases, which is invaluable for ensuring the code is thoroughly covered.

In essence, I use the AI not as an oracle, but as a powerful partner in a pair programming setup—one that accelerates exploration, automates the mundane, and helps me think through problems more completely.


🤝 The Power of Partnership: Where AI Unlocks Maximum Efficiency

This section was automatically generated to expand upon the article’s core ideas.

While the article outlines the pragmatic use cases, it’s valuable to step back and recognize the pattern: AI is an unbeatable efficiency multiplier when it bridges the gap between intent and implementation.

Concretely, this means you achieve the greatest productivity gains when the AI handles the tedious translation work for you. You have a clear concept in your head—be it a complex algorithm, a database query, or an architectural idea—but the mechanical work of writing out the syntactically correct code costs time and concentration. This is precisely where AI excels. It translates your precisely formulated intent into functional code at lightning speed. This is especially true for:

  • Boilerplate Generation: Creating standard project structures, API skeletons, or configuration files.
  • Cross-Language Transcription: Rewriting a function from a legacy to a modern syntax or even into a different programming language.
  • Documentation Creation: Automatically generating code comments or API descriptions from already written, functioning code.

Yet, this superpower comes with a crucial responsibility: your ability to critically verify. The AI is a brilliant execution aide, but not a strategy or architecture partner. It optimizes for speed and syntactic correctness, not necessarily for elegance, security, or the long-term maintenance costs of your code.

Blind trust is therefore the biggest mistake. The true leverage of competence lies in your ability to review the AI’s output with the skepticism of a Senior Developer: Do I understand what this code does? Does it meet all requirements? Are there edge cases it didn’t consider? Is this solution performant and secure? Only if you could have written every line yourself are you truly able to evaluate the output. AI doesn’t make the competent developer obsolete—it makes them orders of magnitude more effective.

#ai-development#development-workflow#software-craftsmanship
Read more in Development Practices!