Skip to main content

How to Ace Salesforce Architecture Design Questions

⚡ Key Points: 1-Minute Summary

  • The 5-Step Formula: Always answer design questions using a fixed shape: Clarify, Assume, Provide Options, Pick with Trade-offs, and Name the Risks.
  • Build vs. Buy: Standard configuration first, buy (AppExchange) second, build custom code last.
  • AppExchange Vetting: Never install blindly. Evaluate security reviews, permission footprints, data volume handling, limit consumption, support rhythm, and exit strategies.
  • Embrace Constraints: If an interviewer adds a constraint that breaks your design, pivot gracefully. Defensiveness fails the round.
๐Ÿ’ฌ In plain words: Senior architects don't just jump to a solution. They answer design questions using a predictable, structured format. You must clarify the actual requirement, state your assumptions out loud, offer a simple and a robust option, pick the best one while explaining the trade-offs, and finally, name the risks you are accepting. Structure is what separates a senior architect's answer from a junior developer's answer.
๐Ÿ“Œ Real-Life Example: You are in a review panel and receive the prompt: "Design a field-service scheduling system."

Do not immediately start drawing objects. Instead, go in order:
1. Clarify: Ask about data volumes, peak concurrency, and offline requirements.
2. Assume: State your assumptions out loud based on their answers.
3. Design: Draw the core data model first. Then cover automation, integration, and security.
4. Scale: Address what happens at 10x volume (limits).
5. Conclude: State the trade-offs you accept to make this work. The skeleton is the answer; the technical content just fills it in.
๐Ÿง  The Fixed Shape: Clarify → Assume → Two Options → Pick with Trade-offs → Name the Risks. Use this exact shape for every single design question.

๐Ÿ—️ The Core Concept: Process Over Preference

Architect-level design questions (e.g., "Design a quoting system for 2,000 reps") are actually grading your process, not just your technical recall. The ideal process runs in five distinct steps:

  • Clarify: Establish the constraints, non-functional requirements, and scale.
  • Lay out options: Present the possible paths along with their trade-offs (e.g., declarative vs. programmatic).
  • Choose and Justify: Pick one design and defend it specifically against the constraints you uncovered in step one.
  • Name the Risks: Identify failure modes, platform limits, and the future evolution path.

Furthermore, three things supply the vocabulary that signals true seniority during these discussions:

  • Using the Well-Architected pillars (Trusted, Easy, Adaptable).
  • Naming Integration Patterns accurately (e.g., Request and Reply, Fire and Forget).
  • Demonstrating Limit-awareness (knowing where API, DML, or SOQL limits will bite).

Hedging everything with "it depends," or jumping straight to designing a schema without asking questions, signals a lack of architectural maturity.

๐Ÿงญ 360 Card — Framing Design Answers

Rule: Stick to one fixed shape: Clarify, assume, give two options, pick one with trade-offs, and name the risks.
Gain: The interviewer is grading your process. A repeatable shape proves you have a reliable methodology without you having to explicitly narrate it.
Price: It takes immense discipline to pause and ask clarifying questions when you think you already know the answer.
Limits: You must budget your time. Spend a few minutes on volume, speed, and limits. Then move to the data model, automation/integration, security, and finally, what breaks at scale.
Mirror (Answering "It depends"): While honest, "it depends" is useless on its own. It is only allowed as an opening move if you immediately name what it depends on and commit to a path.
At volume: If asked about an unfamiliar area, reason out loud from platform invariants. Multi-tenancy implies limits; limits imply async processing and data chunking.

๐Ÿ’ฌ Core Q&A: Structuring Your Answer

Q: Give the reusable skeleton for answering a live design question in 20 minutes.
๐ŸŽฏ Say this first: "Clarify → assumptions → data model → automation/integration → security → limits at scale → trade-offs and risks. I use the same skeleton every time, spoken out loud."

