Questions to Ask a Programmer
Questions to Ask a Programmer
Engineering-focused prompts that reveal problem-solving approach, code quality habits, collaboration style, and real-world tradeoffs.
1When you inherit unfamiliar code, what’s your first hour look like?
When you inherit unfamiliar code, what’s your first hour look like?
Surfaces debugging process, tooling, and systematic exploration.
2How do you decide between refactoring and shipping a quick fix?
How do you decide between refactoring and shipping a quick fix?
Reveals judgment about risk, debt, and business impact.
3What tests give you the most confidence before deploy?
What tests give you the most confidence before deploy?
Highlights quality gates and reliability mindset.
4Describe a production incident you handled—what changed afterward?
Describe a production incident you handled—what changed afterward?
Looks for learning loops and blameless postmortems.
5How do you approach naming and function boundaries?
How do you approach naming and function boundaries?
Signals code readability and maintainability values.
6What’s your strategy for feature flags and gradual rollouts?
What’s your strategy for feature flags and gradual rollouts?
Shows operational maturity and risk control.
7How do you decide when to add a dependency vs. build in-house?
How do you decide when to add a dependency vs. build in-house?
Explores long-term cost, security, and velocity tradeoffs.
8What metrics do you monitor for this service?
What metrics do you monitor for this service?
Connects code to SLOs, alerts, and user outcomes.
9How do you ensure security and privacy in everyday coding?
How do you ensure security and privacy in everyday coding?
Checks secure defaults and threat awareness.
10What’s your approach to code reviews—giving and receiving?
What’s your approach to code reviews—giving and receiving?
Shows collaboration norms and growth mindset.
11When have you advocated for deleting code?
When have you advocated for deleting code?
Healthy engineering cultures prune complexity to move faster.
12What’s a design decision you regret and what did you learn?
What’s a design decision you regret and what did you learn?
Seeks reflection and design evolution, not perfection.
13How do you evaluate performance bottlenecks?
How do you evaluate performance bottlenecks?
Looks for measurement first, then targeted fixes.
14What’s your local dev environment setup and why?
What’s your local dev environment setup and why?
Tooling choices reveal productivity habits and constraints.
15What docs do you wish teams wrote more consistently?
What docs do you wish teams wrote more consistently?
Surfaces knowledge transfer pain points and solutions.
16How do you approach accessibility or internationalization in code?
How do you approach accessibility or internationalization in code?
Checks for inclusive design baked into development.
17What’s your strategy for handling breaking API changes?
What’s your strategy for handling breaking API changes?
Explores versioning, communication, and migration paths.
18How do you split work across sprints without losing coherence?
How do you split work across sprints without losing coherence?
Shows planning and integration discipline.
19What do you read or practice to stay current?
What do you read or practice to stay current?
Indicates continuous learning and technical curiosity.
20What’s your favorite tiny utility you’ve written—and why?
What’s your favorite tiny utility you’ve written—and why?
Invites craft joy and practical problem-solving flavor.
Want to learn more?
Evaluating Engineering Mindsets
Want to learn more?
Evaluating Engineering Mindsets
Look for Systems Thinking
Evidence Over Vibes
Strong engineers lean on measurements, not guesses.
Design for Change
Ask about seams, contracts, and rollback plans.
Operate the Code
Shipping includes monitoring, alerting, and on-call learnings.
Signal-Rich Topics
Three Areas
Common Pitfalls
Tool Fetish
Focus on outcomes and habits, not just tech stacks.
Hero Bias
Prefer teams that prevent fires to lone heroes who fight them.