[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"i-heroicons:home":3,"i-heroicons:user":8,"i-heroicons:document-text":10,"i-heroicons:briefcase":12,"i-heroicons:magnifying-glass":14,"i-mdi:instagram":16,"i-mdi:twitter":18,"i-mdi:github":20,"i-mdi:linkedin":22,"series-engineering-decisions":24,"series-config-engineering-decisions":25},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m2.25 12l8.955-8.955a1.124 1.124 0 0 1 1.59 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0a3.75 3.75 0 0 1 7.5 0M4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.9 17.9 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M20.25 14.15v4.25c0 1.094-.787 2.036-1.872 2.18c-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5 0a2.18 2.18 0 0 0 .75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48 48 0 0 0-3.413-.387m4.5 8.006c-.194.165-.42.295-.673.38A24 24 0 0 1 12 15.75a24 24 0 0 1-7.577-1.22a2 2 0 0 1-.673-.38m0 0A2.18 2.18 0 0 1 3 12.489V8.706c0-1.081.768-2.015 1.837-2.175a48 48 0 0 1 3.413-.387m7.5 0V5.25A2.25 2.25 0 0 0 13.5 3h-3a2.25 2.25 0 0 0-2.25 2.25v.894m7.5 0a49 49 0 0 0-7.5 0M12 12.75h.008v.008H12z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4zm9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8A1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5a5 5 0 0 1-5 5a5 5 0 0 1-5-5a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cpath fill=\"currentColor\" d=\"M22.46 6c-.77.35-1.6.58-2.46.69c.88-.53 1.56-1.37 1.88-2.38c-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29c0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15c0 1.49.75 2.81 1.91 3.56c-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.2 4.2 0 0 1-1.93.07a4.28 4.28 0 0 0 4 2.98a8.52 8.52 0 0 1-5.33 1.84q-.51 0-1.02-.06C3.44 20.29 5.7 21 8.12 21C16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56c.84-.6 1.56-1.36 2.14-2.23\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cpath fill=\"currentColor\" d=\"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\u003Cpath fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93zM6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37z\"\u002F>",null,{"series":26,"author":161},{"id":27,"title":28,"author":29,"body":30,"category":110,"coverImage":24,"description":111,"difficulty":112,"endDate":24,"engagement":113,"estimatedTotalReadingTime":122,"extension":123,"learningOutcomes":124,"meta":130,"navigation":131,"nextSteps":132,"path":141,"prerequisites":142,"published":131,"robots":24,"schemaOrg":24,"seo":146,"sitemap":147,"slug":148,"startDate":149,"status":150,"stem":151,"tags":152,"testimonials":158,"totalEpisodes":159,"__hash__":160},"series\u002Fblog\u002Fseries\u002Fengineering-decisions.md","Engineering Decisions","arlon-antonius",{"type":31,"value":32,"toc":103},"minimark",[33,37,40,45,48,51,55,58,62],[34,35,36],"p",{},"Every team eventually faces a decision that looks technical but is really about risk tolerance, team capacity, and business constraints.",[34,38,39],{},"This series documents those decisions honestly. Not the version where the right answer was obvious in hindsight. The version where the tradeoffs were real, the pressures were real, and the outcome was mixed.",[41,42,44],"h2",{"id":43},"what-this-series-is","What This Series Is",[34,46,47],{},"Each post follows the same structure. The situation: what was being built and what triggered the decision. The options: what was realistically on the table. The pressure: the constraints that made this genuinely hard. The call: what was chosen and the actual reasoning behind it. The aftermath: what held, what didn't, and what would change with a second attempt.",[34,49,50],{},"The goal is not to tell you what the right answer is. The goal is to show you how a decision was reached so you can pressure-test your own reasoning when you face something similar.",[41,52,54],{"id":53},"what-this-series-is-not","What This Series Is Not",[34,56,57],{},"These are not tutorials. If you want a comprehensive breakdown of every available option for a given technology choice, the official documentation is better than any blog post. These posts are about the decision process and the consequences, not the implementation details.",[41,59,61],{"id":60},"episode-guide","Episode Guide",[63,64,65,73,79,85,91,97],"ol",{},[66,67,68,72],"li",{},[69,70,71],"strong",{},"The Tenant Isolation Decision You Make Once",": Choosing between row-level, schema, and database-per-tenant when you have no tenants yet",[66,74,75,78],{},[69,76,77],{},"How We Chose a Cloud Provider",": The factors that don't appear on any comparison table",[66,80,81,84],{},[69,82,83],{},"The Queue Architecture Decision",": When synchronous processing stopped being good enough and what it cost to change",[66,86,87,90],{},[69,88,89],{},"The Hiring Decision That Cost Us Three Months",": What a wrong technical hire looks like before it's obvious",[66,92,93,96],{},[69,94,95],{},"When We Killed the Microservices",": Eighteen months in, the modular monolith started looking right again",[66,98,99,102],{},[69,100,101],{},"Build vs. Buy for Authentication",": Building it felt safer. It wasn't.",{"title":104,"searchDepth":105,"depth":105,"links":106},"",2,[107,108,109],{"id":43,"depth":105,"text":44},{"id":53,"depth":105,"text":54},{"id":60,"depth":105,"text":61},"Engineering Leadership","Decision retrospectives from real engineering work. Each post covers one hard call: the situation, the options, the pressures, what was chosen, and what held. Not tutorials. Post-mortems.","intermediate",{"socialProof":114,"newsletter":115,"sharing":116},{"readerCount":4,"completionRate":4},{"enabled":6},{"tweetTemplate":117,"hashtags":118},"Just read '{title}' in the Engineering Decisions series by @arlonantonius. Real decisions, real constraints, real aftermath.",[119,120,121],"engineeringdecisions","softwarearchitecture","techleadership","42","md",[125,126,127,128,129],"How to frame architectural decisions using constraints, not just best practices","What the real pressures behind common engineering calls look like","How to evaluate tradeoffs under timeline and team-size pressure","What to watch for when a past decision is about to become a liability","How to document and communicate engineering decisions to non-technical stakeholders",{},true,{"consulting":133,"resources":136},{"enabled":131,"title":134,"description":135},"Facing a hard architecture decision?","Book a 1-on-1 to work through the options, constraints, and tradeoffs before you commit to something difficult to reverse.",[137],{"title":138,"description":139,"url":140},"Book a Consulting Call","Get a second opinion on a decision you're not confident about.","https:\u002F\u002Fcal.com\u002Farlon\u002F30min","\u002Fblog\u002Fseries\u002Fengineering-decisions",[143,144,145],"Some professional experience shipping software to production","Familiarity with common web architecture patterns","No specific technology knowledge required. Decisions are technology-agnostic where possible.",{"title":28,"description":111},{"loc":141},"engineering-decisions","2026-06-03","active","blog\u002Fseries\u002Fengineering-decisions",[153,154,155,156,157],"architecture","decision-making","engineering-leadership","tradeoffs","retrospectives",[],"6","VjljhWTkDQ3y_D1MfM-wwEPYYTkZUyTJGKZlY_4vikg",{"id":162,"title":163,"avatar":24,"bio":164,"body":165,"consulting":195,"credentials":197,"description":169,"extension":123,"initials":206,"meta":207,"name":163,"navigation":131,"path":208,"published":131,"seo":209,"slug":29,"social":210,"stem":214,"__hash__":215},"authors\u002Fauthors\u002Farlon-antonius.md","Arlon Antonius","Platform engineer and technology strategy consultant with 10+ years of experience building scalable web applications. Specializes in cloud architecture, DevOps, cybersecurity, and helping teams make informed technology decisions that balance innovation with pragmatic constraints.",{"type":31,"value":166,"toc":193},[167,170,173,190],[34,168,169],{},"Arlon is a platform engineer and technology strategist who specializes in helping teams build scalable, maintainable web applications. With over a decade of experience across startups and enterprise environments, he focuses on pragmatic technology decisions that balance innovation with real-world constraints.",[34,171,172],{},"His work spans five core domains: Technical Strategy & Architecture, Cybersecurity, Platform Engineering, Infrastructure, and Engineering Practice. He believes that modern software doesn't succeed through technology alone — it's the result of aligning architecture, security, infrastructure, and team practices.",[34,174,175,176,183,184,189],{},"Arlon is Team Lead on ",[177,178,182],"a",{"href":179,"rel":180},"https:\u002F\u002Ftenancy.dev",[181],"nofollow","Tenancy for Laravel",", an open-source library for building multi-tenant SaaS applications, and serves as an Exam Committee Member for ",[177,185,188],{"href":186,"rel":187},"https:\u002F\u002Fwww.certificationforlaravel.com\u002F",[181],"Certification for Laravel",".",[34,191,192],{},"He's passionate about sharing knowledge through writing, open-source contributions, and mentoring other developers. When not building platforms, you can find him exploring new technologies, contributing to the developer community, or planning the next project on arlon.dev.",{"title":104,"searchDepth":105,"depth":105,"links":194},[],{"available":131,"url":140,"description":196},"Book a 1-on-1 consultation to discuss your platform architecture, technology decisions, and development strategy.",[198,199,200,201,202,203,204,205],"Platform Engineering","Cloud Architecture","DevOps & CI\u002FCD","Technology Strategy","Cybersecurity","Full-Stack Development","Software Architecture","Open-Source Development","AA",{},"\u002Fauthors\u002Farlon-antonius",{"description":169},{"twitter":211,"linkedin":212,"github":211,"website":213},"arlonantonius","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Farlonantonius","https:\u002F\u002Farlon.dev","authors\u002Farlon-antonius","1ArFx17279qla0fRG8dR_dExuJE_ybwY8ZYCZPakS6g",1779608421029]