A: You must strictly budget your 20 minutes.

  • Minutes 0-4 (Interrogate): Ask about users, volumes (records per day), peak concurrency, latency needs, existing middleware, ERPs, identity systems, and compliance rules. State your assumptions out loud.
  • Minutes 4-8 (Data & Integration): Shape the core data model. Name the specific integration pattern for each data flow.
  • Minutes 8-14 (Trade-offs): Work through the contentious choices as explicit trade-offs. "I'm using Flow here for admin ownership, but Apex there because of the data volume." Be sure to state what you are NOT doing and why.
  • Minutes 14-18 (Limits & Security): Discuss failure modes. Address data skew, the API limit budget, asynchronous error surfacing, and the sharing model.
  • Minutes 18-20 (Evolution): Close by explaining what will break when the business scales 10x, and what parts of the architecture you would revisit first.

The meta-skill here is to narrate every decision as a calculated trade-off against a stated constraint—never just as a personal preference.

๐Ÿ” Scenario-Based Follow-Ups

Q: The interviewer challenges your design with a constraint that breaks it. What's the winning behavior?

A: Update the design visibly and cheerfully. Say: "That changes our peak concurrency constraint, so the event-driven leg now needs a durable middleware queue instead." The interviewer is testing whether you hold your designs as flexible hypotheses or as rigid personal identities.

Before redesigning, ask one clarifying question about the new constraint—it might be narrower than it sounds. Preserve the parts of your architecture that survive, name what the change will cost, and pivot. Defensiveness fails the round immediately, even if your original design was brilliant.

Q: How do you handle a design question in an area you genuinely don't know deeply?

A: Reason from the platform's invariants out loud. Multi-tenancy implies strict limits, which naturally drives designs toward asynchronous processing and bulkification. Security defaults naturally lead to questions about sharing models and Field-Level Security (FLS).

Say it plainly: "I haven't shipped this specific product. But its shape suggests these constraints. Here is how I would validate that before committing." Interviewers rate well-calibrated reasoning far higher than bluffed specifics. Stating precisely what you would verify (e.g., limits documentation, running a quick spike) is a highly senior behavior.

Q: When do you say "no" to building custom code entirely?
๐ŸŽฏ Say this first: "Standard first, buy second, build last. Custom code is a liability we agree to maintain forever."

A: I evaluate requests against a three-rung ladder:

  • Standard Features: Can standard platform features do most of it if the business process bends a little? Bending a process is usually vastly cheaper than owning code for ten years.
  • Buy (AppExchange): Is there an AppExchange product whose entire job is solving this? Would we rather pay a license fee than maintain a custom build ourselves?
  • Build: Only if the requirement is a unique market differentiator do we build. And we build thin—customizing only the differentiating part while relying on standard objects wherever possible. Write this decision down as an Architecture Decision Record (ADR), because the next architect will definitely ask why it was built.
Q: What is your evaluation checklist for an AppExchange package?

A: I never install blindly. I evaluate six specific things:

  • Security Review: Has it passed a recent Salesforce security review?
  • Permission Footprint: What system access does it actually demand, and is it justified?
  • Data Shape Compatibility: Does it gracefully handle your specific org shape (e.g., Person Accounts, Multi-Currency, Large Data Volumes)?
  • Limit Consumption: Does its processing logic consume governor limits inside your own transactions?
  • Support Rhythm: How frequently is it updated? An abandoned package becomes your technical debt.
  • The Exit Strategy: What does leaving the app look like in three years, and how easily can you extract your data?
Q: Follow-Up: What happens if an AppExchange package doesn't scale with your future Large Data Volumes (LDV)?

A: This highlights why the Exit Strategy check is vital. If a managed package uses inefficient SOQL queries or synchronous triggers that fail under LDV, you are locked out of optimizing their code. In this scenario, you either have to offload the heavy data processing to an external system (like Data Cloud or a data warehouse) and feed aggregated results back to the package, or you must invoke your exit strategy, uninstall the package, and build a custom, highly scalable, asynchronous solution.

๐Ÿ“ 2-Minute Self-Check

  • Q1. A steering group asks why a design should be rejected. How do you frame it?
    A1. Frame it against the Well-Architected pillars: Trusted, Easy, Adaptable—backing it up with concrete findings from Health Check, Optimizer, and incident history.
  • Q2. The interviewer gives you a design question with missing information. What do you do first?
    A2. Stop and ask questions about volumes, latency, and constraints for a few minutes. Then state your assumptions out loud before designing.