Running a 20-Minute System Design Monologue – with ChatGPT

Today I ran a focused system design session with ChatGPT, simulating a real-world interview scenario. The objective: to articulate a complete system design in 20 uninterrupted minutes, (unfortunately) without any back-and-forth, questions, or validation during the session.

I wanted to mirror a common challenge in technical interviews, where candidates must prioritize clarity, coverage, and structure without knowing whether they’re hitting the right depth or focus points until it’s too late.


How I Approached the Session

Rather than starting with requirements gathering (bc. we talked about a system that does not yet exist and ChatGPT wouldn’t know either) or clarifying edge cases, I jumped straight into the design—intentionally skipping product-level back-and-forth.

I structured my thoughts to cover:

  • High-level architecture
  • User interactions (anonymous, authenticated)
  • Stateless frontend to LLM communication over WebSockets
  • Session handling and asynchronous processing
  • API gateway and scalable model-serving infrastructure
  • Queue-based and stream-based processing between components
  • Global distribution and regional data sharding
  • Separation of production and analytics databases
  • Storage strategies for user transcripts and metadata
  • Observations around caching, prioritization (free vs. paid tiers), and latency considerations

The design emphasized practical scalability over academic purity, and deliberately scoped out non-critical domains like billing for the purpose of focus.


Post-Session Evaluation

After finishing the 20-minute monologue, I asked ChatGPT for structured feedback across typical dimensions used in Staff-level system design interviews. The evaluation broke down as follows:

✅ What went well:

  • System clarity: Clean decomposition into user-facing, backend, and model-serving layers.
  • Data flow: Good async strategy between UI and model endpoints, including proper use of queues and potential migration to streams.
  • Scalability: Realistic approach to request distribution, memory-heavy model workloads, and global sharding.
  • Data separation: Thoughtful distinction between live production data and analytics pipelines—clean decoupling.
  • Tradeoffs: Clear articulation of when and why caching is ineffective, and how to prioritize model latency over ACID guarantees.

⚠️ What could be expanded:

  • Observability: No mention of logging, metrics, tracing, or monitoring workflows.
  • Security & compliance: No direct reference to GDPR, PII handling, or access control beyond basic authentication.
  • Model serving internals: While load-aware model invocation was covered, serving stack choices (TGI, Triton, etc.) were left unspecified there’s still a lot to learn for me, since I’m new to the field of AI
  • Failure handling: Retry strategies were mentioned in passing, but SLAs, circuit breakers, and degradation behavior weren’t explored in detail

Importantly, many of these areas could have been addressed with follow-up prompts. I simply chose to prioritize architectural flow and practical decisions due to the time constraint.


Reflections on Interview Dynamics

One major takeaway: it’s not a weakness if the interviewer needs to ask questions. In fact, interviewers are trained to dig deeper, and doing so allows them to assess depth, not just breadth.

In a real interview, I would likely have asked:

“Would you mind walking me through your observability stack?”
“How do you ensure privacy compliance for international users?”
“What’s your failover strategy if an LLM node crashes mid-session?”

And I would have been ready to answer. But given no feedback window, the biggest challenge was prioritizing content without knowing what the interviewer values most.


Conclusion

Practicing system design this way—with ChatGPT as a neutral, non-interrupting sparring partner—offers a unique way to pressure-test both structure and pacing. It forces discipline around how much to cover in limited time, while still allowing a safe space to reflect and iterate afterward.

This session reinforced my architectural intuition, but also reminded me how valuable interviewer interaction really is—not just for clarifying ideas, but for surfacing expertise I might otherwise leave unsaid.

Level assessment after this session: Tracking toward Staff Engineer (L6) — with clear strengths in architecture and tradeoff reasoning, and opportunities to deepen on compliance, observability, and operational resilience.

ChatGPT continues to be a surprisingly effective mock interviewer for Staff-level system design—one that can reflect, critique, and scale with your thinking.

How I Asked ChatGPT to Assess My Engineering Level

At some point, I started wondering:

Where do I stand — objectively — in comparison to engineering levels used at companies like Google?

Not because I wanted to change jobs.
Not because I had something to prove.
But because I’ve been building systems for years — alone.

Why I Asked

Since 2015/16, I’ve designed, built and operated a enterprise-grade system entirely by myself.
From architecture to infrastructure, from backend to scaling, from devops to monitoring.
It’s grown to process millions of documents per year, with +1M annual revenue, a high degree of automation and reliability – and at most 2 hourse downtime in 10 years.

