#0182: The CTO Review: Using Socratic Dialog with AI for Better Technical Decisions

How a structured conversation between personas can transform your technical design process

Tags: braingasm, ai, socratic-method, cto, technical-review, dialog, architecture, decision-making, claude, 2025

claudio-schwarz-BvqmW7VGRRk-unsplash.jpg Photo by Claudio Schwarz on Unsplash

5-out-of-5-hats.png [ED: This technique has fundamentally changed how I approach technical decisions. It’s like having a senior architect on demand, one who asks tough questions and isn’t afraid to challenge assumptions.]

Braingasm

Picture this: You’re facing a complex technical decision. You’ve got options, trade-offs, and that nagging feeling you might be missing something. You’d love to bounce ideas off a senior architect, but they’re busy, in another timezone, or maybe your team doesn’t have one.

What if you could have a structured, thorough technical review anytime you need it? Not just a rubber stamp or a cursory glance, but a real dialog that challenges assumptions and explores alternatives?

Let me show you a technique we’ve been using: the CTO Review Mode, where AI facilitates a Socratic dialog between two well-defined personas to thoroughly explore technical decisions.

The Problem with Traditional Reviews

Technical design reviews often suffer from several issues:

  • Time constraints - “Can you review this? The meeting’s in 10 minutes.”
  • Single perspectives - The reviewer’s biases become your biases
  • Power dynamics - Junior members hesitate to challenge senior decisions
  • Incomplete exploration - First acceptable solution wins
  • Lost context - Decisions made, reasoning forgotten

We needed something better. Something repeatable, thorough, and that creates a permanent record of our reasoning.

Enter the Socratic Method

The Socratic method - teaching through questions rather than lectures - has been around for over 2,000 years. It turns out it’s perfect for technical design reviews.

Here’s the twist: instead of one person asking questions, we create a dialog between two personas:

  • Socrates (The CTO): 30+ years experience, asks the hard questions
  • Plato (The Tech Lead): Deep technical knowledge, proposes and defends solutions

The AI plays both roles, creating a genuine technical conversation that explores the problem space thoroughly.

A Real Example: The RLWRAP Decision

Let me show you how this played out when we were deciding how to add readline support to our Elixir CLI. Here’s an excerpt from the actual dialog:

Socrates (CTO): We’ve been using RLWRAP externally to wrap our Elixir CLI process. But I’m curious - IEx manages to provide readline functionality natively. What’s actually happening under the hood there?

Plato (Tech Lead): Ah, excellent question! IEx leverages Erlang’s built-in terminal handling system. It’s actually quite sophisticated - there are three key components: user_drv which acts as the terminal driver, edlin which provides line editing and input interpretation, and group.erl which implements the shell I/O server.

Socrates: So we’re talking about native Erlang/OTP functionality, not some external C library binding?

Plato: Exactly. Since OTP 26.1, they’ve actually moved more of the terminal handling from C drivers into Erlang NIFs. The edlin module was officially exposed as a public API in OTP 26.1.

Socrates: Interesting. So what are our actual options for implementing this in our CLI?

The dialog continues, exploring four different approaches, weighing trade-offs, and ultimately arriving at a pragmatic decision. The full conversation becomes part of our technical documentation.

[ED: For the complete story of how we implemented RLWRAP support in our Elixir CLI based on this review, see RLWRAP and Elixir: A Pragmatic Approach to CLI Readline Support.]

The Structure

Here’s how to structure your own CTO Review:

1. Define Your Personas

The CTO (Socrates)

  • Thinks strategically
  • Asks about maintenance, scale, and cost
  • Challenges assumptions
  • Seeks simplicity
  • Questions: “What’s the trade-off?”, “Have we considered…?”, “What happens when…?”

The Tech Lead (Plato)

  • Knows the implementation details
  • Proposes concrete solutions
  • Evaluates technical feasibility
  • Considers team capabilities
  • Responses: “We could approach it by…”, “The complexity there is…”, “That would require…”

2. Structure the Dialog

## CTO Review Mode: [Your Technical Decision]

