[{"data":1,"prerenderedAt":140},["ShallowReactive",2],{"work-/work/scaling-to-thirty":3,"work-siblings-/work/scaling-to-thirty":117},{"id":4,"title":5,"body":6,"client":96,"confidential":97,"description":88,"extension":98,"featured":99,"meta":100,"navigation":99,"order":89,"path":101,"period":102,"secondary":103,"seo":104,"sitemap":105,"slug":106,"stack":107,"stem":113,"summary":114,"track":115,"__hash__":116},"work/work/scaling-to-thirty.md","What changes between eight engineers and thirty",{"type":7,"value":8,"toc":87},"minimark",[9,14,18,22,25,28,32,56,60,75,79],[10,11,13],"h2",{"id":12},"context","Context",[15,16,17],"p",{},"Turntabl is an engineering consultancy in Accra. Some engineers are embedded inside client teams, including at tier-1 investment banks. Others form separate teams building end-to-end products for other clients. I joined in 2023 as Engineering Team Lead. In July 2026 I became Senior Engineering Manager, with 30+ engineers directly and indirectly across multiple concurrent clients.",[10,19,21],{"id":20},"the-problem","The problem",[15,23,24],{},"Eight engineers is one team. One standup, one client cadence, one backlog I could hold in my head, and every pull request could cross my desk if I wanted it to.",[15,26,27],{},"Thirty engineers across several clients is a different job with the same title on the door. Each client sets its own rhythm, its own tooling and its own definition of done. The habits that made me useful at eight, being in every review and every design conversation, are exactly the ones that make me the bottleneck at thirty.",[10,29,31],{"id":30},"what-i-did","What I did",[33,34,35,39,48,51,54],"ul",{},[36,37,38],"li",{},"Wrote things down instead of saying them. Promotion criteria, decision records, delivery plans, kickoff briefings. A conversation scales to the people in the room. A document scales to the people who join next quarter.",[36,40,41,42,47],{},"Authored a ",[43,44,46],"a",{"href":45},"/work/engineering-ladder","five-level career progression framework"," so that promotion stopped depending on which engagement someone happened to be on and who happened to notice.",[36,49,50],{},"Moved quality from my review queue into structure: TDD as a team default, decision records so the reasoning survives the meeting, reviewer-attestation separation of duties where governance required it, and an on-call rotation on the platform team so production ownership was a schedule rather than a personality.",[36,52,53],{},"Chaired the engineering culture committee, so that engineers on different clients still had reasons to be in the same room. Hackathons, demo days, meetups, and the scheduling that makes them happen.",[36,55],{},[10,57,59],{"id":58},"what-it-cost","What it cost",[33,61,62,65,73],{},[36,63,64],{},"Most of the job turned out to be written artefacts rather than conversations. I write far more than I code.",[36,66,67,68,72],{},"Distance from the code is real. The honest answer to whether I still build is in the ",[43,69,71],{"href":70},"/work/versioned-data-analytics-replica","analytics replica study",", which I am accountable for and could not have written from the sidelines.",[36,74],{},[10,76,78],{"id":77},"outcome","Outcome",[15,80,81,82,86],{},"No single number describes this one. 30+ engineers, directly and indirectly, across multiple concurrent clients. The promotion framework, the decision records and the culture committee are still running. Velocity and defect figures for a single team are in the ",[43,83,85],{"href":84},"/work/remittance-rebuild","remittance study","; the equivalent for a team of teams is  harder to attribute and I would rather leave it blank than reach.",{"title":88,"searchDepth":89,"depth":89,"links":90},"",2,[91,92,93,94,95],{"id":12,"depth":89,"text":13},{"id":20,"depth":89,"text":21},{"id":30,"depth":89,"text":31},{"id":58,"depth":89,"text":59},{"id":77,"depth":89,"text":78},"Turntabl",false,"md",true,{},"/work/scaling-to-thirty","2023 to present",null,{"title":5,"description":88},{"loc":101},"scaling-to-thirty",[108,109,110,111,112],"Org design","Hiring","Promotion frameworks","ADRs","On-call rotation","work/scaling-to-thirty","What stopped working past a single team, what had to be written down, and how quality holds when I cannot review everything.","leadership","qoUVlf9xgVQcETlbbk6eXQlcc6fG-lZ7zm4NGo0IN5s",[118,120,121,124,126,129,132,134,137],{"title":119,"path":84},"Rebuilding a remittance platform, then getting it licensed",{"title":5,"path":101},{"title":122,"path":123},"Estimating engineering work you then have to deliver","/work/scoping-fixed-price-work",{"title":125,"path":70},"Making a versioned datastore queryable without losing its history",{"title":127,"path":128},"Making three custody providers interchangeable behind one wallet interface","/work/provider-agnostic-wallet-layer",{"title":130,"path":131},"Onboarding and identity for a regulated crypto platform","/work/identity-and-onboarding",{"title":133,"path":45},"A promotion framework for a consultancy that does not fit product-company ladders",{"title":135,"path":136},"Automating end-of-day reconciliation","/work/reconciliation-automation",{"title":138,"path":139},"Reporting to a foreign regulator out of a core banking system","/work/fatca-regulatory-reporting",1789350680299]