[{"data":1,"prerenderedAt":4134},["ShallowReactive",2],{"resume-interview-list":3},[4,2083,2986],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"category":6,"categoryLabel":11,"publishedAt":12,"updatedAt":12,"author":13,"tags":16,"featured":22,"body":23,"_type":2077,"_id":2078,"_source":2079,"_file":2080,"_stem":2081,"_extension":2082},"\u002Fresume-interview\u002Fsystem-design-interview-framework","resume-interview",false,"","How to Ace the Technical System Design Interview: A Practical Engineering Framework","A step-by-step architectural framework for software engineers tackling system design interviews, covering requirement scoping, back-of-the-envelope capacity calculations, component design, and failure modes.","Resume & Interview","2026-10-26T12:00:00Z",{"name":14,"role":15},"Editorial Staff","Engineering Education Team",[17,18,19,20,21],"System Design","Technical Interviews","Software Architecture","Scalability","Interview Prep",true,{"type":24,"children":25,"toc":2046},"root",[26,34,39,44,48,55,60,70,77,97,102,109,114,139,145,150,210,213,219,224,230,235,243,249,268,276,281,289,294,302,312,318,330,338,347,353,358,366,371,374,380,385,391,430,436,576,579,585,595,601,609,612,618,623,629,634,789,797,805,849,855,1500,1503,1509,1514,1520,1525,1530,1620,1626,1631,1659,1665,1670,1682,1715,1721,1732,1737,1745,1757,1760,1766,1785,1839,1842,1848,1853,1937,1940,1946,2040],{"type":27,"tag":28,"props":29,"children":30},"element","p",{},[31],{"type":32,"value":33},"text","The technical system design interview has become the definitive evaluation mechanism across technology companies for mid-level, senior, and staff software engineering roles. While coding rounds evaluate algorithmic proficiency and local syntax correctness in an isolated 40-line snippet, system design interviews simulate the real-world responsibilities of a senior technical lead.",{"type":27,"tag":28,"props":35,"children":36},{},[37],{"type":32,"value":38},"In this 45-to-60 minute collaborative session, interviewers do not expect candidates to recall an arbitrary \"correct answer.\" Instead, they evaluate your capacity to navigate ambiguous product requirements, decompose complex systems into decoupled services, conduct quantitative capacity estimations, make principled trade-offs, and design resilient distributed architectures that withstand real-world failure modes.",{"type":27,"tag":28,"props":40,"children":41},{},[42],{"type":32,"value":43},"Without a disciplined methodology, even experienced developers often struggle—either freezing under the open-ended nature of the prompt, diving prematurely into low-level database schemas, or rattling off cloud buzzwords without architectural cohesion. This guide provides a repeatable 5-step roadmap, back-of-the-envelope calculation formulas, a complete end-to-end design walkthrough of a distributed notification engine, resilience engineering patterns, and concrete communication strategies.",{"type":27,"tag":45,"props":46,"children":47},"hr",{},[],{"type":27,"tag":49,"props":50,"children":52},"h2",{"id":51},"_1-the-45-minute-system-design-roadmap",[53],{"type":32,"value":54},"1. The 45-Minute System Design Roadmap",{"type":27,"tag":28,"props":56,"children":57},{},[58],{"type":32,"value":59},"Treat the system design interview like leading a technical architecture review meeting with your engineering colleagues. Manage your pacing deliberately across five distinct phases:",{"type":27,"tag":61,"props":62,"children":64},"pre",{"code":63},"┌────────────────────────────────────────────────────────────────────────┐\n│               45-MINUTE SYSTEM DESIGN INTERVIEW TIMELINE               │\n├───────────────┬────────────────┬──────────────────────┬────────────────┤\n│ Minutes 0–5   │ Minutes 5–10   │ Minutes 10–25        │ Minutes 25–40  │\n│ Phase 1:      │ Phase 2:       │ Phase 3:             │ Phase 4:       │\n│ Scoping &     │ Back-of-the-   │ High-Level Design    │ Deep Dive,     │\n│ Requirements  │ Envelope Math  │ & API Contracts      │ Resilience &   │\n│               │                │                      │ Bottlenecks    │\n├───────────────┴────────────────┴──────────────────────┴────────────────┤\n│ Minutes 40–45: Phase 5: Failure Modes, Edge Cases, & Wrap-Up           │\n└────────────────────────────────────────────────────────────────────────┘\n",[65],{"type":27,"tag":66,"props":67,"children":68},"code",{"__ignoreMap":8},[69],{"type":32,"value":63},{"type":27,"tag":71,"props":72,"children":74},"h3",{"id":73},"phase-1-clarifying-requirements-scoping-minutes-05",[75],{"type":32,"value":76},"Phase 1: Clarifying Requirements & Scoping (Minutes 0–5)",{"type":27,"tag":28,"props":78,"children":79},{},[80,82,88,90,95],{"type":32,"value":81},"The most common failure mode in system design interviews is assuming requirements rather than scoping them collaboratively. Interview prompts are intentionally vague (e.g., ",{"type":27,"tag":83,"props":84,"children":85},"em",{},[86],{"type":32,"value":87},"\"Design WhatsApp\"",{"type":32,"value":89}," or ",{"type":27,"tag":83,"props":91,"children":92},{},[93],{"type":32,"value":94},"\"Design a Notification Service\"",{"type":32,"value":96},").",{"type":27,"tag":28,"props":98,"children":99},{},[100],{"type":32,"value":101},"Your first task is to narrow the problem to a manageable, agreed-upon scope by splitting requirements into two categories:",{"type":27,"tag":103,"props":104,"children":106},"h4",{"id":105},"_1-functional-requirements-what-the-system-does",[107],{"type":32,"value":108},"1. Functional Requirements (What the system does)",{"type":27,"tag":28,"props":110,"children":111},{},[112],{"type":32,"value":113},"Identify the core 2 to 3 user journeys you will solve in depth:",{"type":27,"tag":115,"props":116,"children":117},"ul",{},[118,124,129,134],{"type":27,"tag":119,"props":120,"children":121},"li",{},[122],{"type":32,"value":123},"Can clients submit single notifications and batch broadcasts?",{"type":27,"tag":119,"props":125,"children":126},{},[127],{"type":32,"value":128},"What delivery channels must be supported (Email, SMS, Mobile Push)?",{"type":27,"tag":119,"props":130,"children":131},{},[132],{"type":32,"value":133},"Can recipients configure communication preferences, quiet hours, and opt-outs?",{"type":27,"tag":119,"props":135,"children":136},{},[137],{"type":32,"value":138},"Do users need to query real-time delivery status, or is dispatch asynchronous?",{"type":27,"tag":103,"props":140,"children":142},{"id":141},"_2-non-functional-requirements-how-the-system-performs",[143],{"type":32,"value":144},"2. Non-Functional Requirements (How the system performs)",{"type":27,"tag":28,"props":146,"children":147},{},[148],{"type":32,"value":149},"Agree on the engineering constraints and service level agreements (SLAs):",{"type":27,"tag":115,"props":151,"children":152},{},[153,164,190,200],{"type":27,"tag":119,"props":154,"children":155},{},[156,162],{"type":27,"tag":157,"props":158,"children":159},"strong",{},[160],{"type":32,"value":161},"Scale:",{"type":32,"value":163}," What is the expected Daily Active User (DAU) base and average request volume?",{"type":27,"tag":119,"props":165,"children":166},{},[167,172,174,180,182,188],{"type":27,"tag":157,"props":168,"children":169},{},[170],{"type":32,"value":171},"Latency Target:",{"type":32,"value":173}," What is the acceptable p95 and p99 latency threshold? (e.g., ",{"type":27,"tag":66,"props":175,"children":177},{"className":176},[],[178],{"type":32,"value":179},"\u003C 100ms",{"type":32,"value":181}," acknowledgment for the ingestion API, ",{"type":27,"tag":66,"props":183,"children":185},{"className":184},[],[186],{"type":32,"value":187},"\u003C 5s",{"type":32,"value":189}," end-to-end delivery for transactional alerts).",{"type":27,"tag":119,"props":191,"children":192},{},[193,198],{"type":27,"tag":157,"props":194,"children":195},{},[196],{"type":32,"value":197},"Availability vs. Consistency:",{"type":32,"value":199}," Does the system favor high availability (99.99% uptime, accepting eventual delivery) or strict linearizability?",{"type":27,"tag":119,"props":201,"children":202},{},[203,208],{"type":27,"tag":157,"props":204,"children":205},{},[206],{"type":32,"value":207},"Durability & Idempotency:",{"type":32,"value":209}," Can messages ever be lost during power failures? What mechanisms prevent duplicate transmissions when network timeouts cause client retries?",{"type":27,"tag":45,"props":211,"children":212},{},[],{"type":27,"tag":49,"props":214,"children":216},{"id":215},"_2-phase-2-back-of-the-envelope-capacity-calculations-minutes-510",[217],{"type":32,"value":218},"2. Phase 2: Back-of-the-Envelope Capacity Calculations (Minutes 5–10)",{"type":27,"tag":28,"props":220,"children":221},{},[222],{"type":32,"value":223},"Quantitative estimates demonstrate engineering rigor. They transform vague assumptions into hard boundaries that dictate whether your service needs a single Redis instance, a sharded PostgreSQL cluster, or an append-only distributed event log.",{"type":27,"tag":71,"props":225,"children":227},{"id":226},"latency-numbers-every-software-engineer-must-memorize",[228],{"type":32,"value":229},"Latency Numbers Every Software Engineer Must Memorize",{"type":27,"tag":28,"props":231,"children":232},{},[233],{"type":32,"value":234},"Computer scientist Jeff Dean published benchmark latencies that serve as the universal standard for back-of-the-envelope system reasoning:",{"type":27,"tag":61,"props":236,"children":238},{"code":237},"┌───────────────────────────────────────────────┬────────────────┐\n│ Operation                                     │ Latency        │\n├───────────────────────────────────────────────┼────────────────┤\n│ L1 CPU Cache Reference                        │ 0.5 ns         │\n│ Branch Misprediction                          │ 5 ns           │\n│ L2 CPU Cache Reference                        │ 7 ns           │\n│ Main Memory (RAM) Reference                   │ 100 ns         │\n│ Read 1 MB sequentially from Memory            │ 250,000 ns     │\n│ Read 1 MB sequentially from NVMe SSD          │ 1,000,000 ns   │\n│ Round trip within same Datacenter             │ 500,000 ns     │\n│ Round trip across Continental US \u002F Internet   │ 100,000,000 ns │\n└───────────────────────────────────────────────┴────────────────┘\n",[239],{"type":27,"tag":66,"props":240,"children":241},{"__ignoreMap":8},[242],{"type":32,"value":237},{"type":27,"tag":71,"props":244,"children":246},{"id":245},"throughput-estimations-converting-dau-to-qps",[247],{"type":32,"value":248},"Throughput Estimations: Converting DAU to QPS",{"type":27,"tag":28,"props":250,"children":251},{},[252,254,259,261,266],{"type":32,"value":253},"Assume the interviewer specifies ",{"type":27,"tag":157,"props":255,"children":256},{},[257],{"type":32,"value":258},"50 million Daily Active Users (DAU)",{"type":32,"value":260},", generating an average of ",{"type":27,"tag":157,"props":262,"children":263},{},[264],{"type":32,"value":265},"4 notifications per user daily",{"type":32,"value":267},":",{"type":27,"tag":61,"props":269,"children":271},{"code":270},"Total Daily Volume = 50,000,000 users × 4 notifications = 200,000,000 notifications\u002Fday\n",[272],{"type":27,"tag":66,"props":273,"children":274},{"__ignoreMap":8},[275],{"type":32,"value":270},{"type":27,"tag":28,"props":277,"children":278},{},[279],{"type":32,"value":280},"There are 86,400 seconds in a day. For clean mental math during interviews, approximate this to 100,000 seconds:",{"type":27,"tag":61,"props":282,"children":284},{"code":283},"Average Ingestion QPS = 200,000,000 ÷ 86,400 ≈ 2,315 QPS\n",[285],{"type":27,"tag":66,"props":286,"children":287},{"__ignoreMap":8},[288],{"type":32,"value":283},{"type":27,"tag":28,"props":290,"children":291},{},[292],{"type":32,"value":293},"Traffic is never distributed evenly throughout a 24-hour cycle. Marketing campaigns, morning alerts, and product releases produce burst traffic. Apply a standard peak multiplier of 2.5×:",{"type":27,"tag":61,"props":295,"children":297},{"code":296},"Peak Ingestion QPS = 2,315 QPS × 2.5 ≈ 5,800 QPS\n",[298],{"type":27,"tag":66,"props":299,"children":300},{"__ignoreMap":8},[301],{"type":32,"value":296},{"type":27,"tag":28,"props":303,"children":304},{},[305,310],{"type":27,"tag":157,"props":306,"children":307},{},[308],{"type":32,"value":309},"Architectural Takeaway:",{"type":32,"value":311}," A sustained load of 5,800 peak writes per second cannot safely rely on synchronous direct writes to a single relational database without queuing; it demands a pool of stateless web application servers fronted by a reverse-proxy load balancer and an asynchronous message bus.",{"type":27,"tag":71,"props":313,"children":315},{"id":314},"storage-estimations-over-a-5-year-horizon",[316],{"type":32,"value":317},"Storage Estimations Over a 5-Year Horizon",{"type":27,"tag":28,"props":319,"children":320},{},[321,323,328],{"type":32,"value":322},"Assume each notification metadata record (message ID, recipient UUID, channel enum, content payload, status, and audit timestamps) consumes ",{"type":27,"tag":157,"props":324,"children":325},{},[326],{"type":32,"value":327},"1 KB",{"type":32,"value":329}," of serialized storage:",{"type":27,"tag":61,"props":331,"children":333},{"code":332},"Daily Storage = 200,000,000 records × 1 KB = 200 GB\u002Fday\nAnnual Storage = 200 GB × 365 ≈ 73 TB\u002Fyear\n5-Year Storage = 73 TB × 5 ≈ 365 TB\n",[334],{"type":27,"tag":66,"props":335,"children":336},{"__ignoreMap":8},[337],{"type":32,"value":332},{"type":27,"tag":28,"props":339,"children":340},{},[341,345],{"type":27,"tag":157,"props":342,"children":343},{},[344],{"type":32,"value":309},{"type":32,"value":346}," Storing 365 TB in a single relational database instance exceeds practical operational limits for backups, index rebuilds, and disk I\u002FO. We must establish a two-tier storage model: an active relational database holding the most recent 30 days of transactional logs, with historical records archived to distributed object storage (e.g., Amazon S3 or Google Cloud Storage) partitioned by date.",{"type":27,"tag":71,"props":348,"children":350},{"id":349},"memory-caching-estimations-the-8020-pareto-rule",[351],{"type":32,"value":352},"Memory Caching Estimations (The 80\u002F20 Pareto Rule)",{"type":27,"tag":28,"props":354,"children":355},{},[356],{"type":32,"value":357},"If 20% of users account for 80% of read and status check volume, we cache their user preferences and active notification states in memory:",{"type":27,"tag":61,"props":359,"children":361},{"code":360},"Daily Read Volume = 200 GB\nActive Cache Working Set = 200 GB × 0.20 = 40 GB of RAM\n",[362],{"type":27,"tag":66,"props":363,"children":364},{"__ignoreMap":8},[365],{"type":32,"value":360},{"type":27,"tag":28,"props":367,"children":368},{},[369],{"type":32,"value":370},"A modern 64 GB or 128 GB in-memory Redis cluster easily accommodates this working set with substantial headroom for key indexing and replication buffers.",{"type":27,"tag":45,"props":372,"children":373},{},[],{"type":27,"tag":49,"props":375,"children":377},{"id":376},"_3-essential-architectural-building-blocks",[378],{"type":32,"value":379},"3. Essential Architectural Building Blocks",{"type":27,"tag":28,"props":381,"children":382},{},[383],{"type":32,"value":384},"Before designing custom domain logic, articulate the standard distributed systems primitives you will deploy:",{"type":27,"tag":71,"props":386,"children":388},{"id":387},"load-balancing-layer-4-vs-layer-7",[389],{"type":32,"value":390},"Load Balancing: Layer 4 vs. Layer 7",{"type":27,"tag":115,"props":392,"children":393},{},[394,404],{"type":27,"tag":119,"props":395,"children":396},{},[397,402],{"type":27,"tag":157,"props":398,"children":399},{},[400],{"type":32,"value":401},"Layer 4 (Transport \u002F TCP):",{"type":32,"value":403}," Distributes traffic based on source\u002Fdestination IP and port without parsing the application protocol. Highly performant with minimal memory consumption.",{"type":27,"tag":119,"props":405,"children":406},{},[407,412,414,420,422,428],{"type":27,"tag":157,"props":408,"children":409},{},[410],{"type":32,"value":411},"Layer 7 (Application \u002F HTTP):",{"type":32,"value":413}," Parses HTTP headers, cookies, and URI paths. Enables intelligent routing—such as routing ",{"type":27,"tag":66,"props":415,"children":417},{"className":416},[],[418],{"type":32,"value":419},"\u002Fapi\u002Fv1\u002Fnotifications\u002Fdispatch",{"type":32,"value":421}," to high-throughput queue workers while routing ",{"type":27,"tag":66,"props":423,"children":425},{"className":424},[],[426],{"type":32,"value":427},"\u002Fapi\u002Fv1\u002Fusers\u002Fpreferences",{"type":32,"value":429}," to CRUD cache services.",{"type":27,"tag":71,"props":431,"children":433},{"id":432},"caching-strategies-compared",[434],{"type":32,"value":435},"Caching Strategies Compared",{"type":27,"tag":437,"props":438,"children":439},"table",{},[440,475],{"type":27,"tag":441,"props":442,"children":443},"thead",{},[444],{"type":27,"tag":445,"props":446,"children":447},"tr",{},[448,455,460,465,470],{"type":27,"tag":449,"props":450,"children":452},"th",{"align":451},"left",[453],{"type":32,"value":454},"Strategy",{"type":27,"tag":449,"props":456,"children":457},{"align":451},[458],{"type":32,"value":459},"Read Mechanism",{"type":27,"tag":449,"props":461,"children":462},{"align":451},[463],{"type":32,"value":464},"Write Mechanism",{"type":27,"tag":449,"props":466,"children":467},{"align":451},[468],{"type":32,"value":469},"Consistency Guarantee",{"type":27,"tag":449,"props":471,"children":472},{"align":451},[473],{"type":32,"value":474},"Optimal Use Case",{"type":27,"tag":476,"props":477,"children":478},"tbody",{},[479,513,544],{"type":27,"tag":445,"props":480,"children":481},{},[482,493,498,503,508],{"type":27,"tag":483,"props":484,"children":485},"td",{"align":451},[486,491],{"type":27,"tag":157,"props":487,"children":488},{},[489],{"type":32,"value":490},"Cache-Aside",{"type":32,"value":492}," (Lazy Loading)",{"type":27,"tag":483,"props":494,"children":495},{"align":451},[496],{"type":32,"value":497},"Check cache first; on miss, query database and populate cache",{"type":27,"tag":483,"props":499,"children":500},{"align":451},[501],{"type":32,"value":502},"Write directly to database; invalidate or delete cache key",{"type":27,"tag":483,"props":504,"children":505},{"align":451},[506],{"type":32,"value":507},"Eventual consistency; brief staleness window",{"type":27,"tag":483,"props":509,"children":510},{"align":451},[511],{"type":32,"value":512},"Read-heavy workloads with irregular access patterns",{"type":27,"tag":445,"props":514,"children":515},{},[516,524,529,534,539],{"type":27,"tag":483,"props":517,"children":518},{"align":451},[519],{"type":27,"tag":157,"props":520,"children":521},{},[522],{"type":32,"value":523},"Write-Through",{"type":27,"tag":483,"props":525,"children":526},{"align":451},[527],{"type":32,"value":528},"Read directly from cache",{"type":27,"tag":483,"props":530,"children":531},{"align":451},[532],{"type":32,"value":533},"Application writes to cache; cache synchronously writes to DB",{"type":27,"tag":483,"props":535,"children":536},{"align":451},[537],{"type":32,"value":538},"Strong consistency between cache and DB; higher write latency",{"type":27,"tag":483,"props":540,"children":541},{"align":451},[542],{"type":32,"value":543},"Financial accounts, critical inventory states",{"type":27,"tag":445,"props":545,"children":546},{},[547,557,561,566,571],{"type":27,"tag":483,"props":548,"children":549},{"align":451},[550,555],{"type":27,"tag":157,"props":551,"children":552},{},[553],{"type":32,"value":554},"Write-Behind",{"type":32,"value":556}," (Write-Back)",{"type":27,"tag":483,"props":558,"children":559},{"align":451},[560],{"type":32,"value":528},{"type":27,"tag":483,"props":562,"children":563},{"align":451},[564],{"type":32,"value":565},"Application writes to cache; cache asynchronously flushes batch to DB",{"type":27,"tag":483,"props":567,"children":568},{"align":451},[569],{"type":32,"value":570},"Potential data loss if cache nodes crash before flushing",{"type":27,"tag":483,"props":572,"children":573},{"align":451},[574],{"type":32,"value":575},"High-frequency telemetry, view counters, click tracking",{"type":27,"tag":45,"props":577,"children":578},{},[],{"type":27,"tag":49,"props":580,"children":582},{"id":581},"_4-end-to-end-walkthrough-designing-a-distributed-notification-system",[583],{"type":32,"value":584},"4. End-to-End Walkthrough: Designing a Distributed Notification System",{"type":27,"tag":28,"props":586,"children":587},{},[588,590],{"type":32,"value":589},"Let us apply the complete framework to an end-to-end design: ",{"type":27,"tag":157,"props":591,"children":592},{},[593],{"type":32,"value":594},"\"Architect a resilient, multi-channel notification engine delivering millions of transactional and promotional alerts daily.\"",{"type":27,"tag":71,"props":596,"children":598},{"id":597},"core-architectural-blueprint",[599],{"type":32,"value":600},"Core Architectural Blueprint",{"type":27,"tag":61,"props":602,"children":604},{"code":603},"[ Client Applications \u002F Internal Services ]\n                    │\n                    ▼  HTTPS + Idempotency-Key\n         [ Layer 7 Load Balancer ]\n                    │\n                    ▼\n     [ Notification Ingestion Service ] ◄───► [ Redis Cluster ]\n                    │                        • Token Bucket Rate Limiter\n                    │                        • Idempotency Deduplication Keys\n                    ▼\n        [ Distributed Kafka Topics ]\n           ├── topic: notification.transactional.high (OTP, Alerts)\n           └── topic: notification.promotional.low   (Newsletters)\n                    │\n                    ▼\n       [ Asynchronous Consumer Worker Pool ]\n           ├── Email Workers ─────► [ SendGrid \u002F Amazon SES ]\n           ├── SMS Workers   ─────► [ Twilio ]\n           └── Push Workers  ─────► [ Apple APNs \u002F Google FCM ]\n                    │\n                    ├──► [ Transient Failure? ] ─► [ Retry Queue with Backoff ]\n                    └──► [ Permanent Failure? ] ─► [ Dead-Letter Queue (DLQ) ]\n                    │\n                    ▼\n         [ PostgreSQL 16 Cluster ]\n         • Primary (Writes) + Read Replicas\n         • User Opt-Outs & Dispatch History\n",[605],{"type":27,"tag":66,"props":606,"children":607},{"__ignoreMap":8},[608],{"type":32,"value":603},{"type":27,"tag":45,"props":610,"children":611},{},[],{"type":27,"tag":49,"props":613,"children":615},{"id":614},"_5-api-contracts-and-data-modeling",[616],{"type":32,"value":617},"5. API Contracts and Data Modeling",{"type":27,"tag":28,"props":619,"children":620},{},[621],{"type":32,"value":622},"A mature system design specifies clean interfaces and concrete data representations rather than vague conceptual diagrams.",{"type":27,"tag":71,"props":624,"children":626},{"id":625},"_1-ingestion-api-endpoint",[627],{"type":32,"value":628},"1. Ingestion API Endpoint",{"type":27,"tag":28,"props":630,"children":631},{},[632],{"type":32,"value":633},"Clients trigger alerts via a RESTful endpoint with an idempotency header:",{"type":27,"tag":61,"props":635,"children":639},{"code":636,"language":637,"meta":8,"className":638,"style":8},"POST \u002Fapi\u002Fv1\u002Fnotifications HTTP\u002F1.1\nHost: api.example.com\nAuthorization: Bearer \u003Cjwt_service_token>\nIdempotency-Key: a4c89b21-4f12-4d8e-9031-15cb7289f012\nContent-Type: application\u002Fjson\n\n{\n  \"recipientUserId\": \"usr_992144\",\n  \"channel\": \"SMS\",\n  \"priority\": \"HIGH\",\n  \"templateId\": \"tmpl_otp_verification\",\n  \"templateVariables\": {\n    \"authCode\": \"849201\",\n    \"expiresInMinutes\": 5\n  }\n}\n","http","language-http shiki shiki-themes github-dark",[640],{"type":27,"tag":66,"props":641,"children":642},{"__ignoreMap":8},[643,654,663,672,681,690,699,708,717,726,735,744,753,762,771,780],{"type":27,"tag":644,"props":645,"children":648},"span",{"class":646,"line":647},"line",1,[649],{"type":27,"tag":644,"props":650,"children":651},{},[652],{"type":32,"value":653},"POST \u002Fapi\u002Fv1\u002Fnotifications HTTP\u002F1.1\n",{"type":27,"tag":644,"props":655,"children":657},{"class":646,"line":656},2,[658],{"type":27,"tag":644,"props":659,"children":660},{},[661],{"type":32,"value":662},"Host: api.example.com\n",{"type":27,"tag":644,"props":664,"children":666},{"class":646,"line":665},3,[667],{"type":27,"tag":644,"props":668,"children":669},{},[670],{"type":32,"value":671},"Authorization: Bearer \u003Cjwt_service_token>\n",{"type":27,"tag":644,"props":673,"children":675},{"class":646,"line":674},4,[676],{"type":27,"tag":644,"props":677,"children":678},{},[679],{"type":32,"value":680},"Idempotency-Key: a4c89b21-4f12-4d8e-9031-15cb7289f012\n",{"type":27,"tag":644,"props":682,"children":684},{"class":646,"line":683},5,[685],{"type":27,"tag":644,"props":686,"children":687},{},[688],{"type":32,"value":689},"Content-Type: application\u002Fjson\n",{"type":27,"tag":644,"props":691,"children":693},{"class":646,"line":692},6,[694],{"type":27,"tag":644,"props":695,"children":696},{"emptyLinePlaceholder":22},[697],{"type":32,"value":698},"\n",{"type":27,"tag":644,"props":700,"children":702},{"class":646,"line":701},7,[703],{"type":27,"tag":644,"props":704,"children":705},{},[706],{"type":32,"value":707},"{\n",{"type":27,"tag":644,"props":709,"children":711},{"class":646,"line":710},8,[712],{"type":27,"tag":644,"props":713,"children":714},{},[715],{"type":32,"value":716},"  \"recipientUserId\": \"usr_992144\",\n",{"type":27,"tag":644,"props":718,"children":720},{"class":646,"line":719},9,[721],{"type":27,"tag":644,"props":722,"children":723},{},[724],{"type":32,"value":725},"  \"channel\": \"SMS\",\n",{"type":27,"tag":644,"props":727,"children":729},{"class":646,"line":728},10,[730],{"type":27,"tag":644,"props":731,"children":732},{},[733],{"type":32,"value":734},"  \"priority\": \"HIGH\",\n",{"type":27,"tag":644,"props":736,"children":738},{"class":646,"line":737},11,[739],{"type":27,"tag":644,"props":740,"children":741},{},[742],{"type":32,"value":743},"  \"templateId\": \"tmpl_otp_verification\",\n",{"type":27,"tag":644,"props":745,"children":747},{"class":646,"line":746},12,[748],{"type":27,"tag":644,"props":749,"children":750},{},[751],{"type":32,"value":752},"  \"templateVariables\": {\n",{"type":27,"tag":644,"props":754,"children":756},{"class":646,"line":755},13,[757],{"type":27,"tag":644,"props":758,"children":759},{},[760],{"type":32,"value":761},"    \"authCode\": \"849201\",\n",{"type":27,"tag":644,"props":763,"children":765},{"class":646,"line":764},14,[766],{"type":27,"tag":644,"props":767,"children":768},{},[769],{"type":32,"value":770},"    \"expiresInMinutes\": 5\n",{"type":27,"tag":644,"props":772,"children":774},{"class":646,"line":773},15,[775],{"type":27,"tag":644,"props":776,"children":777},{},[778],{"type":32,"value":779},"  }\n",{"type":27,"tag":644,"props":781,"children":783},{"class":646,"line":782},16,[784],{"type":27,"tag":644,"props":785,"children":786},{},[787],{"type":32,"value":788},"}\n",{"type":27,"tag":28,"props":790,"children":791},{},[792],{"type":27,"tag":83,"props":793,"children":794},{},[795],{"type":32,"value":796},"(Note: The endpoint above is an illustrative architectural example; JobsCapta does not operate an external notification dispatch API.)",{"type":27,"tag":28,"props":798,"children":799},{},[800],{"type":27,"tag":157,"props":801,"children":802},{},[803],{"type":32,"value":804},"Expected Responses:",{"type":27,"tag":115,"props":806,"children":807},{},[808,827,838],{"type":27,"tag":119,"props":809,"children":810},{},[811,817,819,825],{"type":27,"tag":66,"props":812,"children":814},{"className":813},[],[815],{"type":32,"value":816},"202 Accepted",{"type":32,"value":818},": Payload validated and enqueued successfully. Includes a unique ",{"type":27,"tag":66,"props":820,"children":822},{"className":821},[],[823],{"type":32,"value":824},"trackingId",{"type":32,"value":826},".",{"type":27,"tag":119,"props":828,"children":829},{},[830,836],{"type":27,"tag":66,"props":831,"children":833},{"className":832},[],[834],{"type":32,"value":835},"400 Bad Request",{"type":32,"value":837},": Schema validation error (e.g., missing required template variables).",{"type":27,"tag":119,"props":839,"children":840},{},[841,847],{"type":27,"tag":66,"props":842,"children":844},{"className":843},[],[845],{"type":32,"value":846},"429 Too Many Requests",{"type":32,"value":848},": Client application exceeded their allocated rate-limit quota.",{"type":27,"tag":71,"props":850,"children":852},{"id":851},"_2-relational-database-schema-postgresql",[853],{"type":32,"value":854},"2. Relational Database Schema (PostgreSQL)",{"type":27,"tag":61,"props":856,"children":860},{"code":857,"language":858,"meta":8,"className":859,"style":8},"-- Recipient communication preferences\nCREATE TABLE user_notification_preferences (\n    user_id VARCHAR(64) PRIMARY KEY,\n    email_enabled BOOLEAN NOT NULL DEFAULT TRUE,\n    sms_enabled BOOLEAN NOT NULL DEFAULT TRUE,\n    push_enabled BOOLEAN NOT NULL DEFAULT TRUE,\n    quiet_hours_start TIME,\n    quiet_hours_end TIME,\n    updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\n-- Notification audit ledger\nCREATE TABLE notification_dispatches (\n    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n    idempotency_key VARCHAR(128) UNIQUE NOT NULL,\n    user_id VARCHAR(64) NOT NULL,\n    channel VARCHAR(20) NOT NULL,\n    priority VARCHAR(10) NOT NULL,\n    status VARCHAR(20) NOT NULL DEFAULT 'PENDING',\n    vendor_message_id VARCHAR(128),\n    retry_count INT NOT NULL DEFAULT 0,\n    created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n    delivered_at TIMESTAMPTZ\n);\n\nCREATE INDEX idx_dispatches_user_status ON notification_dispatches(user_id, status);\nCREATE INDEX idx_dispatches_created ON notification_dispatches(created_at);\n","sql","language-sql shiki shiki-themes github-dark",[861],{"type":27,"tag":66,"props":862,"children":863},{"__ignoreMap":8},[864,873,899,938,966,990,1014,1031,1047,1078,1086,1093,1101,1121,1142,1180,1212,1246,1276,1320,1346,1377,1407,1421,1429,1437,1474],{"type":27,"tag":644,"props":865,"children":866},{"class":646,"line":647},[867],{"type":27,"tag":644,"props":868,"children":870},{"style":869},"--shiki-default:#6A737D",[871],{"type":32,"value":872},"-- Recipient communication preferences\n",{"type":27,"tag":644,"props":874,"children":875},{"class":646,"line":656},[876,882,887,893],{"type":27,"tag":644,"props":877,"children":879},{"style":878},"--shiki-default:#F97583",[880],{"type":32,"value":881},"CREATE",{"type":27,"tag":644,"props":883,"children":884},{"style":878},[885],{"type":32,"value":886}," TABLE",{"type":27,"tag":644,"props":888,"children":890},{"style":889},"--shiki-default:#B392F0",[891],{"type":32,"value":892}," user_notification_preferences",{"type":27,"tag":644,"props":894,"children":896},{"style":895},"--shiki-default:#E1E4E8",[897],{"type":32,"value":898}," (\n",{"type":27,"tag":644,"props":900,"children":901},{"class":646,"line":665},[902,907,912,917,923,928,933],{"type":27,"tag":644,"props":903,"children":904},{"style":895},[905],{"type":32,"value":906},"    user_id ",{"type":27,"tag":644,"props":908,"children":909},{"style":878},[910],{"type":32,"value":911},"VARCHAR",{"type":27,"tag":644,"props":913,"children":914},{"style":895},[915],{"type":32,"value":916},"(",{"type":27,"tag":644,"props":918,"children":920},{"style":919},"--shiki-default:#79B8FF",[921],{"type":32,"value":922},"64",{"type":27,"tag":644,"props":924,"children":925},{"style":895},[926],{"type":32,"value":927},") ",{"type":27,"tag":644,"props":929,"children":930},{"style":878},[931],{"type":32,"value":932},"PRIMARY KEY",{"type":27,"tag":644,"props":934,"children":935},{"style":895},[936],{"type":32,"value":937},",\n",{"type":27,"tag":644,"props":939,"children":940},{"class":646,"line":674},[941,946,951,956,961],{"type":27,"tag":644,"props":942,"children":943},{"style":895},[944],{"type":32,"value":945},"    email_enabled ",{"type":27,"tag":644,"props":947,"children":948},{"style":878},[949],{"type":32,"value":950},"BOOLEAN",{"type":27,"tag":644,"props":952,"children":953},{"style":878},[954],{"type":32,"value":955}," NOT NULL",{"type":27,"tag":644,"props":957,"children":958},{"style":878},[959],{"type":32,"value":960}," DEFAULT",{"type":27,"tag":644,"props":962,"children":963},{"style":895},[964],{"type":32,"value":965}," TRUE,\n",{"type":27,"tag":644,"props":967,"children":968},{"class":646,"line":683},[969,974,978,982,986],{"type":27,"tag":644,"props":970,"children":971},{"style":895},[972],{"type":32,"value":973},"    sms_enabled ",{"type":27,"tag":644,"props":975,"children":976},{"style":878},[977],{"type":32,"value":950},{"type":27,"tag":644,"props":979,"children":980},{"style":878},[981],{"type":32,"value":955},{"type":27,"tag":644,"props":983,"children":984},{"style":878},[985],{"type":32,"value":960},{"type":27,"tag":644,"props":987,"children":988},{"style":895},[989],{"type":32,"value":965},{"type":27,"tag":644,"props":991,"children":992},{"class":646,"line":692},[993,998,1002,1006,1010],{"type":27,"tag":644,"props":994,"children":995},{"style":895},[996],{"type":32,"value":997},"    push_enabled ",{"type":27,"tag":644,"props":999,"children":1000},{"style":878},[1001],{"type":32,"value":950},{"type":27,"tag":644,"props":1003,"children":1004},{"style":878},[1005],{"type":32,"value":955},{"type":27,"tag":644,"props":1007,"children":1008},{"style":878},[1009],{"type":32,"value":960},{"type":27,"tag":644,"props":1011,"children":1012},{"style":895},[1013],{"type":32,"value":965},{"type":27,"tag":644,"props":1015,"children":1016},{"class":646,"line":701},[1017,1022,1027],{"type":27,"tag":644,"props":1018,"children":1019},{"style":895},[1020],{"type":32,"value":1021},"    quiet_hours_start ",{"type":27,"tag":644,"props":1023,"children":1024},{"style":878},[1025],{"type":32,"value":1026},"TIME",{"type":27,"tag":644,"props":1028,"children":1029},{"style":895},[1030],{"type":32,"value":937},{"type":27,"tag":644,"props":1032,"children":1033},{"class":646,"line":710},[1034,1039,1043],{"type":27,"tag":644,"props":1035,"children":1036},{"style":895},[1037],{"type":32,"value":1038},"    quiet_hours_end ",{"type":27,"tag":644,"props":1040,"children":1041},{"style":878},[1042],{"type":32,"value":1026},{"type":27,"tag":644,"props":1044,"children":1045},{"style":895},[1046],{"type":32,"value":937},{"type":27,"tag":644,"props":1048,"children":1049},{"class":646,"line":719},[1050,1055,1060,1064,1068,1073],{"type":27,"tag":644,"props":1051,"children":1052},{"style":895},[1053],{"type":32,"value":1054},"    updated_at ",{"type":27,"tag":644,"props":1056,"children":1057},{"style":878},[1058],{"type":32,"value":1059},"TIMESTAMPTZ",{"type":27,"tag":644,"props":1061,"children":1062},{"style":878},[1063],{"type":32,"value":955},{"type":27,"tag":644,"props":1065,"children":1066},{"style":878},[1067],{"type":32,"value":960},{"type":27,"tag":644,"props":1069,"children":1070},{"style":878},[1071],{"type":32,"value":1072}," NOW",{"type":27,"tag":644,"props":1074,"children":1075},{"style":895},[1076],{"type":32,"value":1077},"()\n",{"type":27,"tag":644,"props":1079,"children":1080},{"class":646,"line":728},[1081],{"type":27,"tag":644,"props":1082,"children":1083},{"style":895},[1084],{"type":32,"value":1085},");\n",{"type":27,"tag":644,"props":1087,"children":1088},{"class":646,"line":737},[1089],{"type":27,"tag":644,"props":1090,"children":1091},{"emptyLinePlaceholder":22},[1092],{"type":32,"value":698},{"type":27,"tag":644,"props":1094,"children":1095},{"class":646,"line":746},[1096],{"type":27,"tag":644,"props":1097,"children":1098},{"style":869},[1099],{"type":32,"value":1100},"-- Notification audit ledger\n",{"type":27,"tag":644,"props":1102,"children":1103},{"class":646,"line":755},[1104,1108,1112,1117],{"type":27,"tag":644,"props":1105,"children":1106},{"style":878},[1107],{"type":32,"value":881},{"type":27,"tag":644,"props":1109,"children":1110},{"style":878},[1111],{"type":32,"value":886},{"type":27,"tag":644,"props":1113,"children":1114},{"style":889},[1115],{"type":32,"value":1116}," notification_dispatches",{"type":27,"tag":644,"props":1118,"children":1119},{"style":895},[1120],{"type":32,"value":898},{"type":27,"tag":644,"props":1122,"children":1123},{"class":646,"line":764},[1124,1129,1133,1137],{"type":27,"tag":644,"props":1125,"children":1126},{"style":895},[1127],{"type":32,"value":1128},"    id UUID ",{"type":27,"tag":644,"props":1130,"children":1131},{"style":878},[1132],{"type":32,"value":932},{"type":27,"tag":644,"props":1134,"children":1135},{"style":878},[1136],{"type":32,"value":960},{"type":27,"tag":644,"props":1138,"children":1139},{"style":895},[1140],{"type":32,"value":1141}," gen_random_uuid(),\n",{"type":27,"tag":644,"props":1143,"children":1144},{"class":646,"line":773},[1145,1150,1154,1158,1163,1167,1172,1176],{"type":27,"tag":644,"props":1146,"children":1147},{"style":895},[1148],{"type":32,"value":1149},"    idempotency_key ",{"type":27,"tag":644,"props":1151,"children":1152},{"style":878},[1153],{"type":32,"value":911},{"type":27,"tag":644,"props":1155,"children":1156},{"style":895},[1157],{"type":32,"value":916},{"type":27,"tag":644,"props":1159,"children":1160},{"style":919},[1161],{"type":32,"value":1162},"128",{"type":27,"tag":644,"props":1164,"children":1165},{"style":895},[1166],{"type":32,"value":927},{"type":27,"tag":644,"props":1168,"children":1169},{"style":878},[1170],{"type":32,"value":1171},"UNIQUE",{"type":27,"tag":644,"props":1173,"children":1174},{"style":878},[1175],{"type":32,"value":955},{"type":27,"tag":644,"props":1177,"children":1178},{"style":895},[1179],{"type":32,"value":937},{"type":27,"tag":644,"props":1181,"children":1182},{"class":646,"line":782},[1183,1187,1191,1195,1199,1203,1208],{"type":27,"tag":644,"props":1184,"children":1185},{"style":895},[1186],{"type":32,"value":906},{"type":27,"tag":644,"props":1188,"children":1189},{"style":878},[1190],{"type":32,"value":911},{"type":27,"tag":644,"props":1192,"children":1193},{"style":895},[1194],{"type":32,"value":916},{"type":27,"tag":644,"props":1196,"children":1197},{"style":919},[1198],{"type":32,"value":922},{"type":27,"tag":644,"props":1200,"children":1201},{"style":895},[1202],{"type":32,"value":927},{"type":27,"tag":644,"props":1204,"children":1205},{"style":878},[1206],{"type":32,"value":1207},"NOT NULL",{"type":27,"tag":644,"props":1209,"children":1210},{"style":895},[1211],{"type":32,"value":937},{"type":27,"tag":644,"props":1213,"children":1215},{"class":646,"line":1214},17,[1216,1221,1225,1229,1234,1238,1242],{"type":27,"tag":644,"props":1217,"children":1218},{"style":895},[1219],{"type":32,"value":1220},"    channel ",{"type":27,"tag":644,"props":1222,"children":1223},{"style":878},[1224],{"type":32,"value":911},{"type":27,"tag":644,"props":1226,"children":1227},{"style":895},[1228],{"type":32,"value":916},{"type":27,"tag":644,"props":1230,"children":1231},{"style":919},[1232],{"type":32,"value":1233},"20",{"type":27,"tag":644,"props":1235,"children":1236},{"style":895},[1237],{"type":32,"value":927},{"type":27,"tag":644,"props":1239,"children":1240},{"style":878},[1241],{"type":32,"value":1207},{"type":27,"tag":644,"props":1243,"children":1244},{"style":895},[1245],{"type":32,"value":937},{"type":27,"tag":644,"props":1247,"children":1249},{"class":646,"line":1248},18,[1250,1255,1259,1264,1268,1272],{"type":27,"tag":644,"props":1251,"children":1252},{"style":878},[1253],{"type":32,"value":1254},"    priority VARCHAR",{"type":27,"tag":644,"props":1256,"children":1257},{"style":895},[1258],{"type":32,"value":916},{"type":27,"tag":644,"props":1260,"children":1261},{"style":919},[1262],{"type":32,"value":1263},"10",{"type":27,"tag":644,"props":1265,"children":1266},{"style":895},[1267],{"type":32,"value":927},{"type":27,"tag":644,"props":1269,"children":1270},{"style":878},[1271],{"type":32,"value":1207},{"type":27,"tag":644,"props":1273,"children":1274},{"style":895},[1275],{"type":32,"value":937},{"type":27,"tag":644,"props":1277,"children":1279},{"class":646,"line":1278},19,[1280,1285,1290,1294,1298,1302,1306,1310,1316],{"type":27,"tag":644,"props":1281,"children":1282},{"style":878},[1283],{"type":32,"value":1284},"    status",{"type":27,"tag":644,"props":1286,"children":1287},{"style":878},[1288],{"type":32,"value":1289}," VARCHAR",{"type":27,"tag":644,"props":1291,"children":1292},{"style":895},[1293],{"type":32,"value":916},{"type":27,"tag":644,"props":1295,"children":1296},{"style":919},[1297],{"type":32,"value":1233},{"type":27,"tag":644,"props":1299,"children":1300},{"style":895},[1301],{"type":32,"value":927},{"type":27,"tag":644,"props":1303,"children":1304},{"style":878},[1305],{"type":32,"value":1207},{"type":27,"tag":644,"props":1307,"children":1308},{"style":878},[1309],{"type":32,"value":960},{"type":27,"tag":644,"props":1311,"children":1313},{"style":1312},"--shiki-default:#9ECBFF",[1314],{"type":32,"value":1315}," 'PENDING'",{"type":27,"tag":644,"props":1317,"children":1318},{"style":895},[1319],{"type":32,"value":937},{"type":27,"tag":644,"props":1321,"children":1323},{"class":646,"line":1322},20,[1324,1329,1333,1337,1341],{"type":27,"tag":644,"props":1325,"children":1326},{"style":895},[1327],{"type":32,"value":1328},"    vendor_message_id ",{"type":27,"tag":644,"props":1330,"children":1331},{"style":878},[1332],{"type":32,"value":911},{"type":27,"tag":644,"props":1334,"children":1335},{"style":895},[1336],{"type":32,"value":916},{"type":27,"tag":644,"props":1338,"children":1339},{"style":919},[1340],{"type":32,"value":1162},{"type":27,"tag":644,"props":1342,"children":1343},{"style":895},[1344],{"type":32,"value":1345},"),\n",{"type":27,"tag":644,"props":1347,"children":1349},{"class":646,"line":1348},21,[1350,1355,1360,1364,1368,1373],{"type":27,"tag":644,"props":1351,"children":1352},{"style":895},[1353],{"type":32,"value":1354},"    retry_count ",{"type":27,"tag":644,"props":1356,"children":1357},{"style":878},[1358],{"type":32,"value":1359},"INT",{"type":27,"tag":644,"props":1361,"children":1362},{"style":878},[1363],{"type":32,"value":955},{"type":27,"tag":644,"props":1365,"children":1366},{"style":878},[1367],{"type":32,"value":960},{"type":27,"tag":644,"props":1369,"children":1370},{"style":919},[1371],{"type":32,"value":1372}," 0",{"type":27,"tag":644,"props":1374,"children":1375},{"style":895},[1376],{"type":32,"value":937},{"type":27,"tag":644,"props":1378,"children":1380},{"class":646,"line":1379},22,[1381,1386,1390,1394,1398,1402],{"type":27,"tag":644,"props":1382,"children":1383},{"style":895},[1384],{"type":32,"value":1385},"    created_at ",{"type":27,"tag":644,"props":1387,"children":1388},{"style":878},[1389],{"type":32,"value":1059},{"type":27,"tag":644,"props":1391,"children":1392},{"style":878},[1393],{"type":32,"value":955},{"type":27,"tag":644,"props":1395,"children":1396},{"style":878},[1397],{"type":32,"value":960},{"type":27,"tag":644,"props":1399,"children":1400},{"style":878},[1401],{"type":32,"value":1072},{"type":27,"tag":644,"props":1403,"children":1404},{"style":895},[1405],{"type":32,"value":1406},"(),\n",{"type":27,"tag":644,"props":1408,"children":1410},{"class":646,"line":1409},23,[1411,1416],{"type":27,"tag":644,"props":1412,"children":1413},{"style":895},[1414],{"type":32,"value":1415},"    delivered_at ",{"type":27,"tag":644,"props":1417,"children":1418},{"style":878},[1419],{"type":32,"value":1420},"TIMESTAMPTZ\n",{"type":27,"tag":644,"props":1422,"children":1424},{"class":646,"line":1423},24,[1425],{"type":27,"tag":644,"props":1426,"children":1427},{"style":895},[1428],{"type":32,"value":1085},{"type":27,"tag":644,"props":1430,"children":1432},{"class":646,"line":1431},25,[1433],{"type":27,"tag":644,"props":1434,"children":1435},{"emptyLinePlaceholder":22},[1436],{"type":32,"value":698},{"type":27,"tag":644,"props":1438,"children":1440},{"class":646,"line":1439},26,[1441,1445,1450,1455,1460,1465,1470],{"type":27,"tag":644,"props":1442,"children":1443},{"style":878},[1444],{"type":32,"value":881},{"type":27,"tag":644,"props":1446,"children":1447},{"style":878},[1448],{"type":32,"value":1449}," INDEX",{"type":27,"tag":644,"props":1451,"children":1452},{"style":889},[1453],{"type":32,"value":1454}," idx_dispatches_user_status",{"type":27,"tag":644,"props":1456,"children":1457},{"style":878},[1458],{"type":32,"value":1459}," ON",{"type":27,"tag":644,"props":1461,"children":1462},{"style":895},[1463],{"type":32,"value":1464}," notification_dispatches(user_id, ",{"type":27,"tag":644,"props":1466,"children":1467},{"style":878},[1468],{"type":32,"value":1469},"status",{"type":27,"tag":644,"props":1471,"children":1472},{"style":895},[1473],{"type":32,"value":1085},{"type":27,"tag":644,"props":1475,"children":1477},{"class":646,"line":1476},27,[1478,1482,1486,1491,1495],{"type":27,"tag":644,"props":1479,"children":1480},{"style":878},[1481],{"type":32,"value":881},{"type":27,"tag":644,"props":1483,"children":1484},{"style":878},[1485],{"type":32,"value":1449},{"type":27,"tag":644,"props":1487,"children":1488},{"style":889},[1489],{"type":32,"value":1490}," idx_dispatches_created",{"type":27,"tag":644,"props":1492,"children":1493},{"style":878},[1494],{"type":32,"value":1459},{"type":27,"tag":644,"props":1496,"children":1497},{"style":895},[1498],{"type":32,"value":1499}," notification_dispatches(created_at);\n",{"type":27,"tag":45,"props":1501,"children":1502},{},[],{"type":27,"tag":49,"props":1504,"children":1506},{"id":1505},"_6-resilience-engineering-patterns-deep-dive",[1507],{"type":32,"value":1508},"6. Resilience Engineering Patterns & Deep Dive",{"type":27,"tag":28,"props":1510,"children":1511},{},[1512],{"type":32,"value":1513},"The difference between a mid-level design and a senior\u002Fstaff-level design lies in how the candidate addresses systemic failure.",{"type":27,"tag":71,"props":1515,"children":1517},{"id":1516},"_1-idempotency-and-exactly-once-semantics",[1518],{"type":32,"value":1519},"1. Idempotency and Exactly-Once Semantics",{"type":27,"tag":28,"props":1521,"children":1522},{},[1523],{"type":32,"value":1524},"Network connections over the public internet are inherently unreliable. If an upstream service sends a request to dispatch a verification code and encounters a TCP timeout before receiving an acknowledgment, it will automatically retry.",{"type":27,"tag":28,"props":1526,"children":1527},{},[1528],{"type":32,"value":1529},"To prevent the recipient from receiving two SMS messages:",{"type":27,"tag":1531,"props":1532,"children":1533},"ol",{},[1534,1546,1600],{"type":27,"tag":119,"props":1535,"children":1536},{},[1537,1539,1545],{"type":32,"value":1538},"The Ingestion Service extracts the client's ",{"type":27,"tag":66,"props":1540,"children":1542},{"className":1541},[],[1543],{"type":32,"value":1544},"Idempotency-Key",{"type":32,"value":826},{"type":27,"tag":119,"props":1547,"children":1548},{},[1549,1551,1557,1559],{"type":32,"value":1550},"It executes an atomic ",{"type":27,"tag":66,"props":1552,"children":1554},{"className":1553},[],[1555],{"type":32,"value":1556},"SET",{"type":32,"value":1558}," command in Redis with a 10-minute expiration:\n",{"type":27,"tag":61,"props":1560,"children":1564},{"code":1561,"language":1562,"meta":8,"className":1563,"style":8},"SET \"idemp:a4c89b21-4f12-4d8e-9031-15cb7289f012\" \"IN_PROGRESS\" NX EX 600\n","bash","language-bash shiki shiki-themes github-dark",[1565],{"type":27,"tag":66,"props":1566,"children":1567},{"__ignoreMap":8},[1568],{"type":27,"tag":644,"props":1569,"children":1570},{"class":646,"line":647},[1571,1575,1580,1585,1590,1595],{"type":27,"tag":644,"props":1572,"children":1573},{"style":889},[1574],{"type":32,"value":1556},{"type":27,"tag":644,"props":1576,"children":1577},{"style":1312},[1578],{"type":32,"value":1579}," \"idemp:a4c89b21-4f12-4d8e-9031-15cb7289f012\"",{"type":27,"tag":644,"props":1581,"children":1582},{"style":1312},[1583],{"type":32,"value":1584}," \"IN_PROGRESS\"",{"type":27,"tag":644,"props":1586,"children":1587},{"style":1312},[1588],{"type":32,"value":1589}," NX",{"type":27,"tag":644,"props":1591,"children":1592},{"style":1312},[1593],{"type":32,"value":1594}," EX",{"type":27,"tag":644,"props":1596,"children":1597},{"style":919},[1598],{"type":32,"value":1599}," 600\n",{"type":27,"tag":119,"props":1601,"children":1602},{},[1603,1605,1611,1613,1618],{"type":32,"value":1604},"If Redis returns ",{"type":27,"tag":66,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":32,"value":1610},"nil",{"type":32,"value":1612}," (meaning the key already exists), the server halts execution and returns HTTP ",{"type":27,"tag":66,"props":1614,"children":1616},{"className":1615},[],[1617],{"type":32,"value":816},{"type":32,"value":1619}," with the existing task record, short-circuiting duplicate downstream dispatches.",{"type":27,"tag":71,"props":1621,"children":1623},{"id":1622},"_2-priority-topic-isolation-in-kafka",[1624],{"type":32,"value":1625},"2. Priority Topic Isolation in Kafka",{"type":27,"tag":28,"props":1627,"children":1628},{},[1629],{"type":32,"value":1630},"Marketing newsletters must never delay security verifications. If a marketing department broadcasts a 500,000-recipient email campaign, queuing those jobs ahead of two-factor authentication codes would cause users to wait minutes for login verifications.",{"type":27,"tag":115,"props":1632,"children":1633},{},[1634,1654],{"type":27,"tag":119,"props":1635,"children":1636},{},[1637,1639,1645,1647,1653],{"type":32,"value":1638},"We partition the messaging bus into distinct Kafka topics: ",{"type":27,"tag":66,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":32,"value":1644},"notification.transactional.high",{"type":32,"value":1646}," and ",{"type":27,"tag":66,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":32,"value":1652},"notification.promotional.low",{"type":32,"value":826},{"type":27,"tag":119,"props":1655,"children":1656},{},[1657],{"type":32,"value":1658},"Dedicated worker auto-scaling groups are allocated exclusively to the high-priority topic, ensuring consistent sub-second end-to-end processing times regardless of marketing volumes.",{"type":27,"tag":71,"props":1660,"children":1662},{"id":1661},"_3-circuit-breaker-pattern-for-external-gateways",[1663],{"type":32,"value":1664},"3. Circuit Breaker Pattern for External Gateways",{"type":27,"tag":28,"props":1666,"children":1667},{},[1668],{"type":32,"value":1669},"Third-party notification vendors (Twilio, SendGrid) periodically experience degradation or outages. Making continuous synchronous API calls to an unresponsive vendor wastes connection pools and exhausts thread limits.",{"type":27,"tag":28,"props":1671,"children":1672},{},[1673,1675,1680],{"type":32,"value":1674},"Implement a ",{"type":27,"tag":157,"props":1676,"children":1677},{},[1678],{"type":32,"value":1679},"Circuit Breaker",{"type":32,"value":1681}," with three states:",{"type":27,"tag":115,"props":1683,"children":1684},{},[1685,1695,1705],{"type":27,"tag":119,"props":1686,"children":1687},{},[1688,1693],{"type":27,"tag":157,"props":1689,"children":1690},{},[1691],{"type":32,"value":1692},"Closed (Normal Operation):",{"type":32,"value":1694}," All requests pass through to the vendor. Successes and failures are monitored.",{"type":27,"tag":119,"props":1696,"children":1697},{},[1698,1703],{"type":27,"tag":157,"props":1699,"children":1700},{},[1701],{"type":32,"value":1702},"Open (Trip State):",{"type":32,"value":1704}," If the error rate exceeds 50% over a 30-second window, the circuit trips Open. Requests immediately fail fast or divert to an alternate secondary fallback vendor (e.g., falling back from SendGrid to Amazon SES) without attempting the primary vendor.",{"type":27,"tag":119,"props":1706,"children":1707},{},[1708,1713],{"type":27,"tag":157,"props":1709,"children":1710},{},[1711],{"type":32,"value":1712},"Half-Open (Testing Recovery):",{"type":32,"value":1714}," After a reset timeout (e.g., 60 seconds), a limited trial sample of requests is allowed through. If they succeed, the circuit returns to Closed; if they fail, it trips Open again.",{"type":27,"tag":71,"props":1716,"children":1718},{"id":1717},"_4-exponential-backoff-with-jitter",[1719],{"type":32,"value":1720},"4. Exponential Backoff with Jitter",{"type":27,"tag":28,"props":1722,"children":1723},{},[1724,1726,1731],{"type":32,"value":1725},"When retrying failed dispatches, retrying at static intervals (e.g., every 5 seconds) causes all worker threads to flood the recovering vendor simultaneously, creating a ",{"type":27,"tag":157,"props":1727,"children":1728},{},[1729],{"type":32,"value":1730},"thundering herd problem",{"type":32,"value":826},{"type":27,"tag":28,"props":1733,"children":1734},{},[1735],{"type":32,"value":1736},"Instead, implement exponential backoff with randomized jitter:",{"type":27,"tag":61,"props":1738,"children":1740},{"code":1739},"Retry Delay = 2^(retry_count) + random_uniform(0, 1) seconds\n",[1741],{"type":27,"tag":66,"props":1742,"children":1743},{"__ignoreMap":8},[1744],{"type":32,"value":1739},{"type":27,"tag":28,"props":1746,"children":1747},{},[1748,1750,1755],{"type":32,"value":1749},"If maximum retries are exhausted (e.g., 5 attempts), the message payload transitions into a ",{"type":27,"tag":157,"props":1751,"children":1752},{},[1753],{"type":32,"value":1754},"Dead-Letter Queue (DLQ)",{"type":32,"value":1756}," for automated alerting, investigation, and manual replay.",{"type":27,"tag":45,"props":1758,"children":1759},{},[],{"type":27,"tag":49,"props":1761,"children":1763},{"id":1762},"_7-crucial-candidate-communication-phrases",[1764],{"type":32,"value":1765},"7. Crucial Candidate Communication Phrases",{"type":27,"tag":28,"props":1767,"children":1768},{},[1769,1771,1776,1778,1783],{"type":32,"value":1770},"In a system design interview, ",{"type":27,"tag":83,"props":1772,"children":1773},{},[1774],{"type":32,"value":1775},"how",{"type":32,"value":1777}," you communicate is evaluated as heavily as ",{"type":27,"tag":83,"props":1779,"children":1780},{},[1781],{"type":32,"value":1782},"what",{"type":32,"value":1784}," you draw. Maintain a collaborative dialogue using these professional framing techniques:",{"type":27,"tag":115,"props":1786,"children":1787},{},[1788,1803,1817],{"type":27,"tag":119,"props":1789,"children":1790},{},[1791,1796,1798],{"type":27,"tag":157,"props":1792,"children":1793},{},[1794],{"type":32,"value":1795},"When validating requirements:",{"type":32,"value":1797}," ",{"type":27,"tag":83,"props":1799,"children":1800},{},[1801],{"type":32,"value":1802},"\"Before I dive into component design, I want to confirm our non-functional priorities. Are we optimizing primarily for ultra-low p99 latency, or is guaranteed message durability and zero loss our non-negotiable metric?\"",{"type":27,"tag":119,"props":1804,"children":1805},{},[1806,1811,1812],{"type":27,"tag":157,"props":1807,"children":1808},{},[1809],{"type":32,"value":1810},"When explaining a trade-off:",{"type":32,"value":1797},{"type":27,"tag":83,"props":1813,"children":1814},{},[1815],{"type":32,"value":1816},"\"I chose to introduce an asynchronous Kafka log here rather than writing synchronously to PostgreSQL. The trade-off is eventual consistency—the client will not see instant delivery confirmation in the database, but our ingestion API can absorb massive traffic spikes without exhausting database connection pools.\"",{"type":27,"tag":119,"props":1818,"children":1819},{},[1820,1825,1826],{"type":27,"tag":157,"props":1821,"children":1822},{},[1823],{"type":32,"value":1824},"When addressing scale bottlenecks:",{"type":32,"value":1797},{"type":27,"tag":83,"props":1827,"children":1828},{},[1829,1831,1837],{"type":32,"value":1830},"\"At 50 million active users, our notification audit table will generate 73 TB annually. To prevent our B-Tree indexes from degrading query performance, I recommend horizontally sharding the database by ",{"type":27,"tag":66,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":32,"value":1836},"user_id",{"type":32,"value":1838}," and archiving records older than 30 days to cold storage.\"",{"type":27,"tag":45,"props":1840,"children":1841},{},[],{"type":27,"tag":49,"props":1843,"children":1845},{"id":1844},"_8-summary-interview-day-checklist",[1846],{"type":32,"value":1847},"8. Summary Interview Day Checklist",{"type":27,"tag":28,"props":1849,"children":1850},{},[1851],{"type":32,"value":1852},"Before walking into your next technical architecture interview:",{"type":27,"tag":115,"props":1854,"children":1857},{"className":1855},[1856],"contains-task-list",[1858,1870,1879,1896,1912,1921],{"type":27,"tag":119,"props":1859,"children":1862},{"className":1860},[1861],"task-list-item",[1863,1868],{"type":27,"tag":1864,"props":1865,"children":1867},"input",{"disabled":22,"type":1866},"checkbox",[],{"type":32,"value":1869}," Structure the 45-minute conversation into five phases: Scoping, Math, High-Level Design, Deep Dive, and Failure Modes.",{"type":27,"tag":119,"props":1871,"children":1873},{"className":1872},[1861],[1874,1877],{"type":27,"tag":1864,"props":1875,"children":1876},{"disabled":22,"type":1866},[],{"type":32,"value":1878}," Practice back-of-the-envelope calculations: DAU → QPS, 5-year storage growth, and 80\u002F20 cache sizing.",{"type":27,"tag":119,"props":1880,"children":1882},{"className":1881},[1861],[1883,1886,1888,1895],{"type":27,"tag":1864,"props":1884,"children":1885},{"disabled":22,"type":1866},[],{"type":32,"value":1887}," Clarify database models: Relational consistency vs. NoSQL partition tolerance (review our ",{"type":27,"tag":1889,"props":1890,"children":1892},"a",{"href":1891},"\u002Ftech-guides\u002Fsql-vs-nosql-database-guide",[1893],{"type":32,"value":1894},"SQL vs. NoSQL Architecture Guide",{"type":32,"value":96},{"type":27,"tag":119,"props":1897,"children":1899},{"className":1898},[1861],[1900,1903,1905,1911],{"type":27,"tag":1864,"props":1901,"children":1902},{"disabled":22,"type":1866},[],{"type":32,"value":1904}," Adhere to clean RESTful endpoint and status code conventions (review ",{"type":27,"tag":1889,"props":1906,"children":1908},{"href":1907},"\u002Ftech-guides\u002Frest-apis-explained",[1909],{"type":32,"value":1910},"REST APIs Explained",{"type":32,"value":96},{"type":27,"tag":119,"props":1913,"children":1915},{"className":1914},[1861],[1916,1919],{"type":27,"tag":1864,"props":1917,"children":1918},{"disabled":22,"type":1866},[],{"type":32,"value":1920}," Articulate concrete distributed resilience patterns: Idempotency keys, circuit breakers, Dead-Letter Queues, and jittered exponential backoff.",{"type":27,"tag":119,"props":1922,"children":1924},{"className":1923},[1861],[1925,1928,1930,1936],{"type":27,"tag":1864,"props":1926,"children":1927},{"disabled":22,"type":1866},[],{"type":32,"value":1929}," Relate architectural patterns to real projects on your portfolio (review ",{"type":27,"tag":1889,"props":1931,"children":1933},{"href":1932},"\u002Fresume-interview\u002Fhow-to-describe-projects-on-resume",[1934],{"type":32,"value":1935},"How to Describe Projects on a Resume",{"type":32,"value":96},{"type":27,"tag":45,"props":1938,"children":1939},{},[],{"type":27,"tag":49,"props":1941,"children":1943},{"id":1942},"primary-references-and-architectural-standards",[1944],{"type":32,"value":1945},"Primary References and Architectural Standards",{"type":27,"tag":115,"props":1947,"children":1948},{},[1949,1966,1983,2000,2017],{"type":27,"tag":119,"props":1950,"children":1951},{},[1952,1957,1959,1964],{"type":27,"tag":157,"props":1953,"children":1954},{},[1955],{"type":32,"value":1956},"Kleppmann, Martin.",{"type":32,"value":1958}," (2017). ",{"type":27,"tag":83,"props":1960,"children":1961},{},[1962],{"type":32,"value":1963},"Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems.",{"type":32,"value":1965}," O'Reilly Media.",{"type":27,"tag":119,"props":1967,"children":1968},{},[1969,1974,1976,1981],{"type":27,"tag":157,"props":1970,"children":1971},{},[1972],{"type":32,"value":1973},"Dean, Jeff.",{"type":32,"value":1975}," (2009). ",{"type":27,"tag":83,"props":1977,"children":1978},{},[1979],{"type":32,"value":1980},"Numbers Everyone Should Know.",{"type":32,"value":1982}," Google Fellow Presentation, Stanford University.",{"type":27,"tag":119,"props":1984,"children":1985},{},[1986,1991,1993,1998],{"type":27,"tag":157,"props":1987,"children":1988},{},[1989],{"type":32,"value":1990},"Nygard, Michael T.",{"type":32,"value":1992}," (2018). ",{"type":27,"tag":83,"props":1994,"children":1995},{},[1996],{"type":32,"value":1997},"Release It!: Design and Deploy Production-Ready Software.",{"type":32,"value":1999}," Pragmatic Bookshelf.",{"type":27,"tag":119,"props":2001,"children":2002},{},[2003,2008,2010,2015],{"type":27,"tag":157,"props":2004,"children":2005},{},[2006],{"type":32,"value":2007},"Kreps, Jay, Narkhede, Neha, & Rao, Jun.",{"type":32,"value":2009}," (2011). ",{"type":27,"tag":83,"props":2011,"children":2012},{},[2013],{"type":32,"value":2014},"Kafka: A Distributed Messaging System for Log Processing.",{"type":32,"value":2016}," NetDB Workshop.",{"type":27,"tag":119,"props":2018,"children":2019},{},[2020,2025,2026,2031,2032],{"type":27,"tag":157,"props":2021,"children":2022},{},[2023],{"type":32,"value":2024},"Amazon Web Services.",{"type":32,"value":1797},{"type":27,"tag":83,"props":2027,"children":2028},{},[2029],{"type":32,"value":2030},"AWS Well-Architected Framework: Reliability and Performance Pillars.",{"type":32,"value":1797},{"type":27,"tag":1889,"props":2033,"children":2037},{"href":2034,"rel":2035},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fframework\u002Fwelcome.html",[2036],"nofollow",[2038],{"type":32,"value":2039},"docs.aws.amazon.com",{"type":27,"tag":2041,"props":2042,"children":2043},"style",{},[2044],{"type":32,"value":2045},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":8,"searchDepth":656,"depth":656,"links":2047},[2048,2051,2057,2061,2064,2068,2074,2075,2076],{"id":51,"depth":656,"text":54,"children":2049},[2050],{"id":73,"depth":665,"text":76},{"id":215,"depth":656,"text":218,"children":2052},[2053,2054,2055,2056],{"id":226,"depth":665,"text":229},{"id":245,"depth":665,"text":248},{"id":314,"depth":665,"text":317},{"id":349,"depth":665,"text":352},{"id":376,"depth":656,"text":379,"children":2058},[2059,2060],{"id":387,"depth":665,"text":390},{"id":432,"depth":665,"text":435},{"id":581,"depth":656,"text":584,"children":2062},[2063],{"id":597,"depth":665,"text":600},{"id":614,"depth":656,"text":617,"children":2065},[2066,2067],{"id":625,"depth":665,"text":628},{"id":851,"depth":665,"text":854},{"id":1505,"depth":656,"text":1508,"children":2069},[2070,2071,2072,2073],{"id":1516,"depth":665,"text":1519},{"id":1622,"depth":665,"text":1625},{"id":1661,"depth":665,"text":1664},{"id":1717,"depth":665,"text":1720},{"id":1762,"depth":656,"text":1765},{"id":1844,"depth":656,"text":1847},{"id":1942,"depth":656,"text":1945},"markdown","content:resume-interview:system-design-interview-framework.md","content","resume-interview\u002Fsystem-design-interview-framework.md","resume-interview\u002Fsystem-design-interview-framework","md",{"_path":1932,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2084,"description":2085,"category":6,"categoryLabel":11,"publishedAt":2086,"updatedAt":2087,"author":2088,"tags":2089,"featured":22,"body":2095,"_type":2077,"_id":2983,"_source":2079,"_file":2984,"_stem":2985,"_extension":2082},"How to Describe Projects on a Resume: Engineering Frameworks and Before-and-After Examples","A practical developer guide to articulating personal, academic, and open source projects on a technical resume, demonstrating architectural depth, measurable impact, and authentic problem solving across backend, frontend, data, and DevOps.","2026-10-22T13:00:00Z","2026-10-27T10:00:00Z",{"name":14,"role":15},[2090,2091,2092,2093,2094],"Portfolio","Projects","Resume Writing","Job Search","Interviews",{"type":24,"children":2096,"toc":2957},[2097,2108,2113,2140,2145,2150,2153,2159,2164,2170,2175,2181,2193,2218,2224,2229,2260,2266,2271,2274,2280,2292,2300,2306,2311,2319,2322,2328,2333,2339,2386,2396,2399,2405,2440,2449,2452,2458,2493,2502,2505,2511,2546,2555,2558,2564,2574,2584,2592,2597,2600,2606,2611,2617,2655,2661,2682,2688,2709,2712,2718,2723,2795,2798,2804,2809,2821,2826,2849,2868,2871,2877],{"type":27,"tag":28,"props":2098,"children":2099},{},[2100,2102,2106],{"type":32,"value":2101},"For early-career software engineers, bootcamp graduates, career changers, and experienced developers pivoting into new architectural paradigms, the ",{"type":27,"tag":157,"props":2103,"children":2104},{},[2105],{"type":32,"value":2091},{"type":32,"value":2107}," section of a technical resume is often the deciding factor in securing an interview.",{"type":27,"tag":28,"props":2109,"children":2110},{},[2111],{"type":32,"value":2112},"When evaluating a candidate who lacks ten years of corporate tenure, engineering managers and senior technical screeners scrutinize personal, academic, and open-source projects to answer three fundamental questions:",{"type":27,"tag":1531,"props":2114,"children":2115},{},[2116,2124,2132],{"type":27,"tag":119,"props":2117,"children":2118},{},[2119],{"type":27,"tag":157,"props":2120,"children":2121},{},[2122],{"type":32,"value":2123},"Did this candidate make thoughtful architectural trade-offs, or did they passively follow a video tutorial?",{"type":27,"tag":119,"props":2125,"children":2126},{},[2127],{"type":27,"tag":157,"props":2128,"children":2129},{},[2130],{"type":32,"value":2131},"Can they decompose complex requirements into robust, maintainable code?",{"type":27,"tag":119,"props":2133,"children":2134},{},[2135],{"type":27,"tag":157,"props":2136,"children":2137},{},[2138],{"type":32,"value":2139},"Do they understand how their engineering choices translate into performance, reliability, and user value?",{"type":27,"tag":28,"props":2141,"children":2142},{},[2143],{"type":32,"value":2144},"Unfortunately, many developers sabotage their chances in two opposite ways: either they present superficial toy projects (such as a generic todo list or weather widget) that reveal no real engineering depth, or they exaggerate their accomplishments with buzzwords that collapse under basic interview probing.",{"type":27,"tag":28,"props":2146,"children":2147},{},[2148],{"type":32,"value":2149},"This guide delivers a systematic framework for structuring technical project descriptions, provides realistic before-and-after transformations across backend, frontend, data, and DevOps disciplines, and outlines how to showcase measurable results without inventing fictional metrics.",{"type":27,"tag":45,"props":2151,"children":2152},{},[],{"type":27,"tag":49,"props":2154,"children":2156},{"id":2155},"_1-what-technical-interviewers-look-for-in-a-project",[2157],{"type":32,"value":2158},"1. What Technical Interviewers Look for in a Project",{"type":27,"tag":28,"props":2160,"children":2161},{},[2162],{"type":32,"value":2163},"Hiring teams review hundreds of portfolios every month. Cloned tutorials stand out immediately and are usually filtered out during initial screening. To capture attention and demonstrate technical capability, your project must exhibit four core characteristics:",{"type":27,"tag":71,"props":2165,"children":2167},{"id":2166},"a-authentic-problem-solving",[2168],{"type":32,"value":2169},"A. Authentic Problem Solving",{"type":27,"tag":28,"props":2171,"children":2172},{},[2173],{"type":32,"value":2174},"The project should solve a tangible problem, automate an existing manual workflow, or explore a meaningful technical challenge. Building a custom markdown document parser, a localized search indexing engine, or a developer CLI tool reveals curiosity and independent problem-solving far more effectively than a generic CRUD storefront.",{"type":27,"tag":71,"props":2176,"children":2178},{"id":2177},"b-principled-architectural-trade-offs",[2179],{"type":32,"value":2180},"B. Principled Architectural Trade-Offs",{"type":27,"tag":28,"props":2182,"children":2183},{},[2184,2186,2191],{"type":32,"value":2185},"Senior engineers understand that every architectural choice carries compromises. Your project presentation should reflect an understanding of ",{"type":27,"tag":83,"props":2187,"children":2188},{},[2189],{"type":32,"value":2190},"why",{"type":32,"value":2192}," a particular technology was selected. For example:",{"type":27,"tag":115,"props":2194,"children":2195},{},[2196,2208,2213],{"type":27,"tag":119,"props":2197,"children":2198},{},[2199,2201,2206],{"type":32,"value":2200},"Why choose PostgreSQL over a document store like MongoDB? (Explore our guide on ",{"type":27,"tag":1889,"props":2202,"children":2203},{"href":1891},[2204],{"type":32,"value":2205},"SQL vs. NoSQL Architecture",{"type":32,"value":2207}," for trade-off models).",{"type":27,"tag":119,"props":2209,"children":2210},{},[2211],{"type":32,"value":2212},"Why implement server-side rendering over client-side single-page architecture?",{"type":27,"tag":119,"props":2214,"children":2215},{},[2216],{"type":32,"value":2217},"Why choose an asynchronous message queue over synchronous HTTP calls?",{"type":27,"tag":71,"props":2219,"children":2221},{"id":2220},"c-production-polish-and-operational-hygiene",[2222],{"type":32,"value":2223},"C. Production Polish and Operational Hygiene",{"type":27,"tag":28,"props":2225,"children":2226},{},[2227],{"type":32,"value":2228},"A project that signals readiness for a professional engineering team features:",{"type":27,"tag":115,"props":2230,"children":2231},{},[2232,2237,2242,2247],{"type":27,"tag":119,"props":2233,"children":2234},{},[2235],{"type":32,"value":2236},"A clean, logical Git commit history with descriptive commit messages.",{"type":27,"tag":119,"props":2238,"children":2239},{},[2240],{"type":32,"value":2241},"Comprehensive automated testing (unit, integration, or end-to-end tests).",{"type":27,"tag":119,"props":2243,"children":2244},{},[2245],{"type":32,"value":2246},"Defensive error handling, validation boundaries, and edge-case coverage.",{"type":27,"tag":119,"props":2248,"children":2249},{},[2250,2252,2258],{"type":32,"value":2251},"A well-structured ",{"type":27,"tag":66,"props":2253,"children":2255},{"className":2254},[],[2256],{"type":32,"value":2257},"README.md",{"type":32,"value":2259}," containing an architectural overview, local setup instructions, environment variables documentation, and API specifications.",{"type":27,"tag":71,"props":2261,"children":2263},{"id":2262},"d-verified-live-deployment",[2264],{"type":32,"value":2265},"D. Verified Live Deployment",{"type":27,"tag":28,"props":2267,"children":2268},{},[2269],{"type":32,"value":2270},"If a project is web-accessible, provide a direct link to the live production deployment secured with SSL, along with a link to the public GitHub repository. Reviewers rarely clone repositories to test them locally; they want to click a link, verify that the application loads smoothly, and inspect the underlying source code.",{"type":27,"tag":45,"props":2272,"children":2273},{},[],{"type":27,"tag":49,"props":2275,"children":2277},{"id":2276},"_2-the-c-a-r-project-description-blueprint",[2278],{"type":32,"value":2279},"2. The C-A-R Project Description Blueprint",{"type":27,"tag":28,"props":2281,"children":2282},{},[2283,2285,2290],{"type":32,"value":2284},"To make project bullets concise and impactful, use the ",{"type":27,"tag":157,"props":2286,"children":2287},{},[2288],{"type":32,"value":2289},"Context-Action-Result (C-A-R)",{"type":32,"value":2291}," framework, adapted specifically for software engineering resumes:",{"type":27,"tag":61,"props":2293,"children":2295},{"code":2294},"┌────────────────────────────────────────────────────────────────────────┐\n│                      THE C-A-R RESUME BLUEPRINT                        │\n├──────────────┬─────────────────────────────────────────────────────────┤\n│ Context (C)  │ What problem was being solved, and what was the tech    │\n│              │ stack or architectural constraint?                      │\n├──────────────┼─────────────────────────────────────────────────────────┤\n│ Action (A)   │ What specific engineering mechanism, data structure, or │\n│              │ design pattern did you personally design and implement? │\n├──────────────┼─────────────────────────────────────────────────────────┤\n│ Result (R)   │ What was the concrete technical outcome, performance    │\n│              │ gain, reliability metric, or developer efficiency win?  │\n└──────────────┴─────────────────────────────────────────────────────────┘\n",[2296],{"type":27,"tag":66,"props":2297,"children":2298},{"__ignoreMap":8},[2299],{"type":32,"value":2294},{"type":27,"tag":71,"props":2301,"children":2303},{"id":2302},"standard-project-layout-template",[2304],{"type":32,"value":2305},"Standard Project Layout Template",{"type":27,"tag":28,"props":2307,"children":2308},{},[2309],{"type":32,"value":2310},"On your resume, format each project entry with clear typographic hierarchy:",{"type":27,"tag":61,"props":2312,"children":2314},{"code":2313},"[Project Name] | [Live Application URL] | [GitHub Repository URL]\nTechnologies: [Primary Language, Framework, Database, Infrastructure, Tools]\n\n• [Context & Architecture]: Architected a full-stack [system type] using [Tech Stack] to solve [core problem\u002Fneed] for [intended user\u002Fuse case].\n• [Technical Action]: Designed and implemented [specific technical feature\u002Falgorithm], resolving [concurrency\u002Fdata\u002Flatency\u002Fsecurity challenge].\n• [Measurable Result]: Achieved [quantifiable benchmark\u002Ftest result], reducing [latency\u002Fbundle size\u002Fpipeline duration] or handling [data\u002Ftraffic volume].\n",[2315],{"type":27,"tag":66,"props":2316,"children":2317},{"__ignoreMap":8},[2318],{"type":32,"value":2313},{"type":27,"tag":45,"props":2320,"children":2321},{},[],{"type":27,"tag":49,"props":2323,"children":2325},{"id":2324},"_3-real-before-and-after-transformations-across-domains",[2326],{"type":32,"value":2327},"3. Real Before-and-After Transformations Across Domains",{"type":27,"tag":28,"props":2329,"children":2330},{},[2331],{"type":32,"value":2332},"The best way to understand high-impact project bullet writing is to compare weak, vague descriptions with rigorous, authentic engineering descriptions.",{"type":27,"tag":71,"props":2334,"children":2336},{"id":2335},"domain-1-backend-api-engineering",[2337],{"type":32,"value":2338},"Domain 1: Backend & API Engineering",{"type":27,"tag":115,"props":2340,"children":2341},{},[2342,2361],{"type":27,"tag":119,"props":2343,"children":2344},{},[2345,2347,2352,2356],{"type":32,"value":2346},"❌ ",{"type":27,"tag":157,"props":2348,"children":2349},{},[2350],{"type":32,"value":2351},"Weak (Vague & Passive):",{"type":27,"tag":2353,"props":2354,"children":2355},"br",{},[],{"type":27,"tag":83,"props":2357,"children":2358},{},[2359],{"type":32,"value":2360},"\"Built a REST API with Node.js and Express to manage user profiles and order histories. Wrote database queries in PostgreSQL.\"",{"type":27,"tag":119,"props":2362,"children":2363},{},[2364,2366,2371,2374],{"type":32,"value":2365},"✅ ",{"type":27,"tag":157,"props":2367,"children":2368},{},[2369],{"type":32,"value":2370},"Strong (Engineered & Concrete):",{"type":27,"tag":2353,"props":2372,"children":2373},{},[],{"type":27,"tag":83,"props":2375,"children":2376},{},[2377,2379,2384],{"type":32,"value":2378},"\"Architected a RESTful order management service in TypeScript and Node.js using ",{"type":27,"tag":1889,"props":2380,"children":2381},{"href":1907},[2382],{"type":32,"value":2383},"RESTful design principles",{"type":32,"value":2385},". Implemented composite B-Tree indexing and connection pooling in PostgreSQL, cutting 95th percentile query execution time from 280ms to 45ms across a 50,000-record benchmark dataset.\"",{"type":27,"tag":28,"props":2387,"children":2388},{},[2389,2394],{"type":27,"tag":157,"props":2390,"children":2391},{},[2392],{"type":32,"value":2393},"Why it works:",{"type":32,"value":2395}," It articulates the exact architectural pattern (RESTful TypeScript, connection pooling, composite indexing) and quantifies performance improvements using realistic benchmark measurements without exaggerated claims.",{"type":27,"tag":45,"props":2397,"children":2398},{},[],{"type":27,"tag":71,"props":2400,"children":2402},{"id":2401},"domain-2-frontend-engineering-web-performance",[2403],{"type":32,"value":2404},"Domain 2: Frontend Engineering & Web Performance",{"type":27,"tag":115,"props":2406,"children":2407},{},[2408,2424],{"type":27,"tag":119,"props":2409,"children":2410},{},[2411,2412,2416,2419],{"type":32,"value":2346},{"type":27,"tag":157,"props":2413,"children":2414},{},[2415],{"type":32,"value":2351},{"type":27,"tag":2353,"props":2417,"children":2418},{},[],{"type":27,"tag":83,"props":2420,"children":2421},{},[2422],{"type":32,"value":2423},"\"Made a responsive job dashboard using Vue 3 and Tailwind CSS. Implemented filters so users could search for jobs.\"",{"type":27,"tag":119,"props":2425,"children":2426},{},[2427,2428,2432,2435],{"type":32,"value":2365},{"type":27,"tag":157,"props":2429,"children":2430},{},[2431],{"type":32,"value":2370},{"type":27,"tag":2353,"props":2433,"children":2434},{},[],{"type":27,"tag":83,"props":2436,"children":2437},{},[2438],{"type":32,"value":2439},"\"Built a responsive technical job discovery dashboard in Vue 3 and Tailwind CSS featuring debounced client-side search, URL query state synchronization, and zero-layout-shift job cards. Maintained a 98+ Lighthouse performance score and sub-100ms interaction latency by implementing route-level code splitting and virtualized list rendering.\"",{"type":27,"tag":28,"props":2441,"children":2442},{},[2443,2447],{"type":27,"tag":157,"props":2444,"children":2445},{},[2446],{"type":32,"value":2393},{"type":32,"value":2448}," It highlights real frontend engineering concerns: input debouncing, URL state persistence, Core Web Vitals (CLS\u002FINP), and bundle optimization techniques.",{"type":27,"tag":45,"props":2450,"children":2451},{},[],{"type":27,"tag":71,"props":2453,"children":2455},{"id":2454},"domain-3-data-engineering-analytics",[2456],{"type":32,"value":2457},"Domain 3: Data Engineering & Analytics",{"type":27,"tag":115,"props":2459,"children":2460},{},[2461,2477],{"type":27,"tag":119,"props":2462,"children":2463},{},[2464,2465,2469,2472],{"type":32,"value":2346},{"type":27,"tag":157,"props":2466,"children":2467},{},[2468],{"type":32,"value":2351},{"type":27,"tag":2353,"props":2470,"children":2471},{},[],{"type":27,"tag":83,"props":2473,"children":2474},{},[2475],{"type":32,"value":2476},"\"Created a data pipeline with Python to collect technology news and store it in a database.\"",{"type":27,"tag":119,"props":2478,"children":2479},{},[2480,2481,2485,2488],{"type":32,"value":2365},{"type":27,"tag":157,"props":2482,"children":2483},{},[2484],{"type":32,"value":2370},{"type":27,"tag":2353,"props":2486,"children":2487},{},[],{"type":27,"tag":83,"props":2489,"children":2490},{},[2491],{"type":32,"value":2492},"\"Engineered an automated data extraction and transformation pipeline in Python utilizing asynchronous HTTP requests and BeautifulSoup. Implemented exponential backoff with jitter and schema validation via Pydantic, transforming 12,000 raw daily records into structured PostgreSQL tables with zero unhandled schema exceptions.\"",{"type":27,"tag":28,"props":2494,"children":2495},{},[2496,2500],{"type":27,"tag":157,"props":2497,"children":2498},{},[2499],{"type":32,"value":2393},{"type":32,"value":2501}," It replaces generic \"collected data\" with production-grade engineering principles: asynchronous I\u002FO, retry jitter, and strict type validation.",{"type":27,"tag":45,"props":2503,"children":2504},{},[],{"type":27,"tag":71,"props":2506,"children":2508},{"id":2507},"domain-4-devops-cloud-developer-tooling",[2509],{"type":32,"value":2510},"Domain 4: DevOps, Cloud & Developer Tooling",{"type":27,"tag":115,"props":2512,"children":2513},{},[2514,2530],{"type":27,"tag":119,"props":2515,"children":2516},{},[2517,2518,2522,2525],{"type":32,"value":2346},{"type":27,"tag":157,"props":2519,"children":2520},{},[2521],{"type":32,"value":2351},{"type":27,"tag":2353,"props":2523,"children":2524},{},[],{"type":27,"tag":83,"props":2526,"children":2527},{},[2528],{"type":32,"value":2529},"\"Used Docker to containerize our application and set up GitHub Actions for CI\u002FCD.\"",{"type":27,"tag":119,"props":2531,"children":2532},{},[2533,2534,2538,2541],{"type":32,"value":2365},{"type":27,"tag":157,"props":2535,"children":2536},{},[2537],{"type":32,"value":2370},{"type":27,"tag":2353,"props":2539,"children":2540},{},[],{"type":27,"tag":83,"props":2542,"children":2543},{},[2544],{"type":32,"value":2545},"\"Containerized a multi-service web application using multi-stage Docker builds, reducing final production container image sizes from 850 MB to 62 MB. Automated continuous integration via GitHub Actions with parallelized Vitest suites and security linting, reducing pull request feedback cycles from 18 minutes to 4 minutes.\"",{"type":27,"tag":28,"props":2547,"children":2548},{},[2549,2553],{"type":27,"tag":157,"props":2550,"children":2551},{},[2552],{"type":32,"value":2393},{"type":32,"value":2554}," Demonstrates tangible operational impact (container optimization and CI duration reduction) that directly benefits team productivity.",{"type":27,"tag":45,"props":2556,"children":2557},{},[],{"type":27,"tag":49,"props":2559,"children":2561},{"id":2560},"_4-how-to-measure-impact-honestly-without-fabricated-metrics",[2562],{"type":32,"value":2563},"4. How to Measure Impact Honestly Without Fabricated Metrics",{"type":27,"tag":28,"props":2565,"children":2566},{},[2567,2569],{"type":32,"value":2568},"A frequent dilemma for applicants is: ",{"type":27,"tag":83,"props":2570,"children":2571},{},[2572],{"type":32,"value":2573},"\"My project is personal or academic; I don't have 100,000 real paying users. How can I provide metrics without lying?\"",{"type":27,"tag":28,"props":2575,"children":2576},{},[2577,2582],{"type":27,"tag":157,"props":2578,"children":2579},{},[2580],{"type":32,"value":2581},"Never fabricate user numbers, revenue figures, or fake production traffic.",{"type":32,"value":2583}," Experienced hiring managers can spot manufactured metrics immediately. Instead, quantify technical dimensions that you can genuinely measure and verify:",{"type":27,"tag":61,"props":2585,"children":2587},{"code":2586},"┌───────────────────────────────┬────────────────────────────────────────────────────────┐\n│ Technical Metric Dimension    │ Realistic, Verifiable Measurement Examples             │\n├───────────────────────────────┼────────────────────────────────────────────────────────┤\n│ Performance Benchmarks        │ Latency reduction (p50\u002Fp95\u002Fp99) on test datasets,      │\n│                               │ bundle size reduction, memory footprint savings.       │\n├───────────────────────────────┼────────────────────────────────────────────────────────┤\n│ Automated Test Coverage       │ Line, branch, and function test coverage percentages   │\n│                               │ verified via test runners like Vitest or Jest.         │\n├───────────────────────────────┼────────────────────────────────────────────────────────┤\n│ Build & Pipeline Efficiency   │ Reduction in CI workflow execution time, Docker image   │\n│                               │ size reductions via multi-stage builds.                │\n├───────────────────────────────┼────────────────────────────────────────────────────────┤\n│ Scale & Stress Testing        │ Throughput limits (QPS) sustained during local stress   │\n│                               │ testing with k6, Apache Bench, or Artillery.           │\n├───────────────────────────────┼────────────────────────────────────────────────────────┤\n│ Data Integrity & Error Rates  │ Zero unhandled runtime exceptions across input fuzzing │\n│                               │ or automated integration test suites.                  │\n└───────────────────────────────┴────────────────────────────────────────────────────────┘\n",[2588],{"type":27,"tag":66,"props":2589,"children":2590},{"__ignoreMap":8},[2591],{"type":32,"value":2586},{"type":27,"tag":28,"props":2593,"children":2594},{},[2595],{"type":32,"value":2596},"By benchmarking your code against synthetic loads or reporting automated test coverage, you prove rigorous engineering methodology without deceiving the interviewer.",{"type":27,"tag":45,"props":2598,"children":2599},{},[],{"type":27,"tag":49,"props":2601,"children":2603},{"id":2602},"_5-guidance-tailored-to-different-experience-levels",[2604],{"type":32,"value":2605},"5. Guidance Tailored to Different Experience Levels",{"type":27,"tag":28,"props":2607,"children":2608},{},[2609],{"type":32,"value":2610},"The way you position your projects should align with your career stage:",{"type":27,"tag":71,"props":2612,"children":2614},{"id":2613},"for-students-and-early-career-developers-02-years",[2615],{"type":32,"value":2616},"For Students and Early-Career Developers (0–2 Years)",{"type":27,"tag":115,"props":2618,"children":2619},{},[2620,2630,2640],{"type":27,"tag":119,"props":2621,"children":2622},{},[2623,2628],{"type":27,"tag":157,"props":2624,"children":2625},{},[2626],{"type":32,"value":2627},"Positioning:",{"type":32,"value":2629}," Your projects are your primary proof of execution. Feature 2 to 3 substantive projects above your education if your degree is not from a recognized engineering institution.",{"type":27,"tag":119,"props":2631,"children":2632},{},[2633,2638],{"type":27,"tag":157,"props":2634,"children":2635},{},[2636],{"type":32,"value":2637},"Emphasis:",{"type":32,"value":2639}," Focus on foundational software engineering hygiene: unit testing, clean repository structure, documentation, and error handling.",{"type":27,"tag":119,"props":2641,"children":2642},{},[2643,2648,2650],{"type":27,"tag":157,"props":2644,"children":2645},{},[2646],{"type":32,"value":2647},"Capstone \u002F Group Projects:",{"type":32,"value":2649}," Clearly articulate your individual contribution. If three students built an application, specify: ",{"type":27,"tag":83,"props":2651,"children":2652},{},[2653],{"type":32,"value":2654},"\"Designed the authentication subsystem, relational database schema, and payment webhooks, collaborating with two frontend teammates via Git feature branches.\"",{"type":27,"tag":71,"props":2656,"children":2658},{"id":2657},"for-career-changers-and-bootcamp-graduates",[2659],{"type":32,"value":2660},"For Career Changers and Bootcamp Graduates",{"type":27,"tag":115,"props":2662,"children":2663},{},[2664,2673],{"type":27,"tag":119,"props":2665,"children":2666},{},[2667,2671],{"type":27,"tag":157,"props":2668,"children":2669},{},[2670],{"type":32,"value":2627},{"type":32,"value":2672}," Connect domain expertise from your prior career with your new technical capabilities. A former accountant who builds a personal finance reconciliation tool with double-entry accounting primitives brings unique domain insight that pure computer science graduates lack.",{"type":27,"tag":119,"props":2674,"children":2675},{},[2676,2680],{"type":27,"tag":157,"props":2677,"children":2678},{},[2679],{"type":32,"value":2637},{"type":32,"value":2681}," Avoid listing standard bootcamp curriculum deliverables without personal customization. Modify the architecture, add automated testing, or deploy the project on custom cloud infrastructure to prove independent competence.",{"type":27,"tag":71,"props":2683,"children":2685},{"id":2684},"for-mid-level-engineers-showcasing-side-work",[2686],{"type":32,"value":2687},"For Mid-Level Engineers Showcasing Side Work",{"type":27,"tag":115,"props":2689,"children":2690},{},[2691,2700],{"type":27,"tag":119,"props":2692,"children":2693},{},[2694,2698],{"type":27,"tag":157,"props":2695,"children":2696},{},[2697],{"type":32,"value":2627},{"type":32,"value":2699}," Place projects below professional experience, reserving project slots for open-source contributions, developer utilities, or technical explorations of new languages (e.g., building a Go service or Rust CLI).",{"type":27,"tag":119,"props":2701,"children":2702},{},[2703,2707],{"type":27,"tag":157,"props":2704,"children":2705},{},[2706],{"type":32,"value":2637},{"type":32,"value":2708}," Highlight architectural maturity, distributed systems design, concurrency management, and community impact.",{"type":27,"tag":45,"props":2710,"children":2711},{},[],{"type":27,"tag":49,"props":2713,"children":2715},{"id":2714},"_6-fatal-resume-mistakes-in-project-sections",[2716],{"type":32,"value":2717},"6. Fatal Resume Mistakes in Project Sections",{"type":27,"tag":28,"props":2719,"children":2720},{},[2721],{"type":32,"value":2722},"Avoid these common errors that undermine otherwise solid engineering projects:",{"type":27,"tag":1531,"props":2724,"children":2725},{},[2726,2744,2768,2785],{"type":27,"tag":119,"props":2727,"children":2728},{},[2729,2734,2736,2742],{"type":27,"tag":157,"props":2730,"children":2731},{},[2732],{"type":32,"value":2733},"Dead or Broken Live Links:",{"type":32,"value":2735}," Nothing damages credibility faster than a live demo link that displays an HTTP ",{"type":27,"tag":66,"props":2737,"children":2739},{"className":2738},[],[2740],{"type":32,"value":2741},"502 Bad Gateway",{"type":32,"value":2743}," or an expired domain error. Verify that all deployed links function before submitting applications.",{"type":27,"tag":119,"props":2745,"children":2746},{},[2747,2752,2754,2759,2761,2766],{"type":27,"tag":157,"props":2748,"children":2749},{},[2750],{"type":32,"value":2751},"Empty or Template GitHub Repositories:",{"type":32,"value":2753}," Ensure your GitHub repository has an informative ",{"type":27,"tag":66,"props":2755,"children":2757},{"className":2756},[],[2758],{"type":32,"value":2257},{"type":32,"value":2760},", an open-source license, and an active commit history. A repository containing a single ",{"type":27,"tag":83,"props":2762,"children":2763},{},[2764],{"type":32,"value":2765},"\"Initial commit\"",{"type":32,"value":2767}," with 10,000 files signals that the code was cloned rather than authored.",{"type":27,"tag":119,"props":2769,"children":2770},{},[2771,2776,2778,2783],{"type":27,"tag":157,"props":2772,"children":2773},{},[2774],{"type":32,"value":2775},"Overloading with Buzzwords:",{"type":32,"value":2777}," Listing twenty technologies for a simple project (e.g., ",{"type":27,"tag":83,"props":2779,"children":2780},{},[2781],{"type":32,"value":2782},"\"Kubernetes, Kafka, GraphQL, Microservices, AI, Blockchain\"",{"type":32,"value":2784},") for a simple static portfolio triggers skepticism. List only tools you genuinely used and can discuss in depth.",{"type":27,"tag":119,"props":2786,"children":2787},{},[2788,2793],{"type":27,"tag":157,"props":2789,"children":2790},{},[2791],{"type":32,"value":2792},"Neglecting Edge Cases:",{"type":32,"value":2794}," Be prepared to explain how your project handles failure modes: What happens if an API dependency times out? How does your application behave when a user submits invalid form data?",{"type":27,"tag":45,"props":2796,"children":2797},{},[],{"type":27,"tag":49,"props":2799,"children":2801},{"id":2800},"_7-how-to-defend-your-projects-in-technical-interviews",[2802],{"type":32,"value":2803},"7. How to Defend Your Projects in Technical Interviews",{"type":27,"tag":28,"props":2805,"children":2806},{},[2807],{"type":32,"value":2808},"Writing strong project descriptions is only the first step. During the interview, interviewers will use your project bullets as launching points for technical deep dives:",{"type":27,"tag":2810,"props":2811,"children":2812},"blockquote",{},[2813],{"type":27,"tag":28,"props":2814,"children":2815},{},[2816],{"type":27,"tag":83,"props":2817,"children":2818},{},[2819],{"type":32,"value":2820},"\"You mentioned reducing PostgreSQL query latency from 280ms to 45ms. Walk me through how you identified the slow query and what indexing strategy you implemented.\"",{"type":27,"tag":28,"props":2822,"children":2823},{},[2824],{"type":32,"value":2825},"To prepare for these questions:",{"type":27,"tag":115,"props":2827,"children":2828},{},[2829,2834,2839],{"type":27,"tag":119,"props":2830,"children":2831},{},[2832],{"type":32,"value":2833},"Review your code before the interview. Be ready to explain your database schema, API routing, and state management choices.",{"type":27,"tag":119,"props":2835,"children":2836},{},[2837],{"type":32,"value":2838},"Structure your verbal answers using the STAR method (Situation, Task, Action, Result).",{"type":27,"tag":119,"props":2840,"children":2841},{},[2842,2844],{"type":32,"value":2843},"Be candid about what you would improve if you were to build the project again: ",{"type":27,"tag":83,"props":2845,"children":2846},{},[2847],{"type":32,"value":2848},"\"If I were redesigning this service today, I would introduce an asynchronous queue for email dispatch rather than handling it synchronously in the web request cycle.\"",{"type":27,"tag":28,"props":2850,"children":2851},{},[2852,2854,2860,2862,2867],{"type":32,"value":2853},"For broader guidance on structuring the overall resume, consult our ",{"type":27,"tag":1889,"props":2855,"children":2857},{"href":2856},"\u002Fresume-interview\u002Fsoftware-developer-resume-guide",[2858],{"type":32,"value":2859},"Software Developer Resume Guide",{"type":32,"value":2861},". To practice answering architectural questions, study our ",{"type":27,"tag":1889,"props":2863,"children":2864},{"href":5},[2865],{"type":32,"value":2866},"System Design Interview Framework",{"type":32,"value":826},{"type":27,"tag":45,"props":2869,"children":2870},{},[],{"type":27,"tag":49,"props":2872,"children":2874},{"id":2873},"credible-references-and-industry-standards",[2875],{"type":32,"value":2876},"Credible References and Industry Standards",{"type":27,"tag":115,"props":2878,"children":2879},{},[2880,2897,2913,2935],{"type":27,"tag":119,"props":2881,"children":2882},{},[2883,2888,2890,2895],{"type":27,"tag":157,"props":2884,"children":2885},{},[2886],{"type":32,"value":2887},"Bock, Laszlo.",{"type":32,"value":2889}," (2015). ",{"type":27,"tag":83,"props":2891,"children":2892},{},[2893],{"type":32,"value":2894},"Work Rules!: Insights from Inside Google That Will Transform How You Live and Lead.",{"type":32,"value":2896}," Twelve Publishing.",{"type":27,"tag":119,"props":2898,"children":2899},{},[2900,2905,2906,2911],{"type":27,"tag":157,"props":2901,"children":2902},{},[2903],{"type":32,"value":2904},"Fowler, Martin.",{"type":32,"value":1992},{"type":27,"tag":83,"props":2907,"children":2908},{},[2909],{"type":32,"value":2910},"Refactoring: Improving the Design of Existing Code.",{"type":32,"value":2912}," Addison-Wesley Professional.",{"type":27,"tag":119,"props":2914,"children":2915},{},[2916,2921,2922,2927,2928],{"type":27,"tag":157,"props":2917,"children":2918},{},[2919],{"type":32,"value":2920},"Association for Computing Machinery (ACM).",{"type":32,"value":1797},{"type":27,"tag":83,"props":2923,"children":2924},{},[2925],{"type":32,"value":2926},"Curricula Guidelines for Undergraduate Degree Programs in Software Engineering.",{"type":32,"value":1797},{"type":27,"tag":1889,"props":2929,"children":2932},{"href":2930,"rel":2931},"https:\u002F\u002Fwww.acm.org\u002Feducation\u002Fcurricula-recommendations",[2036],[2933],{"type":32,"value":2934},"acm.org",{"type":27,"tag":119,"props":2936,"children":2937},{},[2938,2943,2944,2949,2950],{"type":27,"tag":157,"props":2939,"children":2940},{},[2941],{"type":32,"value":2942},"Open Web Application Security Project (OWASP).",{"type":32,"value":1797},{"type":27,"tag":83,"props":2945,"children":2946},{},[2947],{"type":32,"value":2948},"OWASP Top 10 Web Application Security Risks.",{"type":32,"value":1797},{"type":27,"tag":1889,"props":2951,"children":2954},{"href":2952,"rel":2953},"https:\u002F\u002Fowasp.org\u002Fwww-project-top-ten\u002F",[2036],[2955],{"type":32,"value":2956},"owasp.org",{"title":8,"searchDepth":656,"depth":656,"links":2958},[2959,2965,2968,2974,2975,2980,2981,2982],{"id":2155,"depth":656,"text":2158,"children":2960},[2961,2962,2963,2964],{"id":2166,"depth":665,"text":2169},{"id":2177,"depth":665,"text":2180},{"id":2220,"depth":665,"text":2223},{"id":2262,"depth":665,"text":2265},{"id":2276,"depth":656,"text":2279,"children":2966},[2967],{"id":2302,"depth":665,"text":2305},{"id":2324,"depth":656,"text":2327,"children":2969},[2970,2971,2972,2973],{"id":2335,"depth":665,"text":2338},{"id":2401,"depth":665,"text":2404},{"id":2454,"depth":665,"text":2457},{"id":2507,"depth":665,"text":2510},{"id":2560,"depth":656,"text":2563},{"id":2602,"depth":656,"text":2605,"children":2976},[2977,2978,2979],{"id":2613,"depth":665,"text":2616},{"id":2657,"depth":665,"text":2660},{"id":2684,"depth":665,"text":2687},{"id":2714,"depth":656,"text":2717},{"id":2800,"depth":656,"text":2803},{"id":2873,"depth":656,"text":2876},"content:resume-interview:how-to-describe-projects-on-resume.md","resume-interview\u002Fhow-to-describe-projects-on-resume.md","resume-interview\u002Fhow-to-describe-projects-on-resume",{"_path":2856,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2987,"description":2988,"category":6,"categoryLabel":11,"publishedAt":2989,"updatedAt":2087,"author":2990,"tags":2991,"featured":22,"body":2994,"_type":2077,"_id":4131,"_source":2079,"_file":4132,"_stem":4133,"_extension":2082},"How to Write a Software Developer Resume: Section Breakdown, ATS Realities, and High-Converting Examples","A battle-tested engineering guide to crafting a technical resume that parses cleanly in ATS systems, impresses hiring managers, and highlights real impact with the Google X-Y-Z formula.","2026-10-20T10:00:00Z",{"name":14,"role":15},[2092,2093,2094,2992,2993],"Career Advice","ATS",{"type":24,"children":2995,"toc":4103},[2996,3001,3020,3025,3030,3033,3039,3044,3049,3057,3060,3066,3072,3077,3125,3131,3186,3192,3210,3215,3223,3228,3234,3239,3242,3248,3253,3285,3290,3298,3304,3310,3343,3349,3380,3386,3417,3420,3426,3431,3437,3442,3482,3488,3501,3507,3588,3591,3597,3602,3610,3616,3649,3652,3658,3664,3701,3707,3720,3726,3744,3747,3753,3758,3763,3833,3836,3842,3847,4007,4020,4023,4027],{"type":27,"tag":28,"props":2997,"children":2998},{},[2999],{"type":32,"value":3000},"Technical recruiters and engineering hiring managers spend an average of 15 to 30 seconds conducting an initial review of a software engineering resume. In that brief window, your resume must communicate two critical signals:",{"type":27,"tag":1531,"props":3002,"children":3003},{},[3004,3012],{"type":27,"tag":119,"props":3005,"children":3006},{},[3007],{"type":27,"tag":157,"props":3008,"children":3009},{},[3010],{"type":32,"value":3011},"Can this engineer solve problems using our core technology stack?",{"type":27,"tag":119,"props":3013,"children":3014},{},[3015],{"type":27,"tag":157,"props":3016,"children":3017},{},[3018],{"type":32,"value":3019},"Do they understand how their engineering decisions impact system performance, reliability, and business outcomes?",{"type":27,"tag":28,"props":3021,"children":3022},{},[3023],{"type":32,"value":3024},"Most developer resumes fail not because the candidate lacks technical skill, but because the document is poorly structured. Common failure modes include unparsed multi-column layouts, exhaustive lists of tools without context, passive job descriptions, and a lack of quantifiable impact.",{"type":27,"tag":28,"props":3026,"children":3027},{},[3028],{"type":32,"value":3029},"This guide provides a comprehensive blueprint for crafting a professional software developer resume: detailing section-by-section requirements, demystifying Applicant Tracking System (ATS) mechanics without false promises, establishing resume length standards, and showing how to tailor your experience to specific engineering roles.",{"type":27,"tag":45,"props":3031,"children":3032},{},[],{"type":27,"tag":49,"props":3034,"children":3036},{"id":3035},"_1-the-single-column-architecture-layout-and-structure",[3037],{"type":32,"value":3038},"1. The Single-Column Architecture: Layout and Structure",{"type":27,"tag":28,"props":3040,"children":3041},{},[3042],{"type":32,"value":3043},"A software engineering resume is a technical document. Like clean code, it must prioritize readability, structured information hierarchy, and consistent typography over visual embellishment.",{"type":27,"tag":28,"props":3045,"children":3046},{},[3047],{"type":32,"value":3048},"Multi-column layouts, graphic skill bars, icons, and text boxes frequently confuse ATS parsing engines and frustrate hiring managers trying to scan your career history quickly. A clean, single-column layout is the industry standard across technology companies:",{"type":27,"tag":61,"props":3050,"children":3052},{"code":3051},"┌────────────────────────────────────────────────────────────────────────┐\n│                        CANDIDATE NAME                                  │\n│ Location (City, State \u002F Country) • Phone • Professional Email          │\n│ GitHub Profile • LinkedIn Profile • Portfolio \u002F Personal Domain        │\n├────────────────────────────────────────────────────────────────────────┤\n│ TECHNICAL SKILLS                                                       │\n│ Languages: TypeScript, JavaScript (ES6+), Python, Go, SQL              │\n│ Frameworks: Vue 3, Nuxt 3, React, Next.js, Node.js, Express           │\n│ Databases & Cloud: PostgreSQL, Redis, Docker, AWS (S3, Lambda), Git    │\n├────────────────────────────────────────────────────────────────────────┤\n│ PROFESSIONAL WORK EXPERIENCE                                           │\n│ Senior Software Engineer — TechCorp Inc. (City, State \u002F Remote)        │\n│ Month Year – Present                                                   │\n│ • Architected distributed event-processing pipeline with Kafka and...  │\n│ • Reduced API 99th percentile latency from 320ms to 85ms by...         │\n│ • Spearheaded PostgreSQL database migration from v13 to v16...         │\n├────────────────────────────────────────────────────────────────────────┤\n│ TECHNICAL PROJECTS                                                     │\n│ Project Name | Live Demo Link | Source Code Repository Link            │\n│ Technologies: Go, Docker, Redis, WebSocket                             │\n│ • Designed and deployed a real-time collaborative whiteboarding...     │\n│ • Implemented conflict-free replicated data types (CRDTs) to...        │\n├────────────────────────────────────────────────────────────────────────┤\n│ EDUCATION & RELEVANT CREDENTIALS                                       │\n│ B.S. in Computer Science — State University (Graduation Year)          │\n│ Relevant Coursework: Data Structures, Distributed Systems, Networks    │\n└────────────────────────────────────────────────────────────────────────┘\n",[3053],{"type":27,"tag":66,"props":3054,"children":3055},{"__ignoreMap":8},[3056],{"type":32,"value":3051},{"type":27,"tag":45,"props":3058,"children":3059},{},[],{"type":27,"tag":49,"props":3061,"children":3063},{"id":3062},"_2-section-by-section-engineering-breakdown",[3064],{"type":32,"value":3065},"2. Section-by-Section Engineering Breakdown",{"type":27,"tag":71,"props":3067,"children":3069},{"id":3068},"a-contact-header-digital-footprint",[3070],{"type":32,"value":3071},"A. Contact Header & Digital Footprint",{"type":27,"tag":28,"props":3073,"children":3074},{},[3075],{"type":32,"value":3076},"Keep contact details compact, accurate, and professional:",{"type":27,"tag":115,"props":3078,"children":3079},{},[3080,3097,3115],{"type":27,"tag":119,"props":3081,"children":3082},{},[3083,3088,3090,3095],{"type":27,"tag":157,"props":3084,"children":3085},{},[3086],{"type":32,"value":3087},"Location:",{"type":32,"value":3089}," Include your city and state\u002Fcountry, plus your remote availability (e.g., ",{"type":27,"tag":83,"props":3091,"children":3092},{},[3093],{"type":32,"value":3094},"\"Austin, TX (Open to Remote - US)\"",{"type":32,"value":3096},"). Exact physical street addresses are obsolete and take up valuable space.",{"type":27,"tag":119,"props":3098,"children":3099},{},[3100,3105,3107,3113],{"type":27,"tag":157,"props":3101,"children":3102},{},[3103],{"type":32,"value":3104},"Email:",{"type":32,"value":3106}," Use a simple, professional address based on your name (e.g., ",{"type":27,"tag":66,"props":3108,"children":3110},{"className":3109},[],[3111],{"type":32,"value":3112},"first.last@gmail.com",{"type":32,"value":3114},"). Avoid outdated webmail providers or novelty handles.",{"type":27,"tag":119,"props":3116,"children":3117},{},[3118,3123],{"type":27,"tag":157,"props":3119,"children":3120},{},[3121],{"type":32,"value":3122},"Digital Proof of Work:",{"type":32,"value":3124}," Provide clickable links to your GitHub profile, LinkedIn profile, and live portfolio. Ensure your GitHub profile has public repositories with meaningful commit activity and clear documentation.",{"type":27,"tag":71,"props":3126,"children":3128},{"id":3127},"b-summary-statement-when-to-include-vs-when-to-omit",[3129],{"type":32,"value":3130},"B. Summary Statement: When to Include vs. When to Omit",{"type":27,"tag":115,"props":3132,"children":3133},{},[3134,3144],{"type":27,"tag":119,"props":3135,"children":3136},{},[3137,3142],{"type":27,"tag":157,"props":3138,"children":3139},{},[3140],{"type":32,"value":3141},"Skip it:",{"type":32,"value":3143}," If you are a traditional mid-level software engineer with a clear trajectory (e.g., 3 to 7 years in web or backend engineering), a summary statement takes up valuable vertical space without providing new signal. Let your work experience speak directly.",{"type":27,"tag":119,"props":3145,"children":3146},{},[3147,3152,3154,3159,3161,3166,3168,3173,3175],{"type":27,"tag":157,"props":3148,"children":3149},{},[3150],{"type":32,"value":3151},"Include it (3–4 lines max):",{"type":32,"value":3153}," If you are a ",{"type":27,"tag":157,"props":3155,"children":3156},{},[3157],{"type":32,"value":3158},"career changer",{"type":32,"value":3160},", an ",{"type":27,"tag":157,"props":3162,"children":3163},{},[3164],{"type":32,"value":3165},"academic transitioning to industry",{"type":32,"value":3167},", or an ",{"type":27,"tag":157,"props":3169,"children":3170},{},[3171],{"type":32,"value":3172},"engineer pivoting specializations",{"type":32,"value":3174}," (e.g., QA engineer moving to full-stack development), include a concise executive summary contextualizing your transition and core strengths:\n",{"type":27,"tag":2810,"props":3176,"children":3177},{},[3178],{"type":27,"tag":28,"props":3179,"children":3180},{},[3181],{"type":27,"tag":83,"props":3182,"children":3183},{},[3184],{"type":32,"value":3185},"\"Full-stack engineer with 4+ years of professional experience building resilient distributed web applications in TypeScript, Node.js, and PostgreSQL. Proven track record optimizing high-throughput APIs and leading frontend performance initiatives to achieve sub-second Core Web Vitals.\"",{"type":27,"tag":71,"props":3187,"children":3189},{"id":3188},"c-organizing-technical-skills",[3190],{"type":32,"value":3191},"C. Organizing Technical Skills",{"type":27,"tag":28,"props":3193,"children":3194},{},[3195,3197,3202,3203,3208],{"type":32,"value":3196},"Never use graphical progress bars (e.g., ",{"type":27,"tag":83,"props":3198,"children":3199},{},[3200],{"type":32,"value":3201},"\"JavaScript: 85%\"",{"type":32,"value":89},{"type":27,"tag":83,"props":3204,"children":3205},{},[3206],{"type":32,"value":3207},"\"Python: 4\u002F5 stars\"",{"type":32,"value":3209},"). These visual gimmicks convey no objective meaning to engineering interviewers and waste space.",{"type":27,"tag":28,"props":3211,"children":3212},{},[3213],{"type":32,"value":3214},"Instead, organize your skills into logical, scannable categories:",{"type":27,"tag":61,"props":3216,"children":3218},{"code":3217},"• Programming Languages: TypeScript, JavaScript (ES6+), Python, Go, SQL (PostgreSQL, MySQL)\n• Frontend Engineering: Vue 3, Nuxt 3, React, Next.js, Tailwind CSS, Web Vitals, HTML5\u002FCSS3\n• Backend & APIs: Node.js, Express, Fastify, REST APIs, GraphQL, Redis, Kafka\n• DevOps & Infrastructure: Docker, Kubernetes, AWS (S3, ECS, Lambda), CI\u002FCD (GitHub Actions), Git\n• Testing & Quality: Vitest, Jest, Playwright, Cypress, ESLint, Static Analysis\n",[3219],{"type":27,"tag":66,"props":3220,"children":3221},{"__ignoreMap":8},[3222],{"type":32,"value":3217},{"type":27,"tag":28,"props":3224,"children":3225},{},[3226],{"type":32,"value":3227},"Group technologies by how you actually apply them in production. Avoid listing tools you have merely opened once in a tutorial; if a technology is listed on your resume, be prepared to answer technical interview questions about its internals.",{"type":27,"tag":71,"props":3229,"children":3231},{"id":3230},"d-professional-work-experience",[3232],{"type":32,"value":3233},"D. Professional Work Experience",{"type":27,"tag":28,"props":3235,"children":3236},{},[3237],{"type":32,"value":3238},"The work experience section is the primary focus of your resume. Rather than reciting daily job duties, describe your achievements using structured impact formulas.",{"type":27,"tag":45,"props":3240,"children":3241},{},[],{"type":27,"tag":49,"props":3243,"children":3245},{"id":3244},"_3-the-google-x-y-z-impact-formula",[3246],{"type":32,"value":3247},"3. The Google X-Y-Z Impact Formula",{"type":27,"tag":28,"props":3249,"children":3250},{},[3251],{"type":32,"value":3252},"The most effective framework for writing technical experience bullets was popularized by Laszlo Bock, former Google VP of People Operations:",{"type":27,"tag":2810,"props":3254,"children":3255},{},[3256],{"type":27,"tag":28,"props":3257,"children":3258},{},[3259],{"type":27,"tag":157,"props":3260,"children":3261},{},[3262,3264,3269,3271,3276,3278,3283],{"type":32,"value":3263},"\"Accomplished ",{"type":27,"tag":644,"props":3265,"children":3266},{},[3267],{"type":32,"value":3268},"X",{"type":32,"value":3270},", as measured by ",{"type":27,"tag":644,"props":3272,"children":3273},{},[3274],{"type":32,"value":3275},"Y",{"type":32,"value":3277},", by doing ",{"type":27,"tag":644,"props":3279,"children":3280},{},[3281],{"type":32,"value":3282},"Z",{"type":32,"value":3284},"\"",{"type":27,"tag":28,"props":3286,"children":3287},{},[3288],{"type":32,"value":3289},"Every bullet point should combine an action verb, a technical mechanism or strategy, and a concrete metric of success.",{"type":27,"tag":61,"props":3291,"children":3293},{"code":3292},"┌────────────────────────────────────────────────────────────────────────┐\n│                        THE X-Y-Z BULLET FORMULA                        │\n├─────────────────┬──────────────────────────────────────────────────────┤\n│ [X] Outcome     │ What did you build, optimize, refactor, or automate? │\n├─────────────────┼──────────────────────────────────────────────────────┤\n│ [Y] Measurement │ By what percentage, duration, cost, or scale was it  │\n│                 │ improved?                                            │\n├─────────────────┼──────────────────────────────────────────────────────┤\n│ [Z] Methodology │ What specific language, architectural pattern, or    │\n│                 │ algorithm did you utilize to accomplish it?          │\n└─────────────────┴──────────────────────────────────────────────────────┘\n",[3294],{"type":27,"tag":66,"props":3295,"children":3296},{"__ignoreMap":8},[3297],{"type":32,"value":3292},{"type":27,"tag":71,"props":3299,"children":3301},{"id":3300},"high-impact-before-and-after-transformations",[3302],{"type":32,"value":3303},"High-Impact Before-and-After Transformations",{"type":27,"tag":103,"props":3305,"children":3307},{"id":3306},"example-1-frontend-user-experience",[3308],{"type":32,"value":3309},"Example 1: Frontend & User Experience",{"type":27,"tag":115,"props":3311,"children":3312},{},[3313,3328],{"type":27,"tag":119,"props":3314,"children":3315},{},[3316,3317,3322,3323],{"type":32,"value":2346},{"type":27,"tag":157,"props":3318,"children":3319},{},[3320],{"type":32,"value":3321},"Weak:",{"type":32,"value":1797},{"type":27,"tag":83,"props":3324,"children":3325},{},[3326],{"type":32,"value":3327},"\"Worked on the frontend of our checkout application using React and made it load faster.\"",{"type":27,"tag":119,"props":3329,"children":3330},{},[3331,3332,3337,3338],{"type":32,"value":2365},{"type":27,"tag":157,"props":3333,"children":3334},{},[3335],{"type":32,"value":3336},"Strong:",{"type":32,"value":1797},{"type":27,"tag":83,"props":3339,"children":3340},{},[3341],{"type":32,"value":3342},"\"Reduced checkout page Largest Contentful Paint (LCP) by 45% (from 3.8s to 2.1s) across 200,000 monthly active users by implementing route-level code splitting, asset preloading, and responsive image optimizations in Next.js.\"",{"type":27,"tag":103,"props":3344,"children":3346},{"id":3345},"example-2-backend-architecture-database-performance",[3347],{"type":32,"value":3348},"Example 2: Backend Architecture & Database Performance",{"type":27,"tag":115,"props":3350,"children":3351},{},[3352,3366],{"type":27,"tag":119,"props":3353,"children":3354},{},[3355,3356,3360,3361],{"type":32,"value":2346},{"type":27,"tag":157,"props":3357,"children":3358},{},[3359],{"type":32,"value":3321},{"type":32,"value":1797},{"type":27,"tag":83,"props":3362,"children":3363},{},[3364],{"type":32,"value":3365},"\"Managed backend database queries and helped maintain high uptime for our APIs.\"",{"type":27,"tag":119,"props":3367,"children":3368},{},[3369,3370,3374,3375],{"type":32,"value":2365},{"type":27,"tag":157,"props":3371,"children":3372},{},[3373],{"type":32,"value":3336},{"type":32,"value":1797},{"type":27,"tag":83,"props":3376,"children":3377},{},[3378],{"type":32,"value":3379},"\"Refactored PostgreSQL transaction queries and introduced a Redis caching tier for user authorization sessions, decreasing 95th percentile API response times from 340ms to 65ms while supporting 3,500 requests per second.\"",{"type":27,"tag":103,"props":3381,"children":3383},{"id":3382},"example-3-devops-engineering-velocity",[3384],{"type":32,"value":3385},"Example 3: DevOps & Engineering Velocity",{"type":27,"tag":115,"props":3387,"children":3388},{},[3389,3403],{"type":27,"tag":119,"props":3390,"children":3391},{},[3392,3393,3397,3398],{"type":32,"value":2346},{"type":27,"tag":157,"props":3394,"children":3395},{},[3396],{"type":32,"value":3321},{"type":32,"value":1797},{"type":27,"tag":83,"props":3399,"children":3400},{},[3401],{"type":32,"value":3402},"\"Helped the team with testing, Docker, and deployment pipelines.\"",{"type":27,"tag":119,"props":3404,"children":3405},{},[3406,3407,3411,3412],{"type":32,"value":2365},{"type":27,"tag":157,"props":3408,"children":3409},{},[3410],{"type":32,"value":3336},{"type":32,"value":1797},{"type":27,"tag":83,"props":3413,"children":3414},{},[3415],{"type":32,"value":3416},"\"Automated CI\u002FCD test and deployment workflows using Docker and GitHub Actions, cutting staging deployment cycles from 25 minutes to 6 minutes for an 18-person engineering team.\"",{"type":27,"tag":45,"props":3418,"children":3419},{},[],{"type":27,"tag":49,"props":3421,"children":3423},{"id":3422},"_4-understanding-ats-realities-without-myths",[3424],{"type":32,"value":3425},"4. Understanding ATS Realities Without Myths",{"type":27,"tag":28,"props":3427,"children":3428},{},[3429],{"type":32,"value":3430},"Job seekers frequently encounter misleading advice regarding Applicant Tracking Systems (ATS). Some services promise secret hacks to \"beat the ATS\" or guarantee a 100% match rate. To write an effective resume, you must understand how these systems actually operate.",{"type":27,"tag":71,"props":3432,"children":3434},{"id":3433},"what-an-ats-actually-does",[3435],{"type":32,"value":3436},"What an ATS Actually Does",{"type":27,"tag":28,"props":3438,"children":3439},{},[3440],{"type":32,"value":3441},"Modern ATS platforms (such as Greenhouse, Lever, Ashby, and Workday) are recruitment databases and workflow management tools. They:",{"type":27,"tag":1531,"props":3443,"children":3444},{},[3445,3455,3472],{"type":27,"tag":119,"props":3446,"children":3447},{},[3448,3453],{"type":27,"tag":157,"props":3449,"children":3450},{},[3451],{"type":32,"value":3452},"Extract and Tokenize Text:",{"type":32,"value":3454}," Convert uploaded documents into structured text records (parsing work history, dates, company names, educational degrees, and skill tokens).",{"type":27,"tag":119,"props":3456,"children":3457},{},[3458,3463,3465,3471],{"type":27,"tag":157,"props":3459,"children":3460},{},[3461],{"type":32,"value":3462},"Enable Recruiter Filtering:",{"type":32,"value":3464}," Allow recruiters to search candidate databases using Boolean queries (e.g., ",{"type":27,"tag":66,"props":3466,"children":3468},{"className":3467},[],[3469],{"type":32,"value":3470},"(\"TypeScript\" OR \"JavaScript\") AND \"PostgreSQL\" AND (\"Remote\" OR \"Austin\")",{"type":32,"value":96},{"type":27,"tag":119,"props":3473,"children":3474},{},[3475,3480],{"type":27,"tag":157,"props":3476,"children":3477},{},[3478],{"type":32,"value":3479},"Manage Workflow Stages:",{"type":32,"value":3481}," Track candidate progression through application, screening, technical interviews, and offer generation.",{"type":27,"tag":71,"props":3483,"children":3485},{"id":3484},"what-an-ats-does-not-do",[3486],{"type":32,"value":3487},"What an ATS Does Not Do",{"type":27,"tag":115,"props":3489,"children":3490},{},[3491,3496],{"type":27,"tag":119,"props":3492,"children":3493},{},[3494],{"type":32,"value":3495},"Modern systems do not arbitrarily reject qualified candidates because of standard bullet formatting.",{"type":27,"tag":119,"props":3497,"children":3498},{},[3499],{"type":32,"value":3500},"Rejection decisions are typically made by human recruiters and hiring managers who review candidate profiles.",{"type":27,"tag":71,"props":3502,"children":3504},{"id":3503},"rules-for-flawless-ats-ingestion",[3505],{"type":32,"value":3506},"Rules for Flawless ATS Ingestion",{"type":27,"tag":115,"props":3508,"children":3509},{},[3510,3520,3530,3573],{"type":27,"tag":119,"props":3511,"children":3512},{},[3513,3518],{"type":27,"tag":157,"props":3514,"children":3515},{},[3516],{"type":32,"value":3517},"Submit Clean Formats:",{"type":32,"value":3519}," Standard PDF or DOCX formats parse cleanly. PDFs generated from Microsoft Word, Google Docs, or LaTeX are reliable.",{"type":27,"tag":119,"props":3521,"children":3522},{},[3523,3528],{"type":27,"tag":157,"props":3524,"children":3525},{},[3526],{"type":32,"value":3527},"Avoid Complex Layout Elements:",{"type":32,"value":3529}," Never place critical work history inside tables, floating text boxes, headers\u002Ffooters, or multi-column canvas blocks. Parsers read left-to-right across columns, which can scramble job titles and company names.",{"type":27,"tag":119,"props":3531,"children":3532},{},[3533,3538,3540,3545,3547,3552,3553,3557,3559,3564,3566,3571],{"type":27,"tag":157,"props":3534,"children":3535},{},[3536],{"type":32,"value":3537},"Use Standard Section Headings:",{"type":32,"value":3539}," Stick to conventional headings like ",{"type":27,"tag":83,"props":3541,"children":3542},{},[3543],{"type":32,"value":3544},"Work Experience",{"type":32,"value":3546},", ",{"type":27,"tag":83,"props":3548,"children":3549},{},[3550],{"type":32,"value":3551},"Technical Skills",{"type":32,"value":3546},{"type":27,"tag":83,"props":3554,"children":3555},{},[3556],{"type":32,"value":2091},{"type":32,"value":3558},", and ",{"type":27,"tag":83,"props":3560,"children":3561},{},[3562],{"type":32,"value":3563},"Education",{"type":32,"value":3565},". Creative headings like ",{"type":27,"tag":83,"props":3567,"children":3568},{},[3569],{"type":32,"value":3570},"\"My Coding Odyssey\"",{"type":32,"value":3572}," can fail parser classification.",{"type":27,"tag":119,"props":3574,"children":3575},{},[3576,3581,3583,3587],{"type":27,"tag":157,"props":3577,"children":3578},{},[3579],{"type":32,"value":3580},"Incorporate Natural Keyword Alignment:",{"type":32,"value":3582}," Align the terminology in your resume with the target job requisition. If a role emphasizes \"RESTful API design\", use that phrase rather than only listing generic terms. For practical guidance on projects, see our companion guide on ",{"type":27,"tag":1889,"props":3584,"children":3585},{"href":1932},[3586],{"type":32,"value":1935},{"type":32,"value":826},{"type":27,"tag":45,"props":3589,"children":3590},{},[],{"type":27,"tag":49,"props":3592,"children":3594},{"id":3593},"_5-resume-length-guidelines-by-career-stage-and-geography",[3595],{"type":32,"value":3596},"5. Resume Length Guidelines by Career Stage and Geography",{"type":27,"tag":28,"props":3598,"children":3599},{},[3600],{"type":32,"value":3601},"The optimal resume length depends on your years of relevant experience and the geographical conventions of the hiring market:",{"type":27,"tag":61,"props":3603,"children":3605},{"code":3604},"┌───────────────────────────┬──────────────────────┬─────────────────────────────┐\n│ Experience Level          │ Standard Page Length │ Primary Content Focus       │\n├───────────────────────────┼──────────────────────┼─────────────────────────────┤\n│ 0–4 Years (Entry \u002F Mid)   │ Exactly 1 Page       │ Foundational skills,        │\n│                           │                      │ high-impact projects,       │\n│                           │                      │ internship or early work.   │\n├───────────────────────────┼──────────────────────┼─────────────────────────────┤\n│ 5–10+ Years (Senior\u002FLead) │ 1 to 2 Pages Max     │ Architectural ownership,    │\n│                           │                      │ scope of impact, team       │\n│                           │                      │ mentorship, system scale.   │\n├───────────────────────────┼──────────────────────┼─────────────────────────────┤\n│ 10+ Years (Staff\u002FExec)    │ Exactly 2 Pages      │ Strategic technical vision, │\n│                           │                      │ cross-team architecture,    │\n│                           │                      │ organizational leadership.   │\n└───────────────────────────┴──────────────────────┴─────────────────────────────┘\n",[3606],{"type":27,"tag":66,"props":3607,"children":3608},{"__ignoreMap":8},[3609],{"type":32,"value":3604},{"type":27,"tag":71,"props":3611,"children":3613},{"id":3612},"regional-geographic-conventions",[3614],{"type":32,"value":3615},"Regional Geographic Conventions",{"type":27,"tag":115,"props":3617,"children":3618},{},[3619,3629,3639],{"type":27,"tag":119,"props":3620,"children":3621},{},[3622,3627],{"type":27,"tag":157,"props":3623,"children":3624},{},[3625],{"type":32,"value":3626},"United States & Canada:",{"type":32,"value":3628}," Strict preference for a concise 1-page resume for engineers under 5 years of experience, and a strict 2-page limit for senior staff. Photographs, marital status, birthdates, and personal demographic details should never be included due to employment discrimination laws.",{"type":27,"tag":119,"props":3630,"children":3631},{},[3632,3637],{"type":27,"tag":157,"props":3633,"children":3634},{},[3635],{"type":32,"value":3636},"United Kingdom & European Union:",{"type":32,"value":3638}," Two-page Curriculum Vitae (CV) format is widely accepted, even for mid-level engineers. Detailed descriptions of project scope and educational modules are standard.",{"type":27,"tag":119,"props":3640,"children":3641},{},[3642,3647],{"type":27,"tag":157,"props":3643,"children":3644},{},[3645],{"type":32,"value":3646},"International Remote:",{"type":32,"value":3648}," When applying to US-based distributed organizations from overseas, adopt the concise US resume format (1 to 2 pages, omitting personal photographs and demographic data).",{"type":27,"tag":45,"props":3650,"children":3651},{},[],{"type":27,"tag":49,"props":3653,"children":3655},{"id":3654},"_6-guidance-for-specific-candidate-situations",[3656],{"type":32,"value":3657},"6. Guidance for Specific Candidate Situations",{"type":27,"tag":71,"props":3659,"children":3661},{"id":3660},"a-fresh-computer-science-graduates-junior-developers",[3662],{"type":32,"value":3663},"A. Fresh Computer Science Graduates & Junior Developers",{"type":27,"tag":115,"props":3665,"children":3666},{},[3667,3684,3689],{"type":27,"tag":119,"props":3668,"children":3669},{},[3670,3672,3676,3677,3682],{"type":32,"value":3671},"Place your ",{"type":27,"tag":157,"props":3673,"children":3674},{},[3675],{"type":32,"value":3551},{"type":32,"value":1646},{"type":27,"tag":157,"props":3678,"children":3679},{},[3680],{"type":32,"value":3681},"Technical Projects",{"type":32,"value":3683}," sections above your work experience if your prior jobs were non-technical (e.g., retail or hospitality).",{"type":27,"tag":119,"props":3685,"children":3686},{},[3687],{"type":32,"value":3688},"Highlight relevant computer science coursework (Data Structures, Algorithms, Database Systems, Computer Networks).",{"type":27,"tag":119,"props":3690,"children":3691},{},[3692,3694,3700],{"type":32,"value":3693},"Feature 2 to 3 substantive personal or academic projects that demonstrate clean code, automated tests, and live web deployments. Review expectations across engineering tiers in our guide on ",{"type":27,"tag":1889,"props":3695,"children":3697},{"href":3696},"\u002Fcareer-advice\u002Fjunior-to-senior-progression",[3698],{"type":32,"value":3699},"Junior vs. Mid-Level vs. Senior Software Engineer Responsibilities",{"type":32,"value":826},{"type":27,"tag":71,"props":3702,"children":3704},{"id":3703},"b-career-changers-and-bootcamp-graduates",[3705],{"type":32,"value":3706},"B. Career Changers and Bootcamp Graduates",{"type":27,"tag":115,"props":3708,"children":3709},{},[3710,3715],{"type":27,"tag":119,"props":3711,"children":3712},{},[3713],{"type":32,"value":3714},"Prioritize real-world code contributions and production deployments over course completion certificates.",{"type":27,"tag":119,"props":3716,"children":3717},{},[3718],{"type":32,"value":3719},"Highlight transferable professional skills from your previous career, such as project management, stakeholder communication, or domain-specific insights (e.g., finance, logistics, or healthcare).",{"type":27,"tag":71,"props":3721,"children":3723},{"id":3722},"c-experienced-senior-and-staff-engineers",[3724],{"type":32,"value":3725},"C. Experienced Senior and Staff Engineers",{"type":27,"tag":115,"props":3727,"children":3728},{},[3729,3734],{"type":27,"tag":119,"props":3730,"children":3731},{},[3732],{"type":32,"value":3733},"Emphasize architectural leadership, system resilience, and mentorship rather than tactical syntax tasks.",{"type":27,"tag":119,"props":3735,"children":3736},{},[3737,3739,3743],{"type":32,"value":3738},"Quantify organizational impact: How did your system design decisions improve reliability, lower infrastructure costs, or enable product teams to ship features faster? For interview preparation, see our ",{"type":27,"tag":1889,"props":3740,"children":3741},{"href":5},[3742],{"type":32,"value":2866},{"type":32,"value":826},{"type":27,"tag":45,"props":3745,"children":3746},{},[],{"type":27,"tag":49,"props":3748,"children":3750},{"id":3749},"_7-tailoring-your-resume-to-a-specific-job-description",[3751],{"type":32,"value":3752},"7. Tailoring Your Resume to a Specific Job Description",{"type":27,"tag":28,"props":3754,"children":3755},{},[3756],{"type":32,"value":3757},"Submitting a generic resume to 100 job postings produces low response rates. Tailoring your resume takes 5 to 10 minutes per application and significantly improves conversion rates.",{"type":27,"tag":28,"props":3759,"children":3760},{},[3761],{"type":32,"value":3762},"Follow this 3-step tailoring workflow:",{"type":27,"tag":1531,"props":3764,"children":3765},{},[3766,3800,3810],{"type":27,"tag":119,"props":3767,"children":3768},{},[3769,3774,3776,3781,3782,3787,3788,3793,3794,3799],{"type":27,"tag":157,"props":3770,"children":3771},{},[3772],{"type":32,"value":3773},"Analyze the Job Requisition:",{"type":32,"value":3775}," Highlight the top 4 core technical requirements (e.g., ",{"type":27,"tag":83,"props":3777,"children":3778},{},[3779],{"type":32,"value":3780},"\"TypeScript\"",{"type":32,"value":3546},{"type":27,"tag":83,"props":3783,"children":3784},{},[3785],{"type":32,"value":3786},"\"Distributed Systems\"",{"type":32,"value":3546},{"type":27,"tag":83,"props":3789,"children":3790},{},[3791],{"type":32,"value":3792},"\"PostgreSQL\"",{"type":32,"value":3546},{"type":27,"tag":83,"props":3795,"children":3796},{},[3797],{"type":32,"value":3798},"\"AWS Lambda\"",{"type":32,"value":96},{"type":27,"tag":119,"props":3801,"children":3802},{},[3803,3808],{"type":27,"tag":157,"props":3804,"children":3805},{},[3806],{"type":32,"value":3807},"Re-order and Emphasize Relevant Experience:",{"type":32,"value":3809}," Re-order your bullet points so that achievements involving those specific technologies appear at the top of each role.",{"type":27,"tag":119,"props":3811,"children":3812},{},[3813,3818,3820,3825,3827,3831],{"type":27,"tag":157,"props":3814,"children":3815},{},[3816],{"type":32,"value":3817},"Mirror Terminology Naturally:",{"type":32,"value":3819}," If the job posting calls for ",{"type":27,"tag":83,"props":3821,"children":3822},{},[3823],{"type":32,"value":3824},"\"Microservice architecture and REST API integration\"",{"type":32,"value":3826},", ensure your experience bullets use those terms where applicable, rather than generic phrases. Explore our ",{"type":27,"tag":1889,"props":3828,"children":3829},{"href":1907},[3830],{"type":32,"value":1910},{"type":32,"value":3832}," guide for standard API conventions.",{"type":27,"tag":45,"props":3834,"children":3835},{},[],{"type":27,"tag":49,"props":3837,"children":3839},{"id":3838},"_8-final-pre-submission-review-checklist",[3840],{"type":32,"value":3841},"8. Final Pre-Submission Review Checklist",{"type":27,"tag":28,"props":3843,"children":3844},{},[3845],{"type":32,"value":3846},"Before exporting your resume to PDF and submitting your application:",{"type":27,"tag":115,"props":3848,"children":3850},{"className":3849},[1856],[3851,3866,3881,3896,3911,3947,3962],{"type":27,"tag":119,"props":3852,"children":3854},{"className":3853},[1861],[3855,3858,3859,3864],{"type":27,"tag":1864,"props":3856,"children":3857},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3860,"children":3861},{},[3862],{"type":32,"value":3863},"Single-Column Format:",{"type":32,"value":3865}," The layout is clean, single-column, and free of complex tables, text boxes, and graphic skill bars.",{"type":27,"tag":119,"props":3867,"children":3869},{"className":3868},[1861],[3870,3873,3874,3879],{"type":27,"tag":1864,"props":3871,"children":3872},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3875,"children":3876},{},[3877],{"type":32,"value":3878},"Working Hyperlinks:",{"type":32,"value":3880}," All links (GitHub, LinkedIn, personal portfolio, live project demos) resolve without 404 or SSL errors.",{"type":27,"tag":119,"props":3882,"children":3884},{"className":3883},[1861],[3885,3888,3889,3894],{"type":27,"tag":1864,"props":3886,"children":3887},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3890,"children":3891},{},[3892],{"type":32,"value":3893},"Google X-Y-Z Bullets:",{"type":32,"value":3895}," Experience points start with strong action verbs and include measurable results (e.g., latency, throughput, percentages, test coverage).",{"type":27,"tag":119,"props":3897,"children":3899},{"className":3898},[1861],[3900,3903,3904,3909],{"type":27,"tag":1864,"props":3901,"children":3902},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3905,"children":3906},{},[3907],{"type":32,"value":3908},"Targeted Length:",{"type":32,"value":3910}," The document is exactly 1 page (0–5 years experience) or a tightly formatted 2 pages (5+ years senior experience).",{"type":27,"tag":119,"props":3912,"children":3914},{"className":3913},[1861],[3915,3918,3919,3924,3926,3930,3931,3935,3936,3940,3941,3945],{"type":27,"tag":1864,"props":3916,"children":3917},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3920,"children":3921},{},[3922],{"type":32,"value":3923},"ATS Cleanliness:",{"type":32,"value":3925}," Standard section titles (",{"type":27,"tag":83,"props":3927,"children":3928},{},[3929],{"type":32,"value":3551},{"type":32,"value":3546},{"type":27,"tag":83,"props":3932,"children":3933},{},[3934],{"type":32,"value":3544},{"type":32,"value":3546},{"type":27,"tag":83,"props":3937,"children":3938},{},[3939],{"type":32,"value":2091},{"type":32,"value":3546},{"type":27,"tag":83,"props":3942,"children":3943},{},[3944],{"type":32,"value":3563},{"type":32,"value":3946},") are used throughout.",{"type":27,"tag":119,"props":3948,"children":3950},{"className":3949},[1861],[3951,3954,3955,3960],{"type":27,"tag":1864,"props":3952,"children":3953},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3956,"children":3957},{},[3958],{"type":32,"value":3959},"Contact Information:",{"type":32,"value":3961}," Location, professional email address, and phone number are accurate; street address is omitted.",{"type":27,"tag":119,"props":3963,"children":3965},{"className":3964},[1861],[3966,3969,3970,3975,3977,3982,3983,3988,3989,3994,3995,4000,4001,4006],{"type":27,"tag":1864,"props":3967,"children":3968},{"disabled":22,"type":1866},[],{"type":32,"value":1797},{"type":27,"tag":157,"props":3971,"children":3972},{},[3973],{"type":32,"value":3974},"Spelling & Grammar:",{"type":32,"value":3976}," Technical terms are capitalized correctly (e.g., ",{"type":27,"tag":83,"props":3978,"children":3979},{},[3980],{"type":32,"value":3981},"TypeScript",{"type":32,"value":3546},{"type":27,"tag":83,"props":3984,"children":3985},{},[3986],{"type":32,"value":3987},"PostgreSQL",{"type":32,"value":3546},{"type":27,"tag":83,"props":3990,"children":3991},{},[3992],{"type":32,"value":3993},"JavaScript",{"type":32,"value":3546},{"type":27,"tag":83,"props":3996,"children":3997},{},[3998],{"type":32,"value":3999},"GraphQL",{"type":32,"value":3546},{"type":27,"tag":83,"props":4002,"children":4003},{},[4004],{"type":32,"value":4005},"Docker",{"type":32,"value":96},{"type":27,"tag":28,"props":4008,"children":4009},{},[4010,4012,4018],{"type":32,"value":4011},"Once your resume generates interviews, consult our guide on ",{"type":27,"tag":1889,"props":4013,"children":4015},{"href":4014},"\u002Fcareer-advice\u002Fevaluating-and-negotiating-tech-job-offers",[4016],{"type":32,"value":4017},"How to Evaluate and Negotiate Software Engineer Job Offers",{"type":32,"value":4019}," to maximize your total compensation.",{"type":27,"tag":45,"props":4021,"children":4022},{},[],{"type":27,"tag":49,"props":4024,"children":4025},{"id":2873},[4026],{"type":32,"value":2876},{"type":27,"tag":115,"props":4028,"children":4029},{},[4030,4043,4059,4081],{"type":27,"tag":119,"props":4031,"children":4032},{},[4033,4037,4038,4042],{"type":27,"tag":157,"props":4034,"children":4035},{},[4036],{"type":32,"value":2887},{"type":32,"value":2889},{"type":27,"tag":83,"props":4039,"children":4040},{},[4041],{"type":32,"value":2894},{"type":32,"value":2896},{"type":27,"tag":119,"props":4044,"children":4045},{},[4046,4051,4052,4057],{"type":27,"tag":157,"props":4047,"children":4048},{},[4049],{"type":32,"value":4050},"McDowell, Gayle Laakmann.",{"type":32,"value":2889},{"type":27,"tag":83,"props":4053,"children":4054},{},[4055],{"type":32,"value":4056},"Cracking the Coding Interview: 189 Programming Questions and Solutions (6th Edition).",{"type":32,"value":4058}," CareerCup.",{"type":27,"tag":119,"props":4060,"children":4061},{},[4062,4067,4068,4073,4074],{"type":27,"tag":157,"props":4063,"children":4064},{},[4065],{"type":32,"value":4066},"National Association of Colleges and Employers (NACE).",{"type":32,"value":1797},{"type":27,"tag":83,"props":4069,"children":4070},{},[4071],{"type":32,"value":4072},"Job Outlook: Key Attributes Employers Seek on Resumes.",{"type":32,"value":1797},{"type":27,"tag":1889,"props":4075,"children":4078},{"href":4076,"rel":4077},"https:\u002F\u002Fwww.naceweb.org",[2036],[4079],{"type":32,"value":4080},"naceweb.org",{"type":27,"tag":119,"props":4082,"children":4083},{},[4084,4089,4090,4095,4096],{"type":27,"tag":157,"props":4085,"children":4086},{},[4087],{"type":32,"value":4088},"Open Source Initiative (OSI).",{"type":32,"value":1797},{"type":27,"tag":83,"props":4091,"children":4092},{},[4093],{"type":32,"value":4094},"The Open Source Definition and Community Contribution Standards.",{"type":32,"value":1797},{"type":27,"tag":1889,"props":4097,"children":4100},{"href":4098,"rel":4099},"https:\u002F\u002Fopensource.org",[2036],[4101],{"type":32,"value":4102},"opensource.org",{"title":8,"searchDepth":656,"depth":656,"links":4104},[4105,4106,4112,4115,4120,4123,4128,4129,4130],{"id":3035,"depth":656,"text":3038},{"id":3062,"depth":656,"text":3065,"children":4107},[4108,4109,4110,4111],{"id":3068,"depth":665,"text":3071},{"id":3127,"depth":665,"text":3130},{"id":3188,"depth":665,"text":3191},{"id":3230,"depth":665,"text":3233},{"id":3244,"depth":656,"text":3247,"children":4113},[4114],{"id":3300,"depth":665,"text":3303},{"id":3422,"depth":656,"text":3425,"children":4116},[4117,4118,4119],{"id":3433,"depth":665,"text":3436},{"id":3484,"depth":665,"text":3487},{"id":3503,"depth":665,"text":3506},{"id":3593,"depth":656,"text":3596,"children":4121},[4122],{"id":3612,"depth":665,"text":3615},{"id":3654,"depth":656,"text":3657,"children":4124},[4125,4126,4127],{"id":3660,"depth":665,"text":3663},{"id":3703,"depth":665,"text":3706},{"id":3722,"depth":665,"text":3725},{"id":3749,"depth":656,"text":3752},{"id":3838,"depth":656,"text":3841},{"id":2873,"depth":656,"text":2876},"content:resume-interview:software-developer-resume-guide.md","resume-interview\u002Fsoftware-developer-resume-guide.md","resume-interview\u002Fsoftware-developer-resume-guide",1793122078076]