<?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>Wed, 17 Jun 2026 09:04:11 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[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 role="img" 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><title></title><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 role="img" 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><title></title><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 role="img" 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><title></title><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>