**Socrates:** [Opening question about the problem]
**Plato:** [Explanation of current situation]
**Socrates:** [Probing question about alternatives]
**Plato:** [Detailed analysis with options]

[Continue through key decision points]

**Socrates:** [Synthesis question]
**Plato:** [Comprehensive summary]

### Recommendation
[Final agreed approach with reasoning]

3. Keep It Real

The dialog should feel authentic. The CTO should ask tough questions. The Tech Lead should acknowledge real trade-offs. No softball questions, no perfect solutions.

The Magic Moments

The best insights come from specific types of exchanges:

The Alternative Explorer:

Socrates: “What if we used technology X instead?” Plato: “Here’s what that would look like… [detailed exploration]”

The Complexity Revealer:

Socrates: “That sounds simple enough. What’s the catch?” Plato: “The complexity is in… [hidden challenges exposed]”

The Pragmatic Pivot:

Socrates: “Given those constraints, what’s the pragmatic path?” Plato: “Realistically, we should… [practical solution]”

Using AI as Your Partner

Here’s how to use this technique with AI (we use Claude, but any capable AI works):

  1. Set the Context: Explain your technical challenge clearly
  2. Invoke CTO Review Mode: Ask the AI to conduct a Socratic dialog
  3. Provide Constraints: Share real limitations (time, resources, skills)
  4. Iterate: If something’s unclear, ask for deeper exploration
  5. Document: Save the dialog as part of your decision record

Example prompt:

I need to decide between PostgreSQL and DynamoDB for our new service. 
Can you conduct a CTO Review Mode dialog exploring this decision? 
Context: We're a 5-person team, expecting 1M users in year one, 
with strong PostgreSQL experience but no NoSQL experience.

The Unexpected Benefits

Beyond better technical decisions, we’ve discovered several unexpected benefits:

  • Educational Value: Junior developers learn by reading these dialogs. They see how senior engineers think through problems.

  • Async Reviews: Team members in different timezones can contribute to the dialog asynchronously.

  • Decision Records: Six months later, when someone asks “Why did we choose X?”, the reasoning is right there.

  • Confidence Building: Thoroughly exploring alternatives gives confidence in the chosen path.

When to Use It

Perfect for:

  • Architecture decisions
  • Technology selection
  • Complex refactoring strategies
  • API design choices
  • Performance optimization approaches

Overkill for:

  • Simple bug fixes
  • Well-established patterns
  • Emergency hotfixes
  • Routine updates

The Integration with Development Process

We use this technique as part of our development methodology, where technical decisions are documented alongside our implementation. Each significant decision gets:

  1. A Socratic dialog exploring options
  2. A technical note documenting the decision
  3. Implementation tasks derived from the decision

This creates a complete record from exploration to execution.

Try It Yourself

Next time you’re facing a technical decision, try this:

  1. Write down your technical challenge
  2. Ask your AI assistant for a “CTO Review Mode” dialog
  3. Read through the dialog critically
  4. Refine any points that need deeper exploration
  5. Document the final recommendation

You might be surprised at what emerges from the conversation.

The Bottom Line

The Socratic dialog method transforms technical reviews from a checkbox exercise into genuine exploration. It’s like having a senior architect on demand, one who asks tough questions and isn’t afraid to challenge assumptions.

Is it perfect? No. Can it replace human expertise? Also no. But as a tool for thorough technical exploration, it’s remarkably effective. It forces you to articulate assumptions, explore alternatives, and document reasoning.

In an industry where we make hundred decisions a day, having a structured way to thoroughly explore the important ones is invaluable. The CTO Review Mode gives us that structure, and AI makes it accessible anytime we need it.

Regards,
M@


[ED: If you’d like to sign up for this content as an email, click here to join the mailing list.]

First published on matthewsinclair.com and cross-posted on Medium.

hello@matthewsinclair.com | matthewsinclair.com | bsky.app/@matthewsinclair.com | masto.ai/@matthewsinclair | medium.com/@matthewsinclair | xitter/@matthewsinclair

Stay up to date

Get notified when I publish something new.

Scan the QR-code to sign uo to matthewsinclair.com
Scan to sign up to matthewsinclair.com