<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[PakaiOtak]]></title><description><![CDATA[Engineering Manager in Malaysia. Writing about what it actually takes to lead engineering teams in Southeast Asia — the craft, the context, and the tensions nobody talks about. pakaiotak.com]]></description><link>https://www.pakaiotak.com</link><image><url>https://substackcdn.com/image/fetch/$s_!JrVE!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa5048d-cb52-4f31-9730-d33d71619774_1696x1696.png</url><title>PakaiOtak</title><link>https://www.pakaiotak.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 01 Aug 2026 13:06:30 GMT</lastBuildDate><atom:link href="https://www.pakaiotak.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Hisyam]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pakaiotak@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pakaiotak@substack.com]]></itunes:email><itunes:name><![CDATA[PakaiOtak]]></itunes:name></itunes:owner><itunes:author><![CDATA[PakaiOtak]]></itunes:author><googleplay:owner><![CDATA[pakaiotak@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pakaiotak@substack.com]]></googleplay:email><googleplay:author><![CDATA[PakaiOtak]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Hiring Freeze Economics]]></title><description><![CDATA[A hiring freeze isn&#8217;t a hiring freeze. It&#8217;s a slow-motion senior exodus, and the spreadsheet doesn&#8217;t show it.]]></description><link>https://www.pakaiotak.com/p/hiring-freeze-economics</link><guid isPermaLink="false">https://www.pakaiotak.com/p/hiring-freeze-economics</guid><dc:creator><![CDATA[PakaiOtak]]></dc:creator><pubDate>Tue, 28 Jul 2026 04:05:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IRQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IRQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IRQl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 424w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 848w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 1272w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IRQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png" width="1024" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:595731,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pakaiotak.com/i/207617087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IRQl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 424w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 848w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 1272w, https://substackcdn.com/image/fetch/$s_!IRQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b58cad8-db9c-4b7b-b93c-307d60b9cf5d_1024x741.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The freeze looks clean on paper. Headcount flat, budget protected, no awkward requisitions to defend in the quarterly review. What the paper doesn&#8217;t show is the shape of what&#8217;s left.</p><p>Last quarter, one of my squads had quietly become a squad of seniors. Not by design &#8212; by attrition and selective hiring. Every backfill over two years went to &#8220;we need someone who can hit the ground running,&#8221; which always means senior. A junior left and wasn&#8217;t replaced. The result was a team where everyone was three or four years in, everyone was good, and nobody was junior.</p><p>Then one of them told me, in effect, that he couldn&#8217;t see why all the interesting problems kept landing on the same two desks. The answer was uncomfortable: there was no one to hand the boring work to. The toil that a junior would normally absorb &#8212; the manual verification, the flaky local setups, the cross-checking before a release &#8212; was being done by people who were hired to do hard things. They were doing it anyway, between the hard things, and it was wearing them down.</p><p>That&#8217;s the first failure mode of a senior-only team: <strong>toil compression</strong>. The grunt work doesn&#8217;t disappear when the juniors do. It gets absorbed by people who experience it as a demotion. Engagement drops. And a disengaged senior is not a quiet problem &#8212; it&#8217;s a flight risk wearing a calm face.</p><p>The second failure mode is <strong>no succession ladder</strong>. On a balanced team, when a senior leaves, there&#8217;s a mid-level engineer who&#8217;s been shadowing the hard parts and can step up. On a senior-only team, when a senior leaves, the replacement is a hire &#8212; a three-month search, a three-month ramp, in a market where senior supply is thin. You don&#8217;t lose one person. You lose a capability with no one shaped to inherit it.</p><p>The third is <strong>status friction</strong>. When everyone is senior, everyone wants the meaty work, and there isn&#8217;t enough meaty work to go around. The political cost of allocating it rises. You start spending management energy refereeing who gets the interesting problem &#8212; energy that, on a mixed team, the seniority gradient handles for you.</p><p>Here&#8217;s the math leadership doesn&#8217;t model. If one senior of, say, six leaves in a year, that&#8217;s a sixteen percent capacity hit landing in a single event &#8212; and a capability gap with no internal successor. On a team with a healthy junior layer, the same departure is closer to an eight percent hit, cushioned, with someone already half-shaped to fill it. The freeze that &#8220;saved&#8221; a junior salary bought you a fragile team that breaks loudly the first time someone resigns.</p><p>And in Malaysia, the fragility runs deeper than the org chart suggests.</p><p>In SEA, juniors are the export market. The strongest KL juniors don&#8217;t stay junior &#8212; they get pulled to Singapore, to remote-Australia and remote-US contracts, at two to three times the local salary. &#8220;We&#8217;ll hire seniors only&#8221; is a strategy that works in markets where senior supply is deep and replaceable. In KL it&#8217;s the opposite: senior supply is thin, <em>and</em> the junior pipeline is leaking out of the country before it ever matures into senior supply. Both pumps are off. You&#8217;re not running a freeze. You&#8217;re running an aquifer dry and assuming it refills.</p><p>So the senior who looks settled &#8212; three years in, owns the gnarliest system, never complains &#8212; is one recruiter message away from a relocation conversation. Loyalty is real, but it isn&#8217;t an asset class you can put on a forecast. The math doesn&#8217;t care how settled he looks.</p><p>Which is why the cheapest hire on the spreadsheet is rarely the cheapest hire in practice. Finance reads the senior as more expensive per head and stops there. But an intern plus one junior, taking the toil off four seniors who are quietly running hot, is cheaper than the fifty-percent productivity tax of senior toil compression &#8212; and far cheaper than the one departure it prevents.</p><p>Here&#8217;s the thing to do Monday: model your team&#8217;s <em>&#8220;if one senior leaves&#8221;</em> scenario explicitly. Name the person who&#8217;d backfill them, and if the answer is &#8220;we&#8217;d open a req,&#8221; that&#8217;s your flight-risk exposure in one sentence. Bring that sentence to the table when you negotiate hiring slots. Don&#8217;t argue for headcount. Argue for distribution.</p><p>The cheapest hire isn&#8217;t always the senior who can hit the ground running. Sometimes it&#8217;s the junior who lets the seniors stop running so hard.</p>]]></content:encoded></item><item><title><![CDATA[Can Automate for SG, Not for MY]]></title><description><![CDATA[Half of what we shipped to Singapore last year still hasn&#8217;t reached Malaysia. Engineering didn&#8217;t break. The assumption did.]]></description><link>https://www.pakaiotak.com/p/can-automate-for-sg-not-for-my</link><guid isPermaLink="false">https://www.pakaiotak.com/p/can-automate-for-sg-not-for-my</guid><dc:creator><![CDATA[PakaiOtak]]></dc:creator><pubDate>Mon, 20 Jul 2026 02:00:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KE35!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KE35!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KE35!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 424w, https://substackcdn.com/image/fetch/$s_!KE35!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 848w, https://substackcdn.com/image/fetch/$s_!KE35!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!KE35!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KE35!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png" width="1456" height="1054" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1054,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8278919,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pakaiotak.com/i/207616177?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KE35!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 424w, https://substackcdn.com/image/fetch/$s_!KE35!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 848w, https://substackcdn.com/image/fetch/$s_!KE35!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!KE35!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F114cd44d-b631-4a43-a965-f60605f9618f_2432x1760.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Early this year I sat in a 1:1 with an engineering lead whose work runs across both markets. We were unpacking the aftermath of a compliance-driven re-verification exercise: a slice of the customer base needed their records re-checked, against a deadline, in two countries at once.</p><p>The Singapore half barely registered as engineering work. The flow pulls government-verified identity data through an API, runs the checks, approves. A customer who responds gets cleared in minutes, untouched by human hands. Then he got to the Malaysian half and his voice changed. <em>&#8220;For Singapore, we can automate this end to end,&#8221;</em> he told me, in effect. <em>&#8220;For Malaysia, we can&#8217;t.&#8221;</em> The same flow, for the same company, dead-ends into a document upload, a manual review, and a queue that an operations team works through by hand while the deadline doesn&#8217;t move.</p><p>He wasn&#8217;t complaining. The infrastructure just doesn&#8217;t exist yet &#8212; and that fact had been missing from every estimate we&#8217;d made about that rollout.</p><h2>The regional fallacy</h2><p>There&#8217;s a sentence that shows up in roadmap discussions at every company that operates across Southeast Asia: <em>&#8220;It works in Singapore &#8212; we&#8217;ll just turn it on for Malaysia.&#8221;</em></p><p>That sentence is a smoke alarm.</p><p>Here&#8217;s what &#8220;turning it on&#8221; actually meant for the flow above, and for most flows I&#8217;ve watched cross that border: a separate compliance interpretation, because the two regulators read the same risk differently. A different set of acceptable documents, because the national identity ecosystems aren&#8217;t equivalent. A different bank-rail integration, because money moves on different pipes here. A different operational fallback, because when automation isn&#8217;t possible, a human queue has to exist, be staffed, and be monitored. Different timing assumptions, because a step that&#8217;s instant in one market takes days in the other.</p><p>None of that is visible in the codebase. The codebase looks 80% shared. That&#8217;s what makes the estimate wrong: teams scope the Malaysian rollout as the remaining 20%, and it lands at 60-80% of the original build &#8212; sometimes more, because the manual-fallback machinery (admin tooling, queue visibility, ops reporting) is work the Singapore version never needed at all.</p><p>The cost isn&#8217;t only engineering hours. It&#8217;s that the gap gets discovered mid-rollout instead of at scoping. The Singapore launch announces itself as a regional win, the roadmap moves on, and the Malaysian half quietly becomes an ops burden that engineering &#8220;will automate later.&#8221; Later meets the next roadmap cycle and loses.</p><p>And it compounds. Re-verification this quarter, a deposit flow next quarter, an account-maintenance flow after that &#8212; every flow that touches identity, money movement, or documents replays the same split. Engineers who have crossed the border once start padding estimates on instinct. The roadmap never learns, because the padding is invisible and the assumption keeps getting written down as &#8220;regional&#8221;.</p><h2>Why Malaysia specifically</h2><p>This isn&#8217;t Malaysia being difficult. It&#8217;s an infrastructure asymmetry with a date on it.</p><p>Singapore has had Singpass and MyInfo for the better part of a decade: government-verified identity data, exposed through APIs, that the regulator explicitly accepts as a reliable source for customer verification. When the government runs the identity rail and the regulator recognizes it, &#8220;automate the KYC step&#8221; is an integration project. Engineering can build on it the way they build on a payments API.</p><p>Malaysia is building the equivalent &#8212; MyDigital ID verifies directly against the national registry, registrations crossed ten million in early 2026, and banks have been testing integration readiness in a sandbox. But &#8220;in a sandbox in 2026&#8221; versus &#8220;regulator-recognized API for most of a decade&#8221; is the whole story. The rail engineering wants to build on doesn&#8217;t exist yet at integration grade. So the same product requirement &#8212; verify this customer &#8212; resolves to an API call on one side of the causeway and a staffed queue on the other.</p><p>And identity is just the visible example. Run the same comparison across payment rails, data-residency rules, document standards, and licensing, and the pattern holds: what product sees as one market, compliance and operations experience as six. Founders who&#8217;ve built across Southeast Asia describe needing not a licence but a list of licences. Every fintech operating regionally rediscovers this; most rediscover it after the estimate is committed.</p><p>There&#8217;s a second-order cost that lands specifically on the Malaysian side of the org chart. When the automatable version ships in Singapore and the manual version ships in Malaysia, the KL team inherits the remainder: the admin tooling, the queue dashboards, the weekly check-ins with an ops team under deadline pressure. That work is real, hard, and customer-protecting &#8212; and it photographs terribly. The engineer who integrated the identity API gets a demo at the all-hands. The engineer who built the manual-review queue gets a support rotation. A few cycles of that and your regional teams learn what kind of work gets noticed &#8212; and it isn&#8217;t theirs.</p><p>Here&#8217;s the part I care about as a KL-based engineering manager: the engineers in Kuala Lumpur already know all of this. They&#8217;re the ones who built the manual queue. They&#8217;re the ones who sit closest to the ops team working through it. The knowledge gap isn&#8217;t in the region &#8212; it&#8217;s at headquarters, where a product org anchored in the most automatable market in Southeast Asia keeps writing &#8220;regional&#8221; on a one-line roadmap item. The bug is at headquarters. The technical work is only the symptom.</p><h2>What an EM should do with this</h2><p>The leverage point isn&#8217;t technical. It&#8217;s the moment a regional feature gets scoped, before any estimate enters the roadmap.</p><p>My rule now: when a rollout is described as regional, I make the per-country fan-out cost visible before engineering commits a number. Not a disclaimer &#8212; a table. For each market: can this step be automated today, what rail does it depend on, what&#8217;s the manual fallback if it can&#8217;t, and who staffs it. For the re-verification flow, the Singapore row read <em>identity API, automated, no fallback needed</em>. The Malaysia row read <em>document upload, manual review, ops queue, needs admin tooling that doesn&#8217;t exist yet</em>. Same feature. Two different projects. Five minutes per country, and &#8220;we&#8217;ll just turn it on for Malaysia&#8221; stops being an assumption and becomes a line item someone has to defend.</p><p>Which leads to the take I&#8217;ll defend: <strong>&#8220;regional&#8221; features should be scoped per-country from day one, even when the build is shared.</strong> If the scoping doc has one row for a six-country rollout, the doc is lying to you. Six countries, six rows &#8212; even if four of them say &#8220;same as SG, verified.&#8221; The point isn&#8217;t paperwork. The point is forcing the verification, because the rows that say &#8220;same as SG&#8221; without verification are where the next quarter&#8217;s surprise lives. Yes, this makes scoping slower. Scoping is the cheapest place to be slow.</p><p>The transferable version, for anyone running engineering across this region: a shared codebase is not a shared product. Code crosses borders for free. Compliance, identity rails, bank integrations, and operations queues do not. Estimate the second list, not the first.</p>]]></content:encoded></item><item><title><![CDATA[Coaching vs Covering]]></title><description><![CDATA[I used to think every time I picked up a task my report had dropped, I was failing as a manager. Took me three years to see I had it backwards.]]></description><link>https://www.pakaiotak.com/p/coaching-vs-covering</link><guid isPermaLink="false">https://www.pakaiotak.com/p/coaching-vs-covering</guid><dc:creator><![CDATA[PakaiOtak]]></dc:creator><pubDate>Fri, 05 Jun 2026 07:52:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TjUd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TjUd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TjUd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TjUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1826349,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://pakaiotak.substack.com/i/200728930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TjUd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!TjUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0257b19e-a307-41ec-8acc-eb89456a8e4d_1376x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It started with a design document that wasn&#8217;t moving.</p><p>A KL tech lead had handed a workstream to one of their engineers three weeks earlier. Clear enough brief, reasonable timeline. Then: silence. No draft, no questions, no blockers surfaced. When the lead finally checked in, the engineer had a half-formed doc, no real thinking in it yet.</p><p>The lead&#8217;s reflex was instant: <em>I&#8217;ll write the first draft. That&#8217;ll unblock them. We&#8217;ll talk through it together.</em></p><p>And they did. And it worked &#8212; if by &#8220;worked&#8221; you mean the document got done and the sprint didn&#8217;t slip.</p><p>What didn&#8217;t work was everything that came after.</p><div><hr></div><p>What the lead did has a name &#8212; <strong>covering</strong>. From the outside it looks almost identical to coaching. The difference is whose hands are on the keyboard.</p><p>A useful frame: think of your reports as having a growth account. Every time you let them struggle through something hard and come out the other side, the balance goes up. Every time you take the problem off their hands, the balance goes down.</p><p>Covering feels like a deposit. You helped, you were generous, the team didn&#8217;t suffer. But the report&#8217;s growth account is lower than it was before, and you&#8217;ve made yourself more indispensable to the next hard problem.</p><p>The diagnostic question I started asking myself: <strong>Whose growth account am I drawing from?</strong></p><p>When I pick up the task &#8212; am I doing it because <em>I</em> can&#8217;t tolerate the uncertainty, the slowness, the imperfect output? Or because my report genuinely can&#8217;t proceed without me?</p><p>Most of the time, if I&#8217;m honest, it was the first one.</p><div><hr></div><p>The pattern shows up differently depending on the seniority of the report.</p><p>With junior engineers, covering is obvious. You write the ADR. You fix the approach. You clean up the PR. The junior watches the diff land with a thank-you emoji and learns something &#8212; but mostly learns that hard things get rescued. Everyone knows it happened; no one quite names it.</p><p>With senior engineers, it goes underground. A TL who &#8220;provides input and guidance&#8221; on every major design decision isn&#8217;t enabling their report &#8212; they&#8217;re providing a service. The senior engineer learns to wait for the input. The manager learns to expect to provide it. Neither side notices the dependency hardening.</p><p>The subtler version: the engineer who stops driving their own ideas. They surface them, hand them off, wait. They&#8217;ve learned that ideas need a champion above them to go anywhere. The EM had been providing that function for long enough that the engineer stopped reaching for ownership. It doesn&#8217;t look like a problem &#8212; the ideas are still flowing, the work is still moving. What&#8217;s disappeared is the engineer&#8217;s belief that the initiative is theirs to hold.</p><p>I&#8217;ve seen this from both seats. As the manager providing input, I felt productive &#8212; I was adding value, the work was better, my report was happy. It took a while to notice that <em>my report was happy because I was doing the hard part</em>.</p><p>As the engineer on the receiving end, years earlier, I remember the relief of a senior who&#8217;d &#8220;just take a look&#8221; at my drafts and return them sharper than I could have made them. I thought I was being mentored. I was being covered for. The clue was that I couldn&#8217;t tell you, afterwards, what I&#8217;d actually learned &#8212; only that the work had shipped.</p><div><hr></div><p>There&#8217;s a Malaysia-specific pressure here worth naming.</p><p>In a lot of KL engineering teams, the senior-to-junior ratio skews heavily senior. Hiring pipelines are slow, junior talent needs heavy ramp, and the path of least resistance is always the senior picking up the task. They&#8217;re faster, the quality is better, the deadline doesn&#8217;t slip.</p><p>The math feels fine until you look at it three cycles later. Senior-heavy teams that cover instead of coach don&#8217;t stay senior-heavy. They become <em>seniors-who-do-everything</em>, with no bench to absorb growth or absorb departures. The hiring problem doesn&#8217;t go away. It gets worse, because now the team can&#8217;t function unless the same four people are always available.</p><p>It shows up most visibly during incidents. If only two or three engineers have enough context to respond to production issues, that&#8217;s a coverage problem. It got baked in over many sprints, one rescue at a time. The team didn&#8217;t fail to grow. They were never given the surface area to grow into.</p><blockquote><p>Covering is individually rational and collectively destructive.</p></blockquote><p>Which is almost a definition of a structural problem.</p><div><hr></div><p>So what does coaching actually look like in practice, when the reflex is to cover?</p><ol><li><p><strong>Name the call out loud, in the moment.</strong> &#8220;I could write this first draft. I&#8217;m not going to. Here&#8217;s what I want you to try instead.&#8221; That sentence is uncomfortable. Saying it means accepting that the document will probably be worse, the sprint might slip, the report might be frustrated. It also means the report will have written a hard document &#8212; not watched you write one.</p></li><li><p><strong>Set a structured checkpoint, not an open-ended offer of help.</strong> &#8220;Send me what you have by Thursday&#8221; is a coaching move. &#8220;Let me know if you need anything&#8221; is a covering move wearing coaching clothes.</p></li><li><p><strong>Sometimes let the work be late.</strong> Not deliberately, not carelessly. But if the choice is between late work the report learned from versus on-time work the manager rescued, late is often the better trade. The sprint metric looks worse. The growth account looks better.</p></li></ol><p>A report who can&#8217;t deliver something in two sprints isn&#8217;t ready to deliver it in one. That&#8217;s data about the gap, not a verdict on their potential. The EM&#8217;s job is to name the gap clearly and help build the bridge. Not to become the bridge.</p><div><hr></div><p>There&#8217;s one more thing covering does that&#8217;s easy to miss: it teaches reports to hide difficulty.</p><p>When a manager consistently rescues struggling work, the report learns that incomplete output is a problem to solve <em>before</em> the 1:1, not a thing to surface during it. The tell: the engineer who only ever brings finished work to your one-on-ones. No half-formed designs, no &#8220;I&#8217;m stuck on this,&#8221; no thinking-out-loud. Just polished updates. Looks like a high performer. Often it&#8217;s a high performer who has learned that polish is the price of admission.</p><p>Over time, the engineer who never brings half-formed things is performing confidence, not feeling it. The gap is still there. It just went underground. By the time it surfaces, it&#8217;s usually a resignation nobody saw coming, or a project that looked healthy in status updates right up until it stalled.</p><p>Coaching requires creating safety for the mess to be visible. &#8220;Send me what you have Thursday&#8221; isn&#8217;t just a deadline. It&#8217;s a signal that rough drafts are allowed, that struggle is something to name out loud instead of hide. The first time a report sends you something genuinely unfinished and you respond with questions rather than rescue, you&#8217;re teaching them the actual rules of the room. That&#8217;s the part that doesn&#8217;t show up in the framework.</p><p>The last thing I&#8217;ll say: coaching over covering isn&#8217;t about being hands-off. The managers I&#8217;ve seen do this well are intensely involved. They ask harder questions, they&#8217;re more calibrated about where the report actually is, they&#8217;re more explicit about expectations. The difference is they add challenge instead of taking it away.</p><p>There&#8217;s a version of this that becomes a rationalization for neglect: &#8220;I&#8217;m coaching, not covering&#8221; as a reason to not follow up, not look at the work, not give the hard feedback. That&#8217;s not coaching. That&#8217;s walking away with a good name.</p><p>The real version asks more of you, not less. It just puts the demand in the right place.</p><p>This week, pick one task you&#8217;re about to pick up on a report&#8217;s behalf. Before you touch it, ask: <em>whose growth account is this withdrawal from?</em> If the answer is yours, write the draft. If the answer is theirs, write the checkpoint instead.</p>]]></content:encoded></item><item><title><![CDATA[The 80% Problem]]></title><description><![CDATA[Fast Tickets, Slow Growth]]></description><link>https://www.pakaiotak.com/p/the-80-problem</link><guid isPermaLink="false">https://www.pakaiotak.com/p/the-80-problem</guid><dc:creator><![CDATA[PakaiOtak]]></dc:creator><pubDate>Sun, 24 May 2026 23:45:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kI7g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kI7g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kI7g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kI7g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6982263,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://pakaiotak.substack.com/i/199026610?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kI7g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!kI7g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c8b233-b309-46b0-ba43-76fa175a9984_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>&#8220;I feel like a reviewer now. Not a builder.&#8221;</p></blockquote><p>A senior engineer told me that in a 1:1 a few months ago. And I haven&#8217;t stopped thinking about it.</p><p>The AI coding assistant had been doing most of the implementation: first-pass logic, boilerplate, initial test stubs. Her job had shifted. Read what it produced. Catch what it missed. Push it across the finish line. Ticket throughput was up. She was closing more work in a week than she had in a month before.</p><p>She wasn&#8217;t sure whether this was good. I wasn&#8217;t sure either.</p><div><hr></div><p>Here&#8217;s the pattern I keep seeing across my team. Call it the 80% Problem. AI gets an engineer to something that looks 80% done in a fraction of the time it used to take. The last 20% takes about as long as it always has. The edge cases. The design decisions that don&#8217;t have a clean precedent. The debugging that needs you to actually understand what the code is doing.</p><p>So net throughput goes up. Metrics look great. PR count climbs. Jira burns down faster. If you&#8217;re watching the dashboard, everything is working.</p><p>But there&#8217;s a second number nobody&#8217;s tracking. Call it craft growth rate. The judgment you only build by struggling through the hard part yourself. By getting it wrong three times before you understand <em>why</em> the fourth attempt works.</p><p>That number is going in the other direction.</p><p>When the AI generates the skeleton and the engineer&#8217;s job becomes review and correction, the engineer is doing less of the work that builds judgment. They&#8217;re checking a machine&#8217;s decisions, not making their own. Getting faster at verifying. Not getting faster at inventing.</p><p>I use AI tools. My team uses AI tools. This isn&#8217;t about whether to use them. It&#8217;s about what&#8217;s happening to the engineers using them, below the PR count.</p><div><hr></div><p>In SEA, this pattern has a particular edge to it.</p><p>The junior pipeline here is thin. Senior engineers in KL and Jakarta are one LinkedIn message away from a Singapore bank offer, an Australian remote role, a US company paying in dollars. The attrition math is harder before you even add AI to the equation.</p><p>The traditional response is to grow your own &#8212; hire juniors early, build the mid-level bench yourself over two to three years. But that model depends on juniors doing the hard work that builds judgment. A junior who spends their first two years reviewing AI output instead of building things from scratch is not getting the apprenticeship they need to become the mid-level engineer who stays in year three. They&#8217;re getting faster at closing tickets. They&#8217;re not learning to carry the last 20%.</p><p>Eventually they hit a problem the AI can&#8217;t scaffold. A gnarly distributed systems edge case. A product decision with no precedent. A codebase with enough entropy that the AI just hallucinates. They won&#8217;t have the reps to push through. In the US or Europe, you hire senior talent from a deeper pool when that gap surfaces. In KL, you&#8217;re often waiting eighteen months for the right candidate.</p><div><hr></div><p>The 80% Problem shows up differently depending on how the engineer is oriented to the tool. I&#8217;ve had engineers push back on the AI-first workflow entirely. I&#8217;ve learned to read that resistance differently than I used to.</p><p>They&#8217;re not refusing the tool. They&#8217;re refusing to ship code they don&#8217;t understand. <em>&#8220;I need to know why it works. If I didn&#8217;t write it, I&#8217;m not sure I do.&#8221;</em> They&#8217;ll use AI for research, for understanding a library, for testing edge cases. They won&#8217;t let it author the implementation and hand them the result.</p><p>I used to frame this as friction. Now I frame it as signal about what kind of engineer they&#8217;re trying to remain.</p><p>On a velocity dashboard, the engineer who leans heavily into AI generation looks faster. The engineer who insists on writing the core themselves looks slower. Neither metric tells you what&#8217;s actually accumulating in each of them.</p><p>Which means the dashboard is asking the wrong question.</p><div><hr></div><p>So what&#8217;s the EM job here?</p><p>I don&#8217;t think it&#8217;s to impose AI-off days or restrict tool usage. Engineers will &#8212; correctly &#8212; ignore it.</p><p>I think the EM job is to make the distinction visible.</p><p>The 80% Problem isn&#8217;t that AI does 80% of the work. It&#8217;s that the 80% it does is exactly the part that <em>used to</em> build the engineer. AI accelerates getting things done. Whether it accelerates becoming someone who can do things depends entirely on how the engineer is using it.</p><p>In 1:1s, the question I&#8217;ve started asking is: <strong>&#8220;What did you write without AI this week?&#8221;</strong> Not as a gotcha. Not as surveillance. It&#8217;s craft growth rate made legible &#8212; a way to see whether an engineer is using AI as a tool that extends their capacity, or as a shortcut that&#8217;s quietly offloading the work that would otherwise build it.</p><p>The answers are telling. Engineers who are growing tend to have a clear answer. They can point to a decision they made, a problem they debugged, a design choice they argued for. Engineers who are drifting toward pure review-and-correct often can&#8217;t.</p><p>That&#8217;s the signal I&#8217;m trying to catch early.</p><div><hr></div><p>The uncomfortable claim underneath all of this: forcing AI-off constraints for junior engineers is not gatekeeping. It&#8217;s apprenticeship.</p><p>Not as a punishment. Not as skepticism about AI. As a deliberate pedagogical structure &#8212; the same reason you don&#8217;t let an intern spend their whole rotation summarizing PowerPoints. The constraint is the learning.</p><p>A junior who writes 200 lines of working code they fully understand is building something the AI can&#8217;t give them. A junior who shepherds 800 lines of AI-generated code through review is closing tickets faster, but the judgment isn&#8217;t accumulating at the same rate.</p><p>That doesn&#8217;t mean AI tools are off the table for juniors. It means the EM has to be intentional about which problems juniors own end-to-end. Where the constraint lives. What the AI augments versus what it replaces.</p><p>The dashboard doesn&#8217;t tell you this. The 1:1 might.</p><div><hr></div><p>The senior engineer who said she felt like a reviewer rather than a builder wasn&#8217;t asking me to fix anything. She was doing what good engineers do: naming a pattern she&#8217;d noticed in herself before it became a problem. Not every engineer has that self-awareness &#8212; especially juniors who don&#8217;t know what they&#8217;re not building yet.</p><p>The EM&#8217;s job is to hold that awareness on their behalf.</p><p>The PR count is real. The engineer underneath it is the thing you&#8217;re actually managing.</p>]]></content:encoded></item><item><title><![CDATA[Why I'm Writing This Series]]></title><description><![CDATA[One engineering manager's signals from Kuala Lumpur.]]></description><link>https://www.pakaiotak.com/p/why-im-writing-this-series</link><guid isPermaLink="false">https://www.pakaiotak.com/p/why-im-writing-this-series</guid><dc:creator><![CDATA[PakaiOtak]]></dc:creator><pubDate>Tue, 19 May 2026 08:20:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OWZ6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OWZ6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OWZ6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 424w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 848w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 1272w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OWZ6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png" width="1456" height="977" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:977,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7340607,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://pakaiotak.substack.com/i/198233255?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OWZ6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 424w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 848w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 1272w, https://substackcdn.com/image/fetch/$s_!OWZ6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70eefac9-dde4-436e-9c72-411b06020b2b_2528x1696.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Earlier this year my boss asked me, mid-week, to weigh in on a decision that had nothing to do with code.</p><p>Not a product call. A question with legal weight attached. The kind where the right answer depends on context that most engineering management writing doesn&#8217;t account for.</p><p>I went looking for writing on how engineering managers handle this kind of decision. There isn&#8217;t any.</p><p>There is a whole canon of engineering management writing. It assumes your hardest Wednesday problem is a reorg or a missed sprint. Mine wasn&#8217;t.</p><p>Most engineering management writing assumes a context that doesn&#8217;t exist here.</p><p>Most of my problems do.</p><p>That canon assumes at-will employment, deep talent pools, no resident-director rule, no foreign-currency salary anchoring, no second passport quietly draining your senior bench every quarter toward Singapore or Australia. Those assumptions hold for the people writing. They don&#8217;t hold for me, and they don&#8217;t hold for the engineers I manage.</p><p>When the assumptions don&#8217;t translate, the advice doesn&#8217;t either. You can read a thousand words on <em>ownership in critical situations</em> and still not know what to do when the critical situation involves a regulator&#8217;s portal, a corporate secretary in another office, and a 72-hour window. The frameworks aren&#8217;t wrong. They&#8217;re out of frame.</p><p>So I&#8217;m going to write from inside the frame.</p><p>This series will be specific. Composite characters, blurred dates, names changed &#8212; but the moments are real ones from the chair. A senior engineer testing whether AI-assisted output survives code review. A skip-report whose growth arc nobody documented until it was almost too late. A hiring freeze whose math only makes sense once you know what the ringgit is doing against the dollar that month.</p><p>What I won&#8217;t write: five-bullet productivity lists, AI-hype takes you&#8217;ve read already, frameworks dressed up as insight. There is enough of that on this platform.</p><p>What I will write: roughly one piece a week on Substack, with names and details changed, because the people I write about deserve that much.</p><p>I&#8217;m not writing to teach. I&#8217;m writing to think, in public, in the hope that a few other EMs in Kuala Lumpur, Jakarta, Manila, Ho Chi Minh, and the rest of the region will recognise the shape of these problems and push back.</p><p>If the lens is useful, follow. The next one is about what happens when an engineer&#8217;s output doubles on paper and the review queue tells a different story.</p><p>Same chair, same frame, same week.</p>]]></content:encoded></item></channel></rss>