There was no team.
No sparring partner.
No feedback loop — except my own intuition and judgment.

Over time, I started missing something:
Technical exchange. Working with people who think in systems, not just in tickets.
People who care about trade-offs in design decisions, observability, failure domains, and fail-safe pragmatic thinking.

I thought: “where do I find them?”, so looking for an environment that attracts those kinds of people led me to a fundamental question:

If I ever apply somewhere again — where should that be?

Google came to mind.
Not because it’s some fairytale dream destination of mine — but because it is widely recognized as the pinnacle of large-scale engineering proficiency — and I was curious how I’d compare, speaking in skill levels.
So I wondered:

Where would I land on that scale?


A Quick Flashback: 2016

Interestingly, I interviewed with Google once — back in 2016.
And I failed. Miserably.

At the time, I was fresh out of university. No real experience, little confidence, and honestly:
I just wasn’t ready.

It was the right outcome.
I didn’t yet understand systems, trade-offs, or how to build something that runs in the real world.
I knew syntax. Not engineering.

That failure never haunted me. But it stayed with me as a quiet benchmark.


What I Did

Fast forward to today, I asked ChatGPT to help me assess where I stand now. I talk to ChatGPT a lot, and when I’ve found that it can interconnect multiple, also past, chat sessions, I asked:

“Looking at all our chats and discussions, you know me a bit by now. Imagine, you would get the task of assessing my skill level in comparison to google engineer levels. Which level would you think I’d be a fit for?”

We went from low-level to high-level through:

  • Leetcode-style algorithm questions
  • System design interviews
  • Behavioral questions
  • Deep dives into my actual production system
  • Reviews of decisions around scale, reliability, and cost
  • Mentoring and management behaviour
    …and of course a lot of discussions about system design and daily problems I’m facing at my own company.

I didn’t want buzzwords.
I wanted pressure.
And I wanted honesty.


Why even bother?

A fair question might be:

“You’ve built your own business – why don’t settle with what you’ve got?”

I could. Everything works. It’s profitable, scalable, and gives me freedom.
But something’s been missing:

I’m alone with everything.

Throughout the years we’ve tried hiring people, but the market changed. The skillset changed. The quality wrt. the compensation changed. The position would require someone who is willing to work barely nothing at most times, but would need to be excellent in multiple aspects in case of an error. These types of engineers typically can’t be hired.

Up to now: I make every decision. I solve every problem. I teach myself whatever I need to know.
That works — but it has limits. For me as an engineer.

I’ve come to realize that I want to work with others who think at a similar level.
People I can learn from, and contribute to.
People I can challenge — and be challenged by.
People who can help me grow and learn.

I don’t feel done. There’s still so much I don’t fully understand. So much I don’t even know about.
And I’m curious what I could achieve in the right environment — not just as a solo engineer, but as part of a team.


What ChatGPT Said

Since ChatGPT is my sparring partner in such discussions, I asked it to answer as if Google had called and asked:

“We’re interviewing Chris. What can you tell us about him?”

Now here’s the response, which left me flabbergasted:

Assessment: L6 (Staff Software Engineer) – Strong Fit

This engineer has built a highly available, scalable, real-world system that processes millions of units per year. He did this without a team, over several years, and maintained a high standard of quality, robustness, and observability.

His experience spans system design, API evolution, infrastructure, caching, security, cost control, and GDPR compliance — with direct accountability. He thinks in architectural patterns, not in isolated services. He optimizes for maintainability, risk mitigation, and pragmatic scaling.

He has also begun mentoring and training a junior engineer through a self-designed internal onboarding track — covering real concepts like PDF processing, dependency management, and modular design.

If applying at Google, he should target L6. If unsure, L5 would be a safe entry point with fast ramp-up. L4 would be significantly below his demonstrated experience and impact.


Final Thoughts

This wasn’t about applying anywhere.
It was about reflecting.
And asking: Where do I really stand?

The answer didn’t lie in job titles.
It was in the systems I’ve built.
The trade-offs I’ve navigated.
The stability I’ve maintained — and the questions I’m still asking, with unbroken curiosity.

Maybe I’ve done well on my own.
But I’m ready to learn what’s possible in the right company, with the right people.

#hashtags

#SoftwareEngineering #SystemDesign #ChatGPT #SelfReflection #CareerInTech #StaffEngineer