After we've walked through your history in the Background Panel, the next step in our process is the Technical Skills Panel.
If the Background Panel is about where you've been, this session is about where you can go. We want to see how you approach new, ambiguous problems in real-time.
But first, a disclaimer: this isn't an abstract LeetCode grind. We aren't interested in whether you've memorized how to invert a binary tree or if you can recall the exact syntax of a library.
What to Expect: Systems over Syntax
In this panel, we focus on how you apply engineering thinking: how you design, debug and reason about real systems.
You'll be paired with two Authzed engineers to solve a practical problem: the kind of challenge we actually face when building and scaling distributed systems.
Depending on the role, this could mean:
- Distributed systems design
- Frontend architecture and user experience trade-offs
- Debugging a system that doesn't behave as expected
Just like the Background Panel, think about this as a collaborative session with engineers at work, but in this case, you are the tech lead. Help us set the technical direction you have in mind so we can solve the problem together.
The goal isn't to reach a single "correct" answer. There is no hidden solution we're waiting for you to guess.
Instead, we want to see your thought process. We're looking for:
- How you gather requirements
- How you navigate trade-offs
- How you reason through the complexities of distributed systems
- How you validate your solutions and measure success
Why This Matters in the AI Era
With the rise of AI coding agents, the "cost" of generating syntax has dropped to near zero. Anyone can prompt an LLM to write a boilerplate function.
However, AI still struggles with:
- High-level architectural trade-offs
- Ambiguous requirements
- Real-world constraints (latency, cost, failure modes)
- Relating technical solutions to our product and business context
At Authzed, we value the engineer who can direct the tools and know what to build as well as knowing what not to build.
We're looking for architectural intuition: the ability to see the big picture and understand how every component interacts.
How to Prepare
You don't need to spend weeks on competitive coding sites to get ready for this. Instead, focus on your mental framework for building systems.
-
Strengthen Your Core Engineering Fundamentals: The exact topics vary by role, but strong candidates understand the fundamentals behind their domain.
-
Study Real Systems: One of the most effective ways to prepare is to analyze real systems (systems you've built, open-source projects, products you use every day). Ask yourself: "If I had to scale this 100x tomorrow, what would break first? Why was it designed this way? Where are the bottlenecks?"
-
Practice "Thinking Out Loud": This is the most important skill. Since we're looking for your thought process, we need to hear it. Practice explaining why you're making a choice while you're making it.
-
Get Comfortable with Ambiguity: This panel is intentionally open-ended. We're interested to know how you navigate uncertainty.
During the Interview
-
Drive The Conversation: Don't wait for us to ask questions. Remember, you are the lead during the interview!
-
Structure Your Answers: Don't jump to the solution right away. Instead, clarify the requirements, understand the assumptions and constraints. Start with the MVP and be ready to talk about trade-offs, edge cases and bottlenecks. And include details! We're engineers too and want to engage with you at the same technical level.
-
Go Into As Much Depth and Detail as you can: This is your opportunity to show your technical capabilities.
-
Listen To Hints: You are not expected to know everything, and sometimes we will guide you towards the right approach, based on your questions.
In short: stay curious, stay vocal, and focus on the architecture. We're far more interested in how you think than whether you land on a perfect design.
Up next in the series: The Culture Panel.

