<?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[Technology Horizons - Insights & Ideas]]></title><description><![CDATA[Welcome to Vivek's Musings, where I share my thoughts and insights on the latest technology, software engineering trends, and other topics I like to dabble in.

As a technology enthusiast and software engineer, I am excited to share my knowledge]]></description><link>https://vivekkant.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!aNiQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89446b9e-ccc8-4179-b225-cc35055e4132_1280x1280.png</url><title>Technology Horizons - Insights &amp; Ideas</title><link>https://vivekkant.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 27 Jul 2026 19:24:02 GMT</lastBuildDate><atom:link href="https://vivekkant.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Vivek Kant]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[vivekkant@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[vivekkant@substack.com]]></itunes:email><itunes:name><![CDATA[Vivek Kant]]></itunes:name></itunes:owner><itunes:author><![CDATA[Vivek Kant]]></itunes:author><googleplay:owner><![CDATA[vivekkant@substack.com]]></googleplay:owner><googleplay:email><![CDATA[vivekkant@substack.com]]></googleplay:email><googleplay:author><![CDATA[Vivek Kant]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Cognitive Debt - The Debt You Can't See in the Code]]></title><description><![CDATA[Technical debt lives in the repo. Cognitive debt lives in your team's heads &#8212; as an absence.]]></description><link>https://vivekkant.substack.com/p/cognitive-debt-the-debt-you-cant</link><guid isPermaLink="false">https://vivekkant.substack.com/p/cognitive-debt-the-debt-you-cant</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 03 Jul 2026 12:07:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AKlC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The code is clean. It follows the style guide, the tests pass, CI is green, and it shipped on Friday without incident. There&#8217;s just one problem: nobody on your team can explain why it works.</p><p>&#8220;Nobody remembers&#8221; &#8212; that&#8217;s normal, six months after the fact. Nobody <em>ever knew</em>. The code was generated, reviewed at a glance, approved, and merged. The understanding was never built in the first place.</p><p>Itamar Friedman calls this <strong>cognitive debt</strong>, and his recent InfoWorld piece, <a href="https://www.infoworld.com/article/4183153/why-ai-coding-debt-is-different.html">Why AI coding debt is different</a>, is the best articulation I&#8217;ve seen of the problem. The scale is not hypothetical: Google has disclosed that AI now generates around 75% of its new code, and Meta has set internal targets for most engineers to have the majority of their committed code AI-generated by mid-2026. Whatever your organisation&#8217;s number is today, it&#8217;s going up.</p><p>Friedman names the disease well. This post is about the architecture of the cure &#8212; because I believe the answer is less about discipline and more about design.</p><h2>What is cognitive debt?</h2><p>Cognitive debt is the gap between code that <em>exists</em> and code that is <em>understood</em>.</p><p>That definition sounds abstract until you put it next to its older cousin. Technical debt and cognitive debt are not the same thing on a spectrum &#8212; they sit on entirely different axes. One is about the state of the code. The other is about the state of the team&#8217;s mental model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AKlC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AKlC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 424w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 848w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 1272w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AKlC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png" width="629" height="425" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaaa3c3d-6864-40db-ba98-8139066749db_629x425.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:425,&quot;width&quot;:629,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38802,&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://vivekkant.substack.com/i/204905288?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.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_!AKlC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 424w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 848w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.png 1272w, https://substackcdn.com/image/fetch/$s_!AKlC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaaa3c3d-6864-40db-ba98-8139066749db_629x425.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>Two things jump out of this matrix.</p><p>First, the dangerous quadrant is not the bottom-left. Everyone recognises a write-off when they see one; the ugliness is the warning label. The dangerous quadrant is the bottom-right, because it is visually indistinguishable from the top-right. Your dashboards, your linters, your code review tooling &#8212; all of them will tell you everything is fine.</p><p>Second, there&#8217;s a natural drift. Bottom-right decays into bottom-left. Code that nobody understands gets patched by people who don&#8217;t understand it, one urgent fix at a time, until it is neither clean nor comprehensible. Cognitive debt is how healthy-looking codebases become legacy systems &#8212; quietly, and faster than you think.</p><p>Here&#8217;s the mechanism, and it&#8217;s the sharpest insight in Friedman&#8217;s piece: when a human writes code, the typing is the <em>least</em> valuable output. The valuable output is everything that happened in the developer&#8217;s head along the way &#8212; the edge cases mentally simulated, the dependency trade-offs weighed, the three alternative designs considered and rejected. That reasoning is where institutional knowledge comes from. AI code generation delivers the artifact and skips the knowledge entirely.</p><p>We optimised for the artifact. The knowledge was the point.</p><h2>Why it occurs</h2><h3>The comprehension loop is severed</h3><p>Reviewing code is a fundamentally shallower cognitive act than writing it. When you author a function, you have simulated its failure modes before the first line compiles. When you review someone else&#8217;s 500-line diff, you are pattern-matching for anomalies. These are different mental operations, and only one of them builds a durable mental model.</p><p>For thirty years, this didn&#8217;t matter much because the author existed. Somebody on the team had an in-depth understanding of every line. Review was a <em>second</em> layer of comprehension, not the only one. AI generation removes the first layer and leaves review &#8212; the shallow layer &#8212; carrying the entire weight.</p><h3>LGTM economics</h3><p>Now put a rational developer in front of that 500-line PR. The AI produced it in three minutes. Genuinely understanding it &#8212; tracing the data flow, checking the edge cases, questioning the design &#8212; would take two hours. The tests pass. The code looks idiomatic. The sprint ends Thursday.</p><p>The individually rational choice is obvious, and it&#8217;s catastrophic at team scale. Every &#8220;LGTM&#8221; on code nobody deeply read is a small loan taken out against the team&#8217;s collective understanding.</p><p>The data says this is exactly what&#8217;s happening. GitClear&#8217;s analysis of hundreds of millions of changed lines found that duplicated code blocks of five-plus lines increased eightfold during 2024, while refactoring collapsed from about 25% of code changes to under 10%. And the DORA research found that a 25% increase in AI adoption correlates with a 7.2% <em>decrease</em> in delivery stability. We are shipping faster and understanding less, and the instruments are starting to show it.</p><h3>Vibe coding is 100% cognitive debt</h3><p>I want to be precise about this claim because it&#8217;s the strongest one in this post.</p><p>Most cognitive debt is erosion &#8212; understanding that existed and decayed, or partial understanding that was never deepened. Vibe coding is different in kind. Vibe coding is, <em>by definition</em>, shipping code you never intended to understand. You describe the outcome, accept what appears, run it, and iterate on the behaviour &#8212; never the comprehension.</p><p>There is no mental model decaying because no mental model was ever built. The debt isn&#8217;t accrued over time; it&#8217;s taken out in full at the moment of the merger. Bottom-right quadrant, by construction.</p><p>Let me be clear: this is fine for a weekend prototype, a throwaway script, a demo. I vibe-code utilities all the time. But in a production system, vibe coding is borrowing at maximum interest from day one &#8212; and as I argued in <a href="https://vivekkant.substack.com/p/the-rider-not-the-horse-why-coding">The Rider, Not the Horse</a>, the rider who never looks down at the horse eventually discovers, at speed, that he has no idea what he&#8217;s sitting on.</p><h2>Why this matters more than technical debt</h2><p>Three reasons, and I&#8217;ll keep this short because the stakes are simple.</p><p><strong>Cognitive debt has no early-warning system.</strong> Technical debt announces itself through friction &#8212; the module everyone dreads touching, the estimate that keeps tripling. Cognitive debt is silent right up until the incident. And then you&#8217;re reverse-engineering a black box at 2 a.m. while production burns, which is the most expensive possible time to be learning your own system.</p><p><strong>The first-change cliff.</strong> The first non-trivial modification to un-understood code routinely costs more than the original feature did. The AI wrote the feature in an afternoon; your team spends a week reconstructing the reasoning before they can safely change one branch of it. The velocity you gained at generation time gets repaid, with interest, at modification time.</p><p><strong>It&#8217;s now a competitive variable.</strong> Teams that preserve understanding while adopting AI get the velocity <em>and</em> the maintainability. Teams that don&#8217;t are building their next legacy system at 10x speed. Same tools, opposite outcomes. The reckoning, as Friedman puts it, arrives either way &#8212; the only choice is whether you pay now or pay compound interest later.</p><h2>How to address it: minimize, contain, verify, own</h2><p>The remedy isn&#8217;t one practice. It&#8217;s a chain: <strong>minimize</strong> what needs understanding, <strong>contain</strong> what&#8217;s generated, <strong>verify</strong> at generation speed, and <strong>own</strong> the logic that matters. Each link reduces the burden on the next.</p><h3>1. Minimize &#8212; framework-driven development</h3><p>The less novel the code the AI writes, the less there is to misunderstand.</p><p>Constrain generation to opinionated frameworks and well-worn idioms. On my stack, that means Spring Boot conventions: standard controller-service-repository shapes, standard configuration patterns, standard Kafka consumer setups. When the AI produces a REST controller that looks like every Spring controller your team has read for a decade, the cognitive debt on that code is near zero &#8212; the team&#8217;s mental model existed before the code did.</p><p>Framework conventions are <strong>pre-paid comprehension</strong>. Every line the AI generates inside a known idiom is a line nobody has to newly understand. The corollary: be most suspicious of AI output precisely where it&#8217;s most impressive &#8212; the clever, novel, bespoke solution is the one carrying the debt.</p><h3>2. Contain &#8212; clear layer boundaries with segregated domain logic</h3><p>Hexagonal architecture, clean architecture, ports-and-adapters &#8212; pick your flavour. These were always good ideas. In the AI era, they get a new job title: <strong>cognitive debt containment</strong>.</p><p>The principle: let AI-generated plumbing live in the adapters and infrastructure layers, and keep your domain logic segregated, small, and human-comprehended. The insight this unlocks is that you don&#8217;t need to understand every line in the system. You need to <em>fully</em> understand the domain core and merely <em>trust</em> the boundaries around everything else.</p><p>An adapter that maps a REST payload to a domain object can be trusted and tested. The interest-calculation rule at the heart of a lending platform cannot &#8212; it must be understood. Architecture is what makes that distinction enforceable rather than aspirational. Good boundaries shrink the surface area that steps 3 and 4 have to cover.</p><h3>3. Verify &#8212; a verification loop at generation velocity</h3><p>Friedman&#8217;s sharpest industry observation: nearly all the investment has gone into code <em>generation</em>, and almost none into <em>verification</em>. We built a blue team with no red team. The evidence that this matters is striking &#8212; in his data, teams that integrated AI into code review saw quality improvements in 81% of cases, versus 55% for teams using AI for generation alone.</p><p>But verification has to mean more than &#8220;the tests pass.&#8221; Passing tests is table stakes; it verifies behaviour, not comprehension and not structure. A real verification loop, running at the same speed as generation, checks:</p><ul><li><p><strong>Architectural conformance</strong> &#8212; does this change respect the layer boundaries from step 2? (Tools like ArchUnit make this a failing build, not a review comment.)</p></li><li><p><strong>Standards enforcement</strong> &#8212; does generated code follow the team&#8217;s idioms from step 1, or has the AI invented a fourth way to do configuration?</p></li><li><p><strong>Traceability</strong> &#8212; can every change be traced to a requirement? Code with no articulable reason to exist is cognitive debt in its purest form.</p></li></ul><p>If generation is automated and verification is manual, verification loses. Every time. The loop must run at machine speed.</p><h3>4. Own &#8212; every piece of business logic verified by a human who owns it</h3><p>This is the non-negotiable and the last link in the chain.</p><p>Infrastructure code can be trusted and tested. Business logic must be <strong>understood</strong> &#8212; by a specific, named human. My working rule: every business rule in production needs someone who can explain it without opening the file. Not &#8220;the team owns it.&#8221; A name. Collective ownership of comprehension is how comprehension quietly becomes nobody&#8217;s job.</p><p>The practical mechanism that makes this survivable at AI velocity: <strong>tests as executable specifications of intent</strong>. If your test suite expresses the business behaviour in readable, domain-language form &#8212; given a floating-rate loan, when the benchmark resets mid-cycle, then interest accrues from the reset date &#8212; comprehension survives even when the implementation underneath is machine-generated and machine-regenerated. The AI can rewrite the <em>how</em> every week; the humans own the <em>what</em> and the <em>why</em>.</p><p>Now walk the chain backwards and notice why it works. Ownership (4) is tractable only because verification (3) catches drift automatically. Verification is tractable only because containment (2) shrank the surface that needs deep checking. Containment works only because minimization (1) reduced the novelty in the first place. Skip a link, and the next one collapses under the volume.</p><h2>The debt you re-learn</h2><p>Here is the reframe I&#8217;d leave you with: AI didn&#8217;t create a code-quality problem. The code, by most measurable standards, is fine &#8212; often better than what a rushed human would write. AI created a <strong>knowledge-distribution problem</strong>. The code is in the repo. The understanding is nowhere.</p><p>Technical debt you refactor. Cognitive debt you re-learn &#8212; and re-learning your own system during a production incident is the most expensive education there is.</p><div><hr></div><p><em>This post builds on Itamar Friedman&#8217;s <a href="https://www.infoworld.com/article/4183153/why-ai-coding-debt-is-different.html">Why AI coding debt is different</a> (InfoWorld). The prescriptions are mine; argue with me in the comments.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Architects in the Age of AI: Concepts vs. Tech]]></title><description><![CDATA[Why deep thinking now beats deep technical knowledge]]></description><link>https://vivekkant.substack.com/p/architects-in-the-age-of-ai-concepts</link><guid isPermaLink="false">https://vivekkant.substack.com/p/architects-in-the-age-of-ai-concepts</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Mon, 15 Jun 2026 07:01:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ihXU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI can now write the concurrency-safe code I spent many years learning to get right &#8212; a flawless lock-free queue, a correct retry-with-backoff, a memory-model-aware bit of Java that would have taken me an afternoon and a coffee. And then, without blinking, it will build me a beautifully implemented monolith when what I actually needed was a distributed system.</p><p>That gap is the whole story. The skill that matters has shifted &#8212; but not in the direction most people assume. Everyone is anxious about losing their technical edge. Fewer notice the edge has moved somewhere else entirely.</p><p>My thesis, plainly: <strong>in the AI age, the architect&#8217;s value migrates </strong><em><strong>up</strong></em><strong> the abstraction stack.</strong> Deep conceptual thinking &#8212; knowing <em>what</em> to build and <em>why</em> a structure holds &#8212; becomes the differentiator. Technical knowledge doesn&#8217;t disappear, but its job changes: it stops being how you <em>produce</em> implementations and becomes how you <em>verify and correct</em> what AI produces. You no longer need to write the Java memory model from memory. You need to recognize, instantly, when AI has gotten it wrong.</p><h2>The Two Dimensions</h2><p>I think about an architect&#8217;s capability along two axes. One is <strong>Concepts &amp; Abstraction</strong> &#8212; the ability to reason about structure. The other is <strong>Technology Depth</strong> &#8212; knowledge of the specifics. They aren&#8217;t the same thing, and AI is pulling them apart faster than ever.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ihXU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ihXU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 424w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 848w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 1272w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ihXU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png" width="1025" height="831" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:831,&quot;width&quot;:1025,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117540,&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://vivekkant.substack.com/i/202085939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.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_!ihXU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 424w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 848w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.png 1272w, https://substackcdn.com/image/fetch/$s_!ihXU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd103afd3-0e67-4c86-a4b2-81bf0224e65b_1025x831.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><h3>Concepts &amp; Abstraction</h3><p>The stuff that doesn&#8217;t compile: cohesion and coupling, architecture patterns, design patterns, and above all, the ability to think abstractly about a system before a line of it exists.</p><p>What makes this treacherous is that abstraction errors are <em>silent and expensive</em>. A wrong technical choice announces itself &#8212; the build breaks, the benchmark tanks. A wrong abstraction stays quiet. A bad service boundary, a leaky module, a misapplied pattern &#8212; none of them errors out. It surfaces months later as rigidity: the feature that should take a day takes three weeks because the seams are in the wrong places. You don&#8217;t pay for bad abstraction up front; you pay interest on it forever &#8212; the purest form of technical debt, the kind no refactor sprint ever clears.</p><p>This dimension matters <em>more</em> in the AI age, not less, because <strong>AI is a force multiplier on whatever design you hand it.</strong> Give it a clean abstraction, and it builds fast and well. Give it a muddled one, and it scales the mess with terrifying efficiency. AI is the world&#8217;s fastest builder and has no opinion on whether the building should exist. The human owns the design intent.</p><p>And the strength is durable. Cohesion and coupling don&#8217;t get deprecated; patterns transfer across languages, decades, and paradigm shifts. The limit: abstraction without grounding becomes ivory-tower architecture &#8212; clean diagrams that don&#8217;t survive contact with a real system.</p><h3>Technology Depth</h3><p>The concrete knowledge: the specific database, language, and framework in each layer. The genuinely hard internals &#8212; the Java memory model, how concurrency behaves under load. The techniques for systems that have to be fast and correct at the same time.</p><p>For most of my career, <em>this was the bottleneck.</em> Only people who knew the internals could ship correct, performant code. Depth was the moat &#8212; scarce, hard-won, where reputations were made.</p><p>AI has quietly absorbed most of the <em>production</em> side of this. The race condition it won&#8217;t write, the backoff it gets right, the query it structures well &#8212; that knowledge is now commoditized at the point of generation.</p><p>What survives is the <em>judgment</em> side: reading AI&#8217;s output and catching the subtle failure &#8212; the race condition it <em>did</em> introduce, the N+1 query hiding behind clean-looking code, the wrong consistency model that works in the demo and corrupts data in production. Technology depth stops being a <em>generative</em> skill and becomes a <em>verification</em> skill. It&#8217;s still real, but it depreciates fastest &#8212; and it carries a peculiar danger: it can calcify into an identity that resists the very shift underway.</p><h2>&#8220;Kafka Expert&#8221; vs. &#8220;Distributed Messaging Expert&#8221;</h2><p>This contrast is small, and it changes everything.</p><p>Call yourself a <strong>&#8220;Kafka expert,&#8221;</strong> and you&#8217;ve tied your value to an artifact &#8212; the configs, the rebalancing quirks, the consumer-group semantics, the failure modes of one specific tool. Valuable, until the tool changes, the company migrates, or AI memorizes every Kafka config ever written better than you can. Your expertise is <em>indexed to a technology</em>, and technologies are exactly what AI swallows whole. A &#8220;Kafka expert&#8221; is one stack migration away from starting over.</p><p>Call yourself a <strong>&#8220;distributed messaging expert,&#8221;</strong> and you&#8217;ve tied your value to a <em>concept</em> &#8212; delivery guarantees, ordering, idempotency, backpressure, the tradeoffs between throughput and latency, why exactly-once is a beautiful lie most of the time. Kafka is just your <em>current instantiation</em> of that understanding. Hand you RabbitMQ, Pulsar, or whatever replaces them in 2030, and you&#8217;re productive in a week, because you already know the shape of the problem. You&#8217;re reasoning from the physics, not the manual.</p><p>Same engineer, two completely different assets. One depreciates as AI commoditizes it; the other appreciates, because now you can direct AI across any messaging tech and still catch it when it&#8217;s wrong. The depth didn&#8217;t become worthless &#8212; <strong>its framing decides whether it appreciates or depreciates.</strong> Anchor it to concepts, and your tech knowledge becomes evidence of understanding. Anchor it to a tool, and it becomes a countdown.</p><h2>The 2&#215;2 and the Four Archetypes</h2><p>Put the dimensions on a grid: <strong>Concepts &amp; Abstraction</strong> low to high up the vertical, <strong>Technology Depth</strong> low to high across the horizontal. Four quadrants, four kinds of architect &#8212; and the AI age treats each very differently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GLKi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GLKi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 424w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 848w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 1272w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GLKi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png" width="975" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:975,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:156478,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/202085939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.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_!GLKi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 424w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 848w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 1272w, https://substackcdn.com/image/fetch/$s_!GLKi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fad4865-880c-4d15-9fe5-18a8716442b6_975x824.png 1456w" sizes="100vw" loading="lazy"></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><h3>Low Concepts / Low Tech &#8212; &#8220;The Coordinator&#8221;</h3><p>Substance from neither design nor implementation. Value is in process, ceremony, status-chasing, and delegation. The standup runs on time; the architecture doesn&#8217;t exist. This is also where the vibe coders live &#8212; shipping AI-generated features that demo beautifully and fail spectacularly in production, because nobody in the loop understood the design or the implementation well enough to see it coming.</p><p><strong>*Opportunity</strong>:* AI tooling can scaffold real competence; a Coordinator who uses the breathing room to invest in concepts has a path upward.</p><p><strong>*Challenge</strong>:<em> the most exposed quadrant, full stop. Coordination-only roles are the first thing AI-augmented teams erode. The only move is </em>up* into real conceptual work &#8212; not sideways into more process.</p><h3>Low Concepts / High Tech &#8212; &#8220;The Specialist&#8221;</h3><p>Deep in a stack, excellent at the genuinely hard problems, but thinks bottom-up and struggles at the system level. The Kafka expert who can tune anything but can&#8217;t tell you whether you should be using messaging here at all.</p><p>This is the <strong>ghostbuster.</strong> When AI confidently ships something subtly broken &#8212; the deadlock, the silent data race, the performance cliff at scale &#8212; the Specialist is who you call. They see the ghost that everyone else, AI included, walked right past. But notice the shape of that role: you call a ghostbuster when something&#8217;s haunted, not to run the house. They&#8217;re the emergency number, not the daily driver &#8212; indispensable for the hour the incident lasts, idle the rest of the week. Real and durable, and also narrow.</p><p><em>Opportunity:</em> the trusted <em>corrector</em> of AI, the verification layer that the thesis depends on. There will always be a tier of &#8220;AI got this wrong and only a human with real depth can see why.&#8221;</p><p><em>Challenge:</em> their core <em>production</em> skill is precisely what AI automates first. The trap is comfort &#8212; ghostbusting is satisfying, and it pays, so it&#8217;s easy to stay while the ground narrows. The Specialist who reframes from &#8220;Kafka expert&#8221; to &#8220;distributed messaging expert&#8221; is quietly migrating <em>up</em> the grid. The one who doesn&#8217;t gets pigeonholed at the edges.</p><h3>High Concepts / Low Tech &#8212; &#8220;The Strategist&#8221;</h3><p>Strong on patterns, boundaries, and design reasoning; light on implementation reality. Draws the right system, can&#8217;t always tell whether it was built right.</p><p><em>Opportunity:</em> On paper, best positioned for the thesis. AI handles implementation; the Strategist supplies the design intent AI lacks, and AI even <em>backfills</em> their technical gaps on demand.</p><p><em>Challenge:</em> Without enough grounding, they can&#8217;t tell when AI&#8217;s implementation quietly betrays the design. The diagram says &#8220;eventually consistent&#8221;; the generated code says &#8220;lost updates&#8221;; the Strategist can&#8217;t see the difference. They need <em>enough</em> depth to verify &#8212; the mirror image of what the Specialist needs.</p><h3>High Concepts / High Tech &#8212; &#8220;The Master Architect&#8221;</h3><p>Strong design reasoning <em>and</em> enough technical depth to verify and correct. Designs at the top of the stack, verified at the bottom, use AI to collapse everything in between.</p><p><em>Opportunity:</em> the clear winner. This is where AI multiplies hardest &#8212; design intent flowing down, verification flowing back up, the expensive middle automated. This is who becomes the 100x engineer, and the founder who builds a real company as a team of one, not by cutting corners, but by owning both the design and the verification that a whole org used to provide.</p><p><em>Challenge:</em> rare and hard to sustain. Keeping technical depth <em>current</em> while operating at the abstraction layer takes deliberate effort &#8212; depth decays the moment you stop using it. The risk is degrading into a Strategist who <em>thinks</em> they can still verify.</p><h2>The Takeaway</h2><p>One trajectory worth internalizing: <strong>invest heavily in concepts and abstraction &#8212; the durable, appreciating asset &#8212; and keep technology depth as a verification capability, not a production one.</strong></p><p>The safe move on the grid is <em>up and to the right, toward judgment</em> &#8212; not deeper into pure implementation. Depth still matters enormously, but its purpose has changed: you keep it sharp to <em>catch AI</em>, not to <em>replace AI</em>. The architect who understands that &#8212; and who describes themselves in concepts rather than tools &#8212; is positioned to win the decade.</p><p>AI raised the floor on implementation. The ceiling is now set entirely by how well you think.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Rider, Not the Horse: Why Coding with AI Is About You, Not the Tool]]></title><description><![CDATA[The frontier models keep getting better. The interesting question is whether you know how to ride them.]]></description><link>https://vivekkant.substack.com/p/the-rider-not-the-horse-why-coding</link><guid isPermaLink="false">https://vivekkant.substack.com/p/the-rider-not-the-horse-why-coding</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 29 May 2026 00:30:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gEus!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a recent paper on arXiv by Tao An &#8212; <em><a href="https://arxiv.org/html/2512.10961v1?ref=grigio.org">AI as Cognitive Amplifier: Rethinking Human Judgment in the Age of Generative AI</a></em> &#8212; that puts a name to something every honest practitioner has noticed. Same AI tool. Same prompts, more or less. Wildly different output quality. The variable is not the model. It&#8217;s the human in front of it.</p><p>The paper&#8217;s thesis, in one line: <strong>AI doesn&#8217;t substitute for human capability. It amplifies it.</strong> And like any amplifier, it magnifies whatever you feed in &#8212; signal or noise, expertise or confusion, taste or the absence of it.</p><p>I see this every working day. I spend four to five hours coding with Claude. I watch other developers do the same. And the cleanest analogy I&#8217;ve found for what&#8217;s actually going on isn&#8217;t from tech at all. It&#8217;s from equestrian sport.</p><h2>The Horse and the Rider</h2><p>In show jumping or dressage, the horse matters. Bloodline, conditioning, training &#8212; a bad horse can&#8217;t win. But put a world-class horse under an average rider, and you get an average round. Put an ordinary horse under an Olympic rider, and it punches above its grade.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gEus!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gEus!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gEus!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gEus!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gEus!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gEus!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2065503,&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://vivekkant.substack.com/i/199443042?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.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_!gEus!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gEus!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gEus!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gEus!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2edbd8bf-6779-4d7e-bcb9-7f128821364f_1672x941.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>The horse supplies power, reach, and athleticism. The rider supplies the line, timing, distribution of weight, the read of when to push and when to hold. The horse can jump. Only the rider knows which jump, in what order, and at what pace.</p><p>This is exactly the relationship between a developer and an AI coding assistant. Claude, Copilot, Cursor &#8212; these are very good horses now. Genuinely impressive animals. And precisely because the horses are so good, the differentiation has moved entirely to the rider.</p><p>One more thing about horses: they will gallop in the wrong direction with full enthusiasm if the rider points them there. So will an LLM. Hold that thought.</p><h2>What the Paper Actually Says &#8212; Translated to Code</h2><p>The paper identifies three layers where humans contribute to AI-assisted work. Mapped to coding, they look like this:</p><p><strong>Problem definition.</strong> Knowing what to actually build. Where it fits in the system. Which constraints are real and which are negotiable? The AI cannot do this for you &#8212; it can only respond to what you frame.</p><p><strong>Quality evaluation.</strong> Reading generated code and knowing whether it&#8217;s right, subtly wrong, or right-but-dangerous. This is the single biggest bottleneck I see in practice. Most developers cannot evaluate AI output well, because evaluation requires the very domain knowledge they were hoping the AI would substitute for.</p><p><strong>Iterative refinement.</strong> Giving the AI the precise correction that moves it forward &#8212; not vague displeasure, not &#8220;make it better,&#8221; but a surgical pointer to what&#8217;s wrong and why.</p><p>There&#8217;s a fourth layer the paper doesn&#8217;t quite name, but it matters as much as the other three: <strong>knowing when not to use AI at all.</strong></p><p>For some code, you&#8217;ll get a more accurate result writing it yourself than prompting your way to it &#8212; tricky domain logic, a subtle state machine, anything where the thinking <em>is</em> the work. AI output in those moments doesn&#8217;t accelerate your thinking; it contaminates it. </p><p>You end up reviewing someone else&#8217;s plausible-looking answer instead of arriving at your own correct one.</p><p>Just as a good rider knows when to dismount and walk, a good coder knows when to close the chat window and type. That judgment call is invisible to anyone measuring &#8220;AI adoption&#8221; by tokens consumed &#8212; but it&#8217;s where a lot of the quality lives.</p><p>The paper&#8217;s three engagement levels &#8212; passive acceptance, iterative collaboration, and cognitive direction &#8212; map cleanly onto what I see in the wild. Most developers are stuck at the first two levels and believe their problem is the prompting technique. It isn&#8217;t. It&#8217;s riding.</p><h2>Vibe Coding Is Passive Acceptance, Dressed Up</h2><p>&#8220;Vibe coding&#8221; &#8212; describing what you want in English and shipping whatever appears &#8212; is the paper&#8217;s Level 1 with a friendlier name.</p><p>For a prototype, a throwaway, a weekend hack, a demo for a pitch deck &#8212; this is fine. Genuinely fine. The cost of being wrong is low. The speed gain is real. Ship the vibe, learn the lesson, move on.</p><p>For production code &#8212; code that handles money, runs at 2 a.m., gets audited, supports real users &#8212; vibe coding is a liability. &#8220;It works, and I don&#8217;t know why&#8221; is not a state any serious engineering organization should be shipping in. The horse jumped the wall. You don&#8217;t know how. Next time, it won&#8217;t.</p><p>The mistake isn&#8217;t vibe coding. The mistake is not knowing which mode you&#8217;re in.</p><h2>The Context Gap, Amplified</h2><p>I <a href="https://vivekkant.substack.com/p/the-context-gap-what-your-ai-coding">wrote earlier</a> about the context gap &#8212; the fact that AI doesn&#8217;t have your domain rules, your tech debt map, or your institutional memory. The rider supplies all of that. The cognitive amplifier framing makes this sharper.</p><p>A senior developer reading AI-generated code sees not just the code but everything the AI couldn&#8217;t have known &#8212; the regulator&#8217;s interpretation that shaped the calculation, the vendor that sends malformed responses at month-end, the module everyone touches only on Fridays after extensive regression testing.</p><p>A junior developer reads the same output and sees clean, plausible code. Accepts it. Ships it. Production finds the gap later.</p><p>That&#8217;s the amplifier in action. The senior&#8217;s context gets amplified into leverage. The junior&#8217;s gaps get amplified into incidents.</p><h2>The Sycophancy Trap</h2><p>The paper highlights a quietly dangerous behaviour in LLMs: sycophancy. Near 100% compliance rates with logically flawed requests. Dramatic overweighting of user pushback &#8212; about 2.5 times stronger than rational updating would justify. Models abandon correct answers under pressure.</p><p>In coding, this looks like: &#8220;this isn&#8217;t working.&#8221; &#8594; AI rewrites perfectly fine code. &#8220;Make it more robust.&#8221; &#8594; AI adds defensive layers around a non-problem. &#8220;Use a different approach.&#8221; &#8594; AI throws away the right answer in favour of a worse one.</p><p>The expert leverages this productively. Precise, domain-grounded corrections converge fast. The novice destroys their own output with vague dissatisfaction &#8212; driving the model deeper into confident mediocrity, one round at a time.</p><p>The horse will jump whatever you point it at. Including the wall.</p><h2>How to Ride Well</h2><p>Practical suggestions, from someone who codes with AI every day.</p><p><strong>1. Invest in the codebase, not the prompt library.</strong> The biggest leverage isn&#8217;t a better prompt &#8212; it&#8217;s giving the AI the context only your team has. Architecture Decision Records that explain <em>why</em>. Decision logs. Domain glossaries. CLAUDE.md files. Make your institutional memory machine-readable.</p><p><strong>2. Know which mode you&#8217;re in.</strong> Prototype mode: vibe code freely. Production mode: review every line, own every line. The mistake is confusing the two.</p><p><strong>3. Know when to put the AI down and type.</strong> If you&#8217;ve spent fifteen minutes prompting and re-prompting for a function you could have written in ten, you&#8217;ve already lost. Hand-coding the gnarly five percent is faster, cleaner, and keeps your own skills sharp.</p><p><strong>4. Match autonomy to risk.</strong> Auto-accept on tests, scaffolding, and boilerplate. Hands-on the reins for payment logic, auth, anything with money or regulators attached. Uniform AI speed across a non-uniform risk surface is how outages happen.</p><p><strong>5. When something is wrong, be specific.</strong> Not &#8220;this doesn&#8217;t work.&#8221; Try: &#8220;the null check on line 14 will throw on the month-end batch because the vendor sends empty strings, not nulls.&#8221; Precision in correction is what separates a Level 3 rider from a Level 1 one.</p><p><strong>6. Refuse to outsource judgment, even when you can.</strong> Architecture, tradeoffs, what to build next &#8212; these are rider decisions. The horse doesn&#8217;t get a vote.</p><p><strong>7. For juniors: write code without AI sometimes.</strong> Often, actually. Otherwise, the riding muscles never develop. You can&#8217;t direct what you&#8217;ve never done.</p><h2>The Quiet Truth</h2><p>The horse keeps getting better. The frontier models will keep getting better. That&#8217;s not the interesting variable anymore.</p><p>The interesting variable is whether you can ride. Whether you know the course, can read the line, can correct mid-stride, can tell the difference between a clean round and a knockdown the judges haven&#8217;t called yet, and can tell when to dismount and walk the next section on your own.</p><p>The AI hype cycle has spent three years selling better horses. The quiet truth is that the riders who were already good are pulling further ahead. And the ones who never learned to ride are falling behind, faster.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Standup Is Not The Work]]></title><description><![CDATA[How Indian IT learned to worship the ceremony and forgot the craft]]></description><link>https://vivekkant.substack.com/p/the-standup-is-not-the-work</link><guid isPermaLink="false">https://vivekkant.substack.com/p/the-standup-is-not-the-work</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 15 May 2026 00:30:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mwmj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I once sat in a project review where the dashboard was a wall of green.</p><p>Burndown charts are trending nicely. Velocity stable across three sprints. Standup attendance at 98%. The Scrum Master walked us through it with quiet pride.</p><p>The feature had not shipped. It had not shipped the sprint before either.</p><p>Nobody in the room could quite explain what was blocking it. But everyone could tell you exactly how many story points had been carried over.</p><p>If you&#8217;ve worked in Indian IT for more than five years, you have sat in this meeting. You have probably sat in it this week.</p><p>Somewhere along the way, the ceremony became more important than the thing the ceremony was supposed to serve. The standup became the work. The sprint board became the work. The audit trail became the work.</p><p>The actual work &#8212; the feature, the fix, the system that does the thing the customer pays for &#8212; became almost incidental.</p><p><a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">This is the lost art of engineering excellence, which I talked about in my earlier blog</a>. Process worship is what killed it.</p><h2>The 2x2 nobody wants to draw</h2><p>Plot engineers on two axes: process compliance and outcome delivery. You get four quadrants.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mwmj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mwmj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 424w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 848w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mwmj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png" width="1360" height="1120" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1120,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74549,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/197657847?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.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_!mwmj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 424w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 848w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!mwmj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb3791b6-071f-4bf6-9556-5d37a440e140_1360x1120.png 1456w" sizes="100vw" loading="lazy"></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><ul><li><p><strong>The Craftsperson</strong> &#8212; follows the process, delivers the outcome</p></li><li><p><strong>The Compliant</strong> &#8212; follows the process, doesn&#8217;t deliver the outcome</p></li><li><p><strong>The Cowboy</strong> &#8212; ignores the process, delivers the outcome</p></li><li><p><strong>The Passenger</strong> &#8212; does neither</p></li></ul><p>Everyone reading this can name three people in each quadrant from memory. That&#8217;s not the interesting part.</p><p>The interesting part is which quadrants get rewarded.</p><p>In most Indian IT organizations, the ranking goes: Craftsperson, Compliant, Passenger, Cowboy.</p><p>Read that again. The Cowboy &#8212; who actually delivers &#8212; ranks <em>below</em> the Passenger, who delivers nothing but attends every ceremony. The Compliant, who has never shipped a feature on time, gets promoted ahead of the Cowboy, who ships every sprint.</p><p>How did we get here?</p><h2>The original sin: CMMI as a sales credential</h2><p>Indian IT did not stumble into process worship. We built our entire industry on it.</p><p>In the 1990s, when a CIO in New Jersey was deciding whether to send work to Bangalore or keep it in Newark, the question wasn&#8217;t whether the Indian engineers were good. It was whether they were <em>predictable</em>.</p><p>CMMI Level 5. ISO 9001. Six Sigma Black Belts. These were never quality frameworks. They were trust signals. A way of telling skeptical Western buyers: <em>we have processes, we have documentation, we have audit trails, you can trust us with your maintenance contracts.</em></p><p>It worked spectacularly. The Indian IT industry grew into a 250-billion-dollar business on the back of process certifications.</p><p>Two things were true at the same time, and we have spent thirty years pretending only one of them was: the certifications got us the contracts, <em>and</em> the certifications had almost nothing to do with whether the actual work was any good.</p><p>CMMI assessments were performed. Audit weeks were theatre. Every engineer who lived through one remembers the frantic backfilling of documentation the night before the auditor arrived.</p><p>The frameworks credentialed us. They did not improve us.</p><p>Then the second sin compounded the first. Most of the work was Time &amp; Material. There was no accountability for the outcome because the outcome wasn&#8217;t what we were selling. We were selling hours. Hours billed against a process-compliant SDLC. The longer a project ran, the better &#8212; for everyone except the client.</p><p>When your business model rewards process compliance and bills by the hour, you optimize for engineers who comply with the process and consume hours. That is the workforce we built. That is the workforce we still have.</p><h2>The Scrum Master who never wrote code</h2><p>Then Agile arrived, and we did to it what we do to everything. We turned it into a ceremony.</p><p>A Scrum Master, in any reasonable reading of the Agile Manifesto, is a part-time role for a working engineer. In Indian IT, it became a full-time job. Sometimes a career track.</p><p>We have Scrum Masters with seven years of Scrum Master experience who have not written production code in any of them. We have Agile Coaches coaching teams whose problems have nothing to do with Agile. We have Release Train Engineers running SAFe ceremonies for projects that ship twice a year.</p><p>This is the lost art. Engineering excellence is not a process artifact. It is the residue of people who care about the craft doing the work.</p><p>When you spend fifteen years measuring engineers on ceremony attendance instead of code quality, you produce engineers who are excellent at ceremony attendance and mediocre at engineering. We did this to ourselves.</p><h2>The measurement problem</h2><p>Why do managers keep doing this, even when they can see it isn&#8217;t working?</p><p>Because the process is observable in real-time and outcomes are not.</p><p>A standup happens every day. A Jira board updates every hour. A burndown chart refreshes itself. The business impact of a feature &#8212; did customers use it, did it move a metric, did it create or pay down debt &#8212; shows up in a quarterly review nobody reads, if it shows up at all.</p><p>Managers optimize for what they can see in a 1:1. In Indian IT, this is compounded by a project management layer whose own performance is measured on &#8212; you guessed it &#8212; process compliance.</p><p>The PM&#8217;s incentive is for the team to look compliant, not to deliver outcomes. Everyone in the chain is optimizing for the same wrong thing.</p><h2>Handling the four archetypes</h2><p>The four archetypes need different things, in a specific order. Getting the order wrong makes everything worse.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VQqI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VQqI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 424w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 848w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VQqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png" width="1360" height="1120" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1120,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129085,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/197657847?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.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_!VQqI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 424w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 848w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!VQqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb701e00-342f-4148-bcde-8d9d57bc842e_1360x1120.png 1456w" sizes="100vw" loading="lazy"></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><h3>Find your Craftspeople first</h3><p>Before anything else, identify the people who actually deliver outcomes and follow enough process to keep the team functioning. Then:</p><ul><li><p>Make them visible. Set them as role models.</p></li><li><p>Build coaching into their job description.</p></li><li><p>Reduce their delivery load to create space for it.</p></li><li><p>Stop rewarding them with more process &#8212; more reviews, more reporting, more ceremonies. That is not a reward.</p></li><li><p>Protect their calendar. They are the cultural anchor.</p></li></ul><h3>Measure the Compliant on outcomes</h3><p>The Compliant are not lazy. They have been trained, often for years, that process <em>is</em> the outcome. The fix:</p><ul><li><p>Give them ownership of something small and end-to-end.</p></li><li><p>Judge them on whether it worked, not whether the burndown chart looked pretty.</p></li><li><p>Pair them with a Craftsperson, never with another Compliant.</p></li><li><p>Accept that some will rise into Craftspeople and some will reveal themselves as Passengers. Both outcomes are useful.</p></li></ul><p>The status quo &#8212; leaving them in permanent process-compliant non-delivery &#8212; is the only bad option.</p><h3>Listen to the Cowboy before you tame them</h3><p>This is the reframe most managers miss. Cowboys don&#8217;t ignore the process because they are rebels. They ignore it because they can&#8217;t see the value in it.</p><p>Nine times out of ten, <em>they are right</em>.</p><ul><li><p>The Cowboy who skips the daily standup is usually skipping a standup that should have been a Slack message.</p></li><li><p>The Cowboy who doesn&#8217;t update Jira is usually working in a system where Jira updates are theatre disconnected from the actual work.</p></li><li><p>Before forcing compliance, ask whether the process the Cowboy is skipping delivers value to anyone.</p></li><li><p>If it doesn&#8217;t, simplify or remove it.</p></li><li><p>If it does, explain the value. Good Cowboys will comply when the value is real.</p></li></ul><p>Cowboys are diagnostic signals. They tell you which parts of your process are load-bearing and which parts are ritual.</p><h3>The Passenger needs sequencing, not pressure</h3><p>Every Indian IT org has Passengers, and everyone knows who they are. They survive because of bench economics, attrition anxiety, and performance systems that measure compliance, which Passengers are often excellent at faking.</p><p>You cannot fix a Passenger by demanding process and outcome at the same time. The two-front war fails every time. Do it in order:</p><ul><li><p><strong>Step 1:</strong> Push them to genuine process compliance. Not theatre. Actual standup participation, actual ticket updates, actual code reviews.</p></li><li><p><strong>Step 2:</strong> Once they&#8217;ve moved into the Compliant quadrant, apply the Compliant playbook. Give them an outcome. Measure them on it.</p></li></ul><p>Most Passengers will resist Step 1, and that resistance is the signal. Those who never make it past Step 1 have answered your question for you.</p><p>The organization has to be willing to act on the answer. Most Indian IT orgs are not. That is its own problem, and it is the one we have spent thirty years refusing to solve.</p><h2>The work is the work</h2><p>Process exists to serve outcomes. When it stops doing that, it becomes a tax on the people who deliver and a hiding place for the people who don&#8217;t.</p><p>The standup is not the work. The sprint board is not the work. The CMMI audit is not the work. The Scrum Master with seven years of Scrum Master experience is not the work.</p><p>The work is the work. We used to know that.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Why I Still Code at 50 (And Why It Makes Me a Better CTO)]]></title><description><![CDATA[Why the captains who can still ride a horse will lead the next decade]]></description><link>https://vivekkant.substack.com/p/why-i-still-code-at-50-and-why-it</link><guid isPermaLink="false">https://vivekkant.substack.com/p/why-i-still-code-at-50-and-why-it</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 08 May 2026 00:31:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cMLT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am 50 years old. I have a CTO title, 27 years across consulting and enterprise technology, and a calendar that could easily be filled with meetings from morning to night.</p><p>I still code 3-4 hours a day.</p><p>Most people in my position stopped coding a decade ago. The conventional advice is clear: as you become senior, you &#8220;graduate&#8221; from writing code to writing strategy. You move from IDEs to slide decks. You delegate the keyboard.</p><p>I think this advice is wrong. And in the age of AI coding tools, it is becoming dangerously wrong.</p><p><a href="https://x.com/elonmusk/status/1522609829553971200">Elon Musk put it sharply on X:</a></p><blockquote><p><em>&#8220;I strongly believe that all managers in a technical area must be technically excellent. Managers in software must write great software or it&#8217;s like being a cavalry captain who can&#8217;t ride a horse!&#8221;</em></p></blockquote><p>The cavalry captain line is hard to argue with. And yet most of Indian IT is run by exactly those captains&#8212;people who can describe the battle eloquently in PowerPoint, but who haven&#8217;t been on a horse in years.</p><p>This post is about why I&#8217;m still on the horse.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cMLT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cMLT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cMLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2237758,&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://vivekkant.substack.com/i/196767191?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.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_!cMLT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!cMLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c54ed1d-37e5-4cd2-8e68-e416cbefea50_1672x941.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><h2>The Indian IT Context</h2><p>The pyramid model that built Indian IT assumed&#8212;indeed required&#8212;that senior people stop building. Architects architected. Project managers managed. The actual code was written by people five, ten, or fifteen levels below them.</p><p>Over time, this created a generation of what I call PowerPoint architects. People who could draw beautiful boxes and arrows on a slide, but who couldn&#8217;t tell you whether the design would actually work when deployed.</p><p>For a long time, this worked&#8212;because the gap between drawing the box and building the box was navigable. That equilibrium is now breaking down. AI coding tools have widened the gap between those who deploy working systems and those who only talk about them. The people closest to the code are getting 3x, 5x, sometimes 10x more productive. The people furthest from the code are still producing the same slides at the same rate.</p><p>If you stopped coding ten years ago, you are not just rusty. You are making strategic decisions about a craft that has fundamentally changed underneath you.</p><h2>What Coding Daily Actually Gives Me as a CTO</h2><p><strong>Better technical decisions.</strong> Last month, I had to choose between two AI models for an agentic workflow. Cost differed. Latency differed. Reasoning quality was harder to measure.</p><p>This is not a decision I could have made from a slide deck. I needed to feel the failure modes&#8212;where the cheaper model gave up, where the expensive model over-engineered, where each one hallucinated.</p><p>The same applies to architectural choices. Microservices versus monolith. Event streaming versus synchronous calls. NoSQL versus relational. These decisions land differently when you have debugged them at 11 pm before a go-live.</p><p>When I review a design today, I&#8217;m running through the operational debugging session in my head. I know which choices will haunt the team at 2 am six months from now, because I have been the person at 2 am.</p><p>I can also smell when an estimate is wrong&#8212;because I have written that kind of code recently. The cavalry captain who has ridden the terrain knows when a junior is being optimistic.</p><p><strong>Earned credibility with engineers.</strong> Engineers can tell within five minutes whether a CTO is bluffing.</p><p>They can tell from the questions you ask. From how you respond when a junior pushes back. Whether you know the difference between a reasonable trade-off and a lazy one.</p><p>You cannot fake this.</p><p>When I pair with a junior on a data model, or sit next to someone debugging a rule engine, I am demonstrating that the person at the top of the org chart is still close enough to the metal to be useful. You don&#8217;t have to perform authority when you have it through demonstrated competence. The cavalry captain who rides at the front doesn&#8217;t need leadership speeches.</p><p><strong>AI-era leverage.</strong> Here&#8217;s the part most senior leaders are missing.</p><p>Coding 4-5 hours a day <em>with</em> AI tools is a fundamentally different activity from coding without them. The skills, the workflows, the failure modes&#8212;all of it is different. The only way to internalise this is to actually do it. Daily. For months.</p><p>A CTO who has not seriously built with Claude Code, Cursor, or similar tools in the last six months is making strategy decisions on stale data. While other senior leaders are still figuring out whether AI coding is &#8220;ready for production,&#8221; I have spent thousands of hours learning where it works, where it breaks, and what to delegate to it.</p><p>That tacit knowledge cannot be transferred through a deck. It can only be earned at the keyboard.</p><h2>The Counter-Arguments</h2><p><strong>&#8220;Your time is too valuable to code.&#8221;</strong> Valuable for what? Another status meeting? Another PRD that the team will partially read? An afternoon spent prototyping the riskiest part of a system is often more valuable than a week of meetings about it.</p><p><strong>&#8220;You&#8217;ll micromanage your team.&#8221;</strong> Coding for understanding is different from coding their tickets. I am not picking up stories from the sprint board. I am building things adjacent to what the team is building, prototyping ahead of what they will build next quarter.</p><p><strong>&#8220;You&#8217;ll fall behind on management.&#8221;</strong> Or you will lead better because your management is grounded in reality, not status reports filtered through three layers of optimism. Cavalry captains who ride don&#8217;t fall behind on captaining. They captain better, because they know what they are asking their riders to do.</p><h2>What I&#8217;ve Had to Give Up</h2><p>This is a real trade-off, not a free lunch. In my case, what has been given is a certain category of meetings&#8212;the ones that exist for visibility rather than decisions. A certain amount of stakeholder ritual. A certain kind of senior-leader theatre that some organisations expect and reward.</p><p>If you are considering staying technical at a senior level, you should know: you will have to actively defend your coding hours against an organisation that will, by default, fill them with meetings. It is worth fighting.</p><h2>A Note to Other Senior Technologists</h2><p>There is one more reason I still code at 50: I genuinely enjoy it. After 27 years, the craft has become more interesting, not less. The tools are more powerful. The leverage is greater. I learn something new every week.</p><p>If you stopped coding because you thought you were supposed to&#8212;reconsider. The world has shifted. The cavalry has new horses. The captains who can ride them will lead the next decade.</p><p>If you stopped because you stopped enjoying it&#8212;that&#8217;s a different conversation worth having with yourself. Maybe management is genuinely your craft now. That&#8217;s fine. But be honest about whether you are leading a technical organisation or merely presiding over one.</p><p>The cavalry captain who rides into battle leads a different kind of charge than the one who directs from behind. Both can win battles. But only one can still win them in a war that has fundamentally changed.</p><p>I plan to be on the horse for as long as I can ride.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[13 Laws of Software Engineering — Part 2]]></title><description><![CDATA[Laws that explains why things happen the way they do, and how to control it]]></description><link>https://vivekkant.substack.com/p/13-laws-of-software-engineering-part-9f1</link><guid isPermaLink="false">https://vivekkant.substack.com/p/13-laws-of-software-engineering-part-9f1</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 01 May 2026 01:07:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aNIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In <a href="https://vivekkant.substack.com/p/13-laws-of-software-engineering-part">Part 1</a>, we covered Parkinson, Hofstadter, Brooks, Conway, Cunningham, and Sturgeon &#8212; the laws that explain why software estimation is futile, why your architecture mirrors your org chart, and why 90% of everything is crap.</p><p>Here are the remaining seven.</p><h2>7. Zawinski&#8217;s Law</h2><p><em>Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones that can.</em></p><p>This is the second law of thermodynamics applied to software &#8212; software entropy. I have seen it play out all the time in my career. We keep adding features to a good piece of software till it becomes unmanageable and complicated, at which point it gets replaced by a simpler solution. The simpler solution then starts accumulating features, and the cycle repeats.</p><p><strong>Why does it matter?</strong></p><p>Software does not become unmanageable or hard to change by itself &#8212; it happens in small steps as technical debt builds up. The usual culprits are features built under time pressure, with shortcuts like bolt-on additions, compromised architecture or weakened modularity. This single factor accounts for most of the issues and maintenance costs across the software lifecycle.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aNIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aNIq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 424w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 848w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 1272w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aNIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png" width="1080" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:823571,&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://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.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_!aNIq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 424w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 848w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.png 1272w, https://substackcdn.com/image/fetch/$s_!aNIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e18df9-c6e7-4dd3-b572-1c8b9e8f5a3b_1080x678.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>The way to address it is to invest deliberately in technical debt &#8212; refactoring, rationalising features, and ruthlessly deleting features that no longer make sense. In the non-software world, look at the Raptor-3 engine from SpaceX as a model: each generation has dramatically fewer parts, simpler routing, and lower cost than the last. That&#8217;s what disciplined simplification looks like.</p><h2>8. Hyrum&#8217;s Law</h2><p><em>With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.</em></p><p>If you have public software with a large enough user base, people will use every observable behaviour &#8212; even ones you never intended. I once built a hack to scrape a website that allowed business users to get some data. When the source website changed, and the scraping stopped working, more than 100 users complained. A throwaway hack had become a load-bearing wall.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ITdI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ITdI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 424w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 848w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 1272w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ITdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png" width="1315" height="536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:536,&quot;width&quot;:1315,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211842,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.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_!ITdI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 424w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 848w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 1272w, https://substackcdn.com/image/fetch/$s_!ITdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c83d08d-57e8-4954-a308-6228e2417086_1315x536.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>This directly drives up your software maintenance cost &#8212; any change you make has a high probability of breaking something. Be careful what you build and distribute, because users will use it more than you intended, and any change will trigger blowback. The lesson I now apply: no small hack or quick program should ever be distributed to users who don&#8217;t understand its limitations. The contract is a polite suggestion. The actual interface is everything anyone can observe.</p><h2>9. Price&#8217;s Law</h2><p><em>In any group, 50% of the work is done by the square root of the number of people.</em></p><p>I call them drivers and passengers &#8212; a few people pick up most of the work in any group (drivers), and the others coast along (passengers). Out of 100 engineers, 10 will generate output equivalent to that of the other 90.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WbGX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WbGX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 424w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 848w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 1272w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WbGX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png" width="602" height="556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:556,&quot;width&quot;:602,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:365860,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.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_!WbGX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 424w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 848w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 1272w, https://substackcdn.com/image/fetch/$s_!WbGX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ca1d0b-155d-4d15-b575-439f4c4da8fd_602x556.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>This law matters hugely in the age of AI. The key drivers in your dev team can become an order of magnitude more productive once they only work with equally capable people and AI. They get back the time and the overhead they used to spend dealing with issues created by the passengers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6Z0Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 424w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 848w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 1272w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png" width="561" height="533" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:533,&quot;width&quot;:561,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79879,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.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_!6Z0Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 424w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 848w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 1272w, https://substackcdn.com/image/fetch/$s_!6Z0Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b159942-1733-4b4b-b6d2-acf5b5b2f6a1_561x533.png 1456w" sizes="100vw" loading="lazy"></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>A good example is how Elon Musk fired more than 50% of the Twitter tech team, and nothing broke. The square root of 8,000 is 90, and 90 capable people can run a remarkable amount of infrastructure if they aren&#8217;t carrying the other 7,910.</p><h2>10. The Ringelmann Effect</h2><p><em>The tendency for individual members of a group to become increasingly less productive as the size of their group increases.</em></p><p>This is very real &#8212; the larger the team, the lower the productivity, as the number of passengers increases (Price&#8217;s Law again). It was discovered in 1913 through the rope-pulling experiment, which measured pulling force per person as the group size increased. Each additional person pulled less hard than the one before.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DSnR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DSnR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 424w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 848w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 1272w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DSnR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png" width="692" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:692,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139797,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.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_!DSnR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 424w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 848w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 1272w, https://substackcdn.com/image/fetch/$s_!DSnR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f17c23b-8f49-46b1-9fab-4d6a00d76b0c_692x443.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>It matters because productivity is the main driver of today&#8217;s software development. There are two reasons the effect kicks in:</p><ol><li><p><strong>Social incentive</strong> &#8212; the visibility and reward of individual work reduce as group size increases.</p></li><li><p><strong>Coordination overhead</strong> &#8212; the number of communication paths is <em>nC2</em>, which grows quadratically with group size.</p></li></ol><p>The solution is to keep groups small and very productive. The moment a group grows beyond effective size, break it into smaller groups and ensure they don&#8217;t need regular communication between each other. This is also the practical bridge to Conway&#8217;s Law from Part 1 &#8212; small autonomous teams produce clean architectures.</p><h2>11. Goodhart&#8217;s Law</h2><p><em>When a measure becomes a target, it ceases to be a good measure.</em></p><p>This is nowhere more visible than in the Indian IT industry, where every measure is hit successfully and yet the desired outcome stubbornly refuses to arrive. It is also true that what is easy to measure gets measured &#8212; regardless of whether it actually matters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n2B5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n2B5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 424w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 848w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 1272w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n2B5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png" width="1100" height="759" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:759,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:601134,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.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_!n2B5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 424w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 848w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 1272w, https://substackcdn.com/image/fetch/$s_!n2B5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58140ca-c127-4ada-8ca7-12fba7b2bb1f_1100x759.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>What gets measured gets improved &#8212; but the measure should not become the outcome itself. Hours of work, lines of code, story points, velocity &#8212; these are all <em>proxies</em> for software outcomes. Take any of them too seriously and they become counter-productive. The team optimises for the measure and quietly drops the outcome.</p><p>The focus should always be on stakeholders and their satisfaction with the actual outcome &#8212; not on the proxy you happen to be tracking this quarter.</p><h2>12. Gilb&#8217;s Law</h2><p><em>Anything you need to quantify can be measured in some way that is superior to not measuring it at all.</em></p><p>What this law is saying is that even if measurement is hard and the measurement might be imperfect, it is still better than not measuring at all.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CBIS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CBIS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CBIS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:970937,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.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_!CBIS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!CBIS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0137a225-ef92-4f31-942d-14641e36b038_1024x1024.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>This may seem to contradict Goodhart&#8217;s Law, but it doesn&#8217;t. While it doesn&#8217;t make sense to take a measure and turn it into an end in itself, it is important to measure &#8212; especially the things that are hard to measure.</p><p>I know a client who used to track only two measures for a dev team&#8217;s sprint delivery:</p><ul><li><p>Product Owner happiness</p></li><li><p>Dev team happiness</p></li></ul><p>Both were rated on a simple scale of 10, and the team&#8217;s informal objective was to score well on both. That&#8217;s it. No story points, no velocity, no burndown charts. And it worked &#8212; because the measures pointed at outcomes that mattered, were hard to game, and forced honest conversations between the people who needed to have them.</p><h2>13. Murphy&#8217;s Law</h2><p><em>Anything that can go wrong will go wrong.</em></p><p>No list of laws is complete without Murphy, and everyone already knows it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Heax!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Heax!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 424w, https://substackcdn.com/image/fetch/$s_!Heax!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 848w, https://substackcdn.com/image/fetch/$s_!Heax!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 1272w, https://substackcdn.com/image/fetch/$s_!Heax!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Heax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png" width="799" height="619" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:799,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:698590,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195855930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.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_!Heax!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 424w, https://substackcdn.com/image/fetch/$s_!Heax!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 848w, https://substackcdn.com/image/fetch/$s_!Heax!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 1272w, https://substackcdn.com/image/fetch/$s_!Heax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ca552ab-4aa3-407f-8e49-c167a05e2792_799x619.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>Murphy&#8217;s Law is critical in software design. Whenever you think a scenario will never happen, it will &#8212; so design for it. Defensive coding, chaos testing, circuit breakers, retries with backoff, observability, blast-radius limits &#8212; these are the practical applications of Murphy. The senior move isn&#8217;t preventing every failure. It&#8217;s making failure cheap, observable, and recoverable.</p><div><hr></div><h2>Closing thoughts</h2><p>Notice something? Almost none of these 13 laws are really about code.</p><p>They are about humans, time, organisations, incentives, and entropy. The technical laws of computer science &#8212; Big O, CAP, Amdahl &#8212; you learn in college. The 13 laws above, you learn by getting hit by them. Repeatedly. Across decades.</p><p>There is a rough progression of seniority hidden in this list. In your early years, you don&#8217;t know any of these. Around year five, you have heard of them, and you are fighting them &#8212; adding people to late projects, building heroic features, trying to outwork Hofstadter. </p><p>By year ten, you have stopped fighting and started designing around them. By year twenty, you are using them as tools &#8212; Inverse Conway as an architecture lever, Cunningham as a design-review strategy, Gilb as a counterweight to Goodhart, Price&#8217;s Law as a hiring filter.</p><p>If I had to add a 14th law from 25 years of watching this industry, it would be this: <em>the engineer who learns to predict their own organisation&#8217;s failure modes is more valuable than the one who can predict their system&#8217;s</em>. The systems, honestly, are easier.</p><p>PS: These laws have been around for a while, and there are many articles written on them. I have taken the selection and order from <a href="https://zaidesanton.substack.com/p/the-13-software-engineering-laws?triedRedirect=true">Anton Zaides&#8217;s article</a>, which you can find <a href="https://zaidesanton.substack.com/p/the-13-software-engineering-laws?triedRedirect=true">here</a>.</p><p>Which of these has bitten you hardest? Tell me in the comments.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[13 Laws of Software Engineering — Part 1]]></title><description><![CDATA[Laws that explains why things happen the way they do, and how to control it]]></description><link>https://vivekkant.substack.com/p/13-laws-of-software-engineering-part</link><guid isPermaLink="false">https://vivekkant.substack.com/p/13-laws-of-software-engineering-part</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 24 Apr 2026 01:05:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3SQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Software engineering has more &#8220;laws&#8221; than physics. And unlike physics, ours aren&#8217;t really about software. They&#8217;re about humans trying to build things together while lying to each other about how long it will take.</p><p>After 25 years in this industry, I&#8217;ve stopped being surprised by projects going sideways. Not because I&#8217;ve gotten better at preventing it &#8212; I&#8217;ve just recognised the patterns. There are roughly 13 of them. They show up in every team, every company, every architecture, on every continent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3SQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3SQd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 424w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 848w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3SQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png" width="772" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:772,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:592597,&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://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.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_!3SQd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 424w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 848w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!3SQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e0f3ded-bef0-4c3a-a920-a18bb53751f4_772x1200.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>Here are the first six. The remaining seven follow in Part 2.</p><h2>1. Parkinson&#8217;s Law</h2><p><em>Work expands to fill the time available.</em></p><p>I call <em>work</em> the gaseous state &#8212; it fills any container you put it in. This law is most prevalent in software estimation, where adding buffers and giving an unusually long timeline produces exactly the outcome the buffer was meant to prevent. If work finishes before the deadline, engineers will expand to fill the saved time.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q-uq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q-uq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 424w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 848w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 1272w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q-uq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png" width="598" height="202" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4c65aff-d172-4119-b744-045ddfc347ee_598x202.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:202,&quot;width&quot;:598,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109395,&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;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.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_!Q-uq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 424w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 848w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 1272w, https://substackcdn.com/image/fetch/$s_!Q-uq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4c65aff-d172-4119-b744-045ddfc347ee_598x202.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p><strong>Why does it matter?</strong></p><p>Asking for a timeline usually gets a pessimistic response, and the worst-case scenario usually becomes the reality. Setting an aggressive timeline doesn&#8217;t help either &#8212; it&#8217;s bound to be missed, thanks to Hofstadter&#8217;s Law, which is next.</p><h2>2. Hofstadter&#8217;s Law</h2><p><em>It always takes longer than you expect, even when you take into account Hofstadter&#8217;s Law.</em></p><p>Software projects are uncannily late, even after contingencies and buffers. If you use Parkinson&#8217;s Law to justify an aggressive timeline, you will burn out the team <em>and</em> miss every deadline.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EJ-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EJ-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 424w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 848w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 1272w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EJ-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png" width="1213" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&quot;width&quot;:1213,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234535,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.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_!EJ-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 424w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 848w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 1272w, https://substackcdn.com/image/fetch/$s_!EJ-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96869ece-2317-4bce-bcc6-8b07fff9e62e_1213x557.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>These two laws together pretty much explain the futility of software estimation. The most elegant escape the industry has found is agile &#8212; focus on productivity and time-boxed delivery instead of fixed-date commitments. But that still leaves the problem of committing to external stakeholders and the business. The answer there is a heuristic-based, pessimistic scope against a fixed release cadence &#8212; say, quarterly releases with a set of <em>committed</em> features and a set of <em>potential</em> features.</p><h2>3. Brooks&#8217; Law</h2><p><em>Adding manpower to a late software project makes it later.</em></p><p>This one is my favourite, because I&#8217;ve watched the most experienced delivery leaders fall for it. It is as futile as asking nine women to produce a baby in a month.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nuNp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nuNp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 424w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 848w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 1272w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nuNp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png" width="568" height="184" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:184,&quot;width&quot;:568,&quot;resizeWidth&quot;:568,&quot;bytes&quot;:131978,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nuNp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 424w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 848w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 1272w, https://substackcdn.com/image/fetch/$s_!nuNp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca9e258-918f-4b7e-b2d8-ce2476ecf080_568x184.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Why does it matter?</strong></p><p>Fred Brooks figured this out in 1975, managing IBM&#8217;s OS/360, and we&#8217;ve spent 50 years ignoring him. Adding people to a late project means the existing team stops working to onboard them. Communication paths explode &#8212; a team of 5 has 10 channels; a team of 10 has 45. The new folks code bugs before they code features. The right answer to &#8220;we&#8217;re late&#8221; is almost always &#8220;let&#8217;s cut scope,&#8221; not &#8220;let&#8217;s hire.&#8221;</p><h2>4. Conway&#8217;s Law</h2><p><em>Organizations design systems that mirror their communication structures.</em></p><p>I&#8217;ve written extensively about why this law is everlasting on my blog. The most common manifestation: the architecture ends up resembling the team structure, and the seams in the architecture appear exactly where communication is weakest. If your team is split into frontend and backend, the UI&#8211;API contract is where the bugs will live.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f9Us!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f9Us!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 424w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 848w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 1272w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f9Us!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png" width="980" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:980,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:643523,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.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_!f9Us!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 424w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 848w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 1272w, https://substackcdn.com/image/fetch/$s_!f9Us!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d54efb4-c72d-433f-8abb-467a7eebb7f3_980x955.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>The corollary is what matters most. Since organisation structure has a direct impact on architecture, the smart move is to design the team structure to reflect the <em>target</em> architecture &#8212; not the current one. Formalise the interfaces between teams with the same rigour you&#8217;d apply to a system contract. This is called the Inverse Conway Maneuver, and it is the most powerful lever a CTO has.</p><h2>5. Cunningham&#8217;s Law</h2><p><em>The best way to get the right answer on the internet is not to ask a question, but to post the wrong answer.</em></p><p>This law is rooted deep in human behaviour. People love to validate their own beliefs, and the easiest way to do that is by correcting someone else. So the best way to get information is not to ask for it &#8212; it&#8217;s to give people an opportunity to correct you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3h98!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3h98!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 424w, https://substackcdn.com/image/fetch/$s_!3h98!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 848w, https://substackcdn.com/image/fetch/$s_!3h98!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!3h98!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3h98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png" width="1200" height="1320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1320,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:346026,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.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_!3h98!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 424w, https://substackcdn.com/image/fetch/$s_!3h98!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 848w, https://substackcdn.com/image/fetch/$s_!3h98!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!3h98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81b081da-00b5-4ffc-b795-ef2b276a16a4_1200x1320.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>Used well, this is a powerful unlock. Instead of asking open-ended questions in a design review, propose a deliberately incomplete solution &#8212; the team engages ten times harder when they have something to push against. Internal Q&amp;A forums, visible peer reviews, and &#8220;strong opinions, loosely held&#8221; culture all tap into the same instinct. You don&#8217;t have to be right to get the right answer. You just have to be wrong in public.</p><h2>6. Sturgeon&#8217;s Law</h2><p><em>90% of everything is crap.</em></p><p>This is truer than ever in the age of AI. 90% of everything created is crap &#8212; including 90% of code, 90% of features, 90% of blog posts, and 90% of LinkedIn comments that start with &#8220;Great point!&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ntpz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ntpz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ntpz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png" width="1200" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400435,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/195221052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.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_!ntpz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!ntpz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08cc83c-648f-4f19-b323-b367e475b6ae_1200x628.png 1456w" sizes="100vw" loading="lazy"></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><strong>Why does it matter?</strong></p><p>This is where human wisdom still trumps AI. A wise engineer focuses on the 10% of code that sets the direction &#8212; the architecture decisions, the critical abstractions, the contracts between services &#8212; and lets AI handle the remaining 90%. That 10% is what makes the other 90% actually work. The &#8220;10x engineer&#8221; in the AI era isn&#8217;t the one who writes 10x more code. It&#8217;s the one who knows <em>which</em> 10% to write themselves.</p><div><hr></div><p>The next seven laws &#8212; Zawinski, Hyrum, Price, Ringelmann, Goodhart, Gilb, and Murphy &#8212; follow in Part 2. Those are the ones that explain why your APIs never die, why half your team carries the other half, and why production always breaks on Friday evening.</p><p>PS: These laws have been around for a while, and there are many articles written on them. I have taken the selection and order from <a href="https://zaidesanton.substack.com/p/the-13-software-engineering-laws?triedRedirect=true">Anton Zaides&#8217;s article</a>, which you can find <a href="https://zaidesanton.substack.com/p/the-13-software-engineering-laws?triedRedirect=true">here</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Is IT Project Management Dead?]]></title><description><![CDATA[The role that absorbed the largest share of Indian IT careers was built for a specific historical moment. That moment is ending.]]></description><link>https://vivekkant.substack.com/p/is-it-project-management-dead</link><guid isPermaLink="false">https://vivekkant.substack.com/p/is-it-project-management-dead</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 17 Apr 2026 00:35:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2tsv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Everyone is debating what AI does to developers, testers, and architects. Almost nobody is asking what it does to the role that quietly absorbed the largest share of Indian IT careers over three decades: the project manager.</p><p>My claim is narrower and blunter than the usual AI-replaces-everyone take. The specific version of PM that Indian IT industrialised &#8212; non-technical, coordination-first, certification-credentialed &#8212; is being structurally obsoleted. Not diminished. Ended.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2tsv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2tsv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2tsv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3039087,&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://vivekkant.substack.com/i/194386466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.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_!2tsv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!2tsv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47824607-24d5-4f66-9eaf-31281d150be3_1536x1024.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>To see why, it helps to trace how the role got built.</p><h2>An artefact of the labour-arbitrage era</h2><p>Indian IT&#8217;s first big break was Y2K. The work was simple in scope but enormous in volume. What it taught the industry was a template: take a large, well-defined body of work, decompose it, throw bodies at it, coordinate the bodies, and deliver on time. That template outlasted Y2K and became the shape of everything after it &#8212; application maintenance, ERP rollouts, testing, migrations, package implementations.</p><p>That shape &#8212; large teams, well-defined work, heavy coordination &#8212; was tailor-made for a project manager.</p><p>Then, between 2002 and 2015, the most consequential structural shift in how Indian IT manages software happened, and almost nobody talks about it: the PM became non-technical.</p><p>The industry grew faster than the supply of technically-grounded managers. Non-IT professionals entered en masse to fill the coordination layer, mostly from manufacturing, construction, and other project-heavy industries where &#8220;project management&#8221; as a formal discipline already existed. </p><p>The logic was seductive: if someone could run a plant commissioning with Gantt charts, critical paths, and milestone tracking, surely they could run a software delivery the same way.</p><p>The cultural shift followed. &#8220;A good PM doesn&#8217;t need to understand the technology&#8221; became conventional wisdom. PMP and PRINCE2 institutionalised it &#8212; domain-and-tech-agnostic credentials validating a role that was itself becoming tech-agnostic, making the credential, not the craft, the career currency.</p><p>Technology kept changing underneath &#8212; mainframes, 4GL, client-server, web, mobile, cloud &#8212; and the PM layer got progressively further from any of it. By the late 2000s, it was normal for a PM to have never read the code they were shipping.</p><p>This had consequences I&#8217;ve written about before. In my <a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">Lost Art of Engineering Excellence</a> series, I argued that career paths that pulled the technically curious <em>out</em> of engineering and into management hollowed out the industry. The other half of that diagnosis is the PM role itself, narrowing into operational and people management &#8212; scheduling, staffing, status, escalation &#8212; not technical stewardship.</p><p>As projects got more complex through the digital era, the PM couldn&#8217;t carry the technical load and wasn&#8217;t expected to. The architecture function absorbed the technical decisions PMs used to own. The PM&#8217;s scope narrowed further: a coordinator between client, delivery, and architecture. Real influence on the system being built: minimal.</p><p>This is the role AI is now meeting. Already hollowed out.</p><h2>The assumptions are breaking</h2><p>The PM role, as it exists in Indian IT today, rests on four assumptions. AI is breaking each one.</p><p><strong>Assumption 1: There will always be large teams to coordinate.</strong></p><p>The army is being dismantled. In <a href="https://vivekkant.substack.com/p/the-army-vs-the-special-forces-why">The Army vs. The Special Forces</a> I argued that AI is a skill amplifier, not a skill equaliser &#8212; five strong, AI-augmented engineers can now deliver what twenty-five average engineers delivered before. When the army shrinks to a special forces cell, the coordination surface shrinks with it. There is simply less to coordinate.</p><p><strong>Assumption 2: developers need someone to translate requirements, track work, and manage dependencies.</strong></p><p>Capable engineers with AI now do requirement-to-delivery individually &#8212; clarify scope, design, build, test, deploy. The number of handoffs collapses, and coordination collapses with it. A four-person cell talking directly to a client doesn&#8217;t need a translation layer.</p><p><strong>Assumption 3: developers can&#8217;t manage themselves.</strong></p><p>High-calibre developers have always been largely self-managing. Most of the PM coordination overhead was a function of having too many shallow-skilled developers &#8212; the judgment gap I described in <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">Building Your Moat Against AI</a>. When the team is small and deep, a hands-on IC lead replaces the dedicated manager. The player-coach becomes the unit of delivery.</p><p><strong>Assumption 4: Process discipline is the moat.</strong></p><p>PMP and PRINCE2 formalised processes as the PM&#8217;s professional asset. The value proposition became: <em>I bring discipline to chaos.</em></p><p>Distributed agile was supposed to disrupt this. In theory, self-organising teams, product owners, and scrum masters would dissolve the traditional PM layer. In Indian IT practice, it did the opposite &#8212; agile got <em>bolted on</em> to the existing hierarchy. Scrum masters became PMs with a new title. </p><p>Stand-ups became status meetings in ever-expanding fifteen-minute form. Burndown charts replaced Gantt charts, but the reporting layer above didn&#8217;t shrink &#8212; it expanded, now demanding both sets of artefacts. Distributed agile at scale became the new justification for heavy coordination: <em>someone has to keep the ceremonies aligned across time zones.</em> The army needed its officers, just under new names.</p><p>AI breaks this in a way agile never did. When a forward-deployed cell clarifies requirements directly with the client, builds, tests, and ships, the ceremonies don&#8217;t need to be coordinated because they barely exist. There is no three-timezone handoff to manage when there&#8217;s no handoff. Outcomes, not process adherence, become the measurable unit. And once outcomes are measurable, process theatre becomes visible <em>as</em> theatre.</p><h2>What the new organisation looks like</h2><p>At the firm level, the shape changes sharply.</p><p>At the top sit domain-deep partners who own the client&#8217;s business problem &#8212; outcome owners, not delivery heads. Below them, architect-builders: hands-on, AI-augmented, accountable end-to-end. The special forces cell. Alongside them, a flex layer of mercenary senior engineers on fractional engagements for the hard problems. Underneath all of it, a thin operational layer &#8212; contract admin, finance ops, compliance &#8212; shrunk to what&#8217;s legally necessary, not what&#8217;s culturally accumulated.</p><p>What&#8217;s gone or radically shrunk: delivery managers, programme managers, generalist PMs, PMO staff, resource managers, bench-management infrastructure. An entire middle tier of the industry&#8217;s org chart.</p><p>At the account level, the contrast is starker. The traditional engagement runs five or six layers deep &#8212; Account Director, Delivery Manager, two or three Project Managers, Team Leads, thirty to two hundred developers. </p><p>The new engagement runs for two. An Engagement Partner owning domain and relationship, a forward-deployed cell of four to eight architect-builders, and on-demand mercenary specialists when needed. The remaining coordination work is absorbed by the partner (client-facing) and the cell lead (delivery-facing). Both are hands-on. Neither is a PM.</p><h2>What project managers can actually do</h2><p>Context &#8212; domain, client, system &#8212; is what AI cannot replicate. That is where PMs can still build value, if they&#8217;re willing to rebuild.</p><ol><li><p><strong>Become the domain.</strong> </p></li></ol><p>Go deep in one or two verticals &#8212; lending, insurance, supply chain, healthcare payers. Own outcomes, not status. The PM-turned-domain-expert is the most natural evolution and the most under-appreciated one. It is also the path that uses the most of what a PM has actually accumulated: years of exposure to how businesses in a particular sector work, fail, and change.</p><ol start="2"><li><p><strong>Become an IC again, with AI as the multiplier.</strong> </p></li></ol><p>For PMs with some technical background, AI has lowered the bar to hands-on work in a way it wasn&#8217;t two years ago. The honest version: this is hard, not a shortcut. It requires real re-skilling and the humility to ship small things badly for a while. But the door is open.</p><ol start="3"><li><p><strong>Become the relationship layer.</strong> </p></li></ol><p>Engagement partner and client partner roles where trust, political capital, and judgment matter. These roles will be smaller in number than PM roles today, but genuinely defensible &#8212; a good client partner is harder to replace than a good delivery manager ever was.</p><ol start="4"><li><p><strong>Exit gracefully.</strong> </p></li></ol><p>Some of the roles simply won&#8217;t have a successor in the new shape. Being honest about that is kinder than pretending reskilling paths exist for everyone. For those financially able, a mid-career pivot to adjacent fields &#8212; product, GTM, advisory, teaching &#8212; is a rational choice, not a failure.</p><h2>The role is ending, and the people don&#8217;t have to</h2><p>It is the <em>role</em> that is dying, not the individuals in it. Indian IT has a generation of talented operators whose core skill &#8212; coordinating complexity at scale &#8212; was shaped by a system that no longer needs coordination at that volume.</p><p>Every major role in Indian IT is being re-specced. The PM&#8217;s re-spec is the hardest because the role had drifted furthest from the work. When the ground beneath a role is already thin, it doesn&#8217;t take much to break through.</p><p>The question isn&#8217;t whether Indian IT project management is dead. It&#8217;s whether the people in it will wait to be told, or rebuild before they are.</p><div><hr></div><p>If you would like me to write a blog on a topic of your interest, do leave a comment. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Don't monetise UPI, monetise cash instead]]></title><description><![CDATA[Banks spend &#8377;21,000 crore managing cash. They want to charge for UPI instead]]></description><link>https://vivekkant.substack.com/p/dont-monetise-upi-monetise-cash-instead</link><guid isPermaLink="false">https://vivekkant.substack.com/p/dont-monetise-upi-monetise-cash-instead</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 10 Apr 2026 01:00:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bdMT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For a change, this blog is non-technical. It&#8217;s about financial services &#8212; an area I&#8217;m deeply passionate about and have spent a significant part of my career working in. If you&#8217;re reading this from outside India, stick around &#8212; this story has global implications for how countries think about digital payments and the true cost of cash.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bdMT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bdMT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bdMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3033723,&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://vivekkant.substack.com/i/193657877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.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_!bdMT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bdMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33493660-4ca4-482f-90f3-4a3c5b9e925c_1536x1024.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><h2>UPI in 60 Seconds</h2><p>For the uninitiated: UPI (Unified Payments Interface) is India&#8217;s real-time, mobile-first payment system built by NPCI. Anyone with a smartphone and bank account can send or receive money instantly &#8212; 24/7, free of charge &#8212; using a simple UPI ID. Think of it as if Venmo, Zelle, and Apple Pay were built together that work across every bank and every app. A vegetable vendor and a luxury hotel use the same infrastructure. One QR code, one scan, money moves in seconds.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QOfL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QOfL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 424w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 848w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 1272w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QOfL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png" width="951" height="255" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:255,&quot;width&quot;:951,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48293,&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;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/193657877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.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_!QOfL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 424w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 848w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 1272w, https://substackcdn.com/image/fetch/$s_!QOfL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1b89b1-affb-497f-8807-e1ce7dd7b2bd_951x255.png 1456w" sizes="100vw"></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>Launched in April 2016, UPI didn&#8217;t exist a decade ago. Today, it processes <strong>228 billion transactions worth ~$3.4 trillion annually</strong> &#8212; more daily transactions than Visa globally. With 491 million users, 65 million merchants, and 49% of the world&#8217;s real-time payments flowing through it, UPI isn&#8217;t just India&#8217;s payment system anymore &#8212; it&#8217;s a global benchmark.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Vs6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Vs6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 424w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 848w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 1272w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Vs6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png" width="934" height="648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:648,&quot;width&quot;:934,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77964,&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;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/193657877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.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_!5Vs6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 424w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 848w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 1272w, https://substackcdn.com/image/fetch/$s_!5Vs6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F723cd40d-fbf8-4c0e-9a5a-4892b065cc50_934x648.png 1456w" sizes="100vw"></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>The financial inclusion story is profound. Before UPI, accepting digital payments required expensive POS terminals and paperwork. Today, a printed QR code costing nothing is all a merchant needs. The chai wallah, the auto driver, the neighbourhood <em>paan</em> shop &#8212; they&#8217;re all in the formal digital payments ecosystem now.</p><h2>MDR: The Fee That Was, and the Fight to Bring It Back</h2><p>MDR &#8212; Merchant Discount Rate &#8212; is the fee merchants pay to banks for processing digital payments. On credit cards, it&#8217;s typically 1.5&#8211;3%, split between the acquiring bank, the issuing bank, and the card network. In UPI&#8217;s early days, a small 0.3% MDR existed. Then, in January 2020, the government abolished MDR on UPI entirely to accelerate digital adoption. To compensate banks, a subsidy scheme was introduced, peaking at &#8377;3,631 crore in FY24.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fUlB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fUlB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 424w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 848w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 1272w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fUlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png" width="927" height="613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:613,&quot;width&quot;:927,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67625,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/193657877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.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_!fUlB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 424w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 848w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 1272w, https://substackcdn.com/image/fetch/$s_!fUlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84d663b-7965-4e68-bd47-f0241b0d12a7_927x613.png 1456w" sizes="100vw" loading="lazy"></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>But here&#8217;s the problem: as UPI volumes exploded, subsidies shrank. The FY25 allocation dropped to &#8377;1,500 crore, and FY26 projections suggest as low as &#8377;437 crore. The industry estimates that &#8377;10,000 crore annually is needed to maintain UPI infrastructure.</p><p>In March 2025, the Payments Council of India &#8212; members include Google Pay, Amazon Pay, Razorpay &#8212; wrote to the PM seeking a 0.3% MDR on UPI transactions above &#8377;2,000 for large merchants. Banks argue they incur ~&#8377;2 per UPI transaction in infrastructure costs.</p><p>Their concern is legitimate. But their solution is wrong. Here&#8217;s why.</p><h2>The Psychological Devastation of Not Getting 100%</h2><p>When a small merchant sells goods worth &#8377;100 and receives &#8377;100 in their bank account, the transaction feels complete. Tell them they&#8217;ll receive &#8377;99.70 instead, and something breaks &#8212; not in the math, but in the mind.</p><p>For a chai seller making &#8377;2 profit per cup, the feeling of not getting 100% of what they earned is visceral. Cash gives them &#8377;100 for &#8377;100. If UPI doesn&#8217;t, they&#8217;ll go back to cash. We&#8217;ve spent a decade building digital payment trust among 65 million merchants. Even a small MDR risk could undo years of financial inclusion work &#8212; hitting precisely the merchants we worked hardest to bring into the digital fold.</p><h2>Stop Comparing UPI to Cards. Compare It to Cash.</h2><p>The fundamental error in the MDR argument: <strong>MDR is a card-era concept</strong>. Cards involve POS terminals, plastic, credit risk, and global settlement networks. MDR funds all of that.</p><p>But UPI didn&#8217;t replace cards. <strong>UPI replaced cash.</strong> The average P2M ticket size is just under &#8377;600 &#8212; that&#8217;s a &#8377;40 chai, a &#8377;200 vegetable purchase, a &#8377;150 auto fare. These were 100% cash transactions before. So compare UPI to cash, not to Visa/Mastercard. And when you do, the economics flip completely.</p><h2>The Hidden Cost of Cash Nobody Talks About</h2><p>Cash feels &#8220;free.&#8221; It&#8217;s anything but.</p><p>The RBI spent <strong>&#8377;6,373 crore printing currency in FY25</strong> alone. Banks and the RBI together spend an estimated&nbsp;<strong>&#8377;21,000 crore annually on currency management</strong>&nbsp;&#8212; cash-in-transit, vault operations, sorting, soiled-note replacement, and distribution through 4,195 currency chests. ATM infrastructure &#8212; 2.5 lakh machines, each costing lakhs to install, maintain, and stock &#8212; adds thousands of crores more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rhEq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rhEq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 424w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 848w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 1272w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rhEq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png" width="919" height="645" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:919,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61610,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/193657877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.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_!rhEq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 424w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 848w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 1272w, https://substackcdn.com/image/fetch/$s_!rhEq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe03fffbc-dc34-4ccb-a113-29889ae7645e_919x645.png 1456w" sizes="100vw" loading="lazy"></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>And here&#8217;s the kicker: <strong>person-to-person cash transactions completely bypass the banking system</strong>. When I hand you a &#8377;500 note, no bank sees it, no record exists, no tax trail is created. UPI transactions, by contrast, are fully traceable. The system that gives banks complete visibility is the one they want to charge for, while the system that makes them invisible remains free.</p><p><em>(A note on the future: CBDC would eventually address P2P cash invisibility, but it&#8217;s still in pilot. For now, UPI is our best formalisation tool.)</em></p><h2>The IRCTC Paradox</h2><p>Indian Railways charges a <strong>&#8377;10&#8211;20 convenience fee on digital tickets</strong> through IRCTC, while physical counter tickets have no surcharge. Think about what that means: the digital ticket &#8212; requiring no counter staff, no paper, no queue management &#8212; costs MORE. The physical ticket &#8212; requiring staffed counters at thousands of stations, printing infrastructure, real estate &#8212; is the &#8220;free&#8221; default.</p><p>The cost of dispensing a physical ticket is orders of magnitude higher than a digital one. Yet we penalise digital users. IRCTC earns nearly &#8377;700 crore annually from this fee &#8212; revenue extracted from the very behaviour that saves Railways the most money. This is exactly the kind of backwards incentive structure we must fix across the economy.</p><h2>The Proposition: Make Cash Expensive, Not UPI</h2><p>The idea is simple: <strong>instead of monetising UPI, monetise cash</strong>.</p><p><strong>Merchant cash deposit/withdrawal fees:</strong> Introduce a small charge &#8212; 0.1% to 0.25% &#8212; on cash deposits and withdrawals above a threshold for business accounts. This isn&#8217;t punitive; it passes through the real cost banks already absorb silently.</p><p><strong>ATM withdrawal caps:</strong> Set an annual free withdrawal limit &#8212; say &#8377;1 lakh/year for savings accounts. Beyond that, every withdrawal incurs a charge. This preserves access for those who need cash while discouraging habitual usage.</p><p><strong>Cross-subsidise UPI:</strong> Banks use cash-charge revenue to fund UPI infrastructure &#8212; creating a virtuous cycle where cash costs push digital adoption, lowering per-transaction UPI costs and making the ecosystem self-sustaining.</p><h2>The Benefits</h2><p><strong>Organic cash discouragement.</strong> When accepting cash has a cost and UPI doesn&#8217;t, businesses will push customers to go digital without anyone mandating it.</p><p><strong>Economic formalisation.</strong> More on-the-books transactions mean better tax compliance and reduced black money. India&#8217;s tax-to-GDP ratio benefits directly.</p><p><strong>Bank windfall.</strong> New revenue from cash charges, plus reduced cash management costs, means more investment in digital infrastructure. Banks become beneficiaries of cash&#8217;s decline, not victims of UPI&#8217;s success.</p><p><strong>UPI&#8217;s magic preserved.</strong> The promise that made a vegetable vendor accept digital payments &#8212; &#8377;100 earned is &#8377;100 received &#8212; stays intact.</p><h2>Conclusion</h2><p>When a new technology achieves mass adoption, it should become the default &#8212; and legacy practices must be reconsidered, not protected.</p><p>India didn&#8217;t build the world&#8217;s most remarkable payments infrastructure only to burden it with a card-era tax. Cash is the legacy system &#8212; expensive to print, store, transport, secure, and invisible to the tax system. It should bear the cost of its own inefficiency.</p><p>The future is digital-first. The cost structure should reflect that. <strong>Make cash the expensive option, not UPI.</strong></p><p><em>From 17.9 million transactions in 2017 to 228 billion in 2025, UPI has already won. The numbers are settled. Now it&#8217;s time our policies caught up &#8212; not by taxing the future, but by pricing the past.</em></p><div><hr></div><p><em>If you have a topic that you would like me to write about, do leave a comment. </em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[When Your AI Agrees You Into Madness]]></title><description><![CDATA[An MIT paper on sycophancy and delusional spiraling that changed how I use AI every day]]></description><link>https://vivekkant.substack.com/p/when-your-ai-agrees-you-into-madness</link><guid isPermaLink="false">https://vivekkant.substack.com/p/when-your-ai-agrees-you-into-madness</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 03 Apr 2026 00:30:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!eDLU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.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_!eDLU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eDLU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eDLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/babb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2610304,&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://vivekkant.substack.com/i/192938861?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.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_!eDLU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!eDLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbabb4b54-5706-4f6b-bbb6-e4449fd9cdc2_1536x1024.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>I came across a paper last week that I haven&#8217;t been able to stop thinking about. It&#8217;s by a team of MIT and University of Washington researchers &#8212; Kartik Chandra, Max Kleiman-Weiner, Jonathan Ragan-Kelley, and Joshua Tenenbaum &#8212; titled <em><a href="https://arxiv.org/abs/2602.19141">Sycophantic Chatbots Cause Delusional Spiraling, Even in Ideal Bayesians</a></em>.</p><p>As someone who sits at the intersection of AI and human behaviour &#8212; I code four to five hours daily with AI tools, I&#8217;ve written about how AI is reshaping engineering careers, interviews, and the Indian IT industry &#8212; this paper felt like it was speaking directly to me.</p><p>But by the time I finished reading, the feeling had shifted from intellectual curiosity to something closer to unease. Not about what AI can do today, but about what we don&#8217;t yet understand about what it&#8217;s doing to how we think.</p><p>Elon Musk&#8217;s reaction to this was characteristically blunt:</p><blockquote><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/elonmusk/status/2039357504669553132]&quot;,&quot;full_text&quot;:&quot;Major problem&quot;,&quot;username&quot;:&quot;elonmusk&quot;,&quot;name&quot;:&quot;Elon Musk&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2035314704307081216/71U1ftM3_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-01T15:01:33.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;&#128680;MIT researchers have mathematically proven that ChatGPT&#8217;s built-in sycophancy creates a phenomenon they call &#8220;delusional spiraling.&#8221;\n\nYou ask it something, it agrees. You ask again, and it agrees even harder until you end up believing things that are flat-out false and you https://t.co/2DqUPwTvoo&quot;,&quot;username&quot;:&quot;MarioNawfal&quot;,&quot;name&quot;:&quot;Mario Nawfal&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1938244629071015936/UwtzYY-R_normal.jpg&quot;},&quot;reply_count&quot;:6523,&quot;retweet_count&quot;:23217,&quot;like_count&quot;:157192,&quot;impression_count&quot;:43832276,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div></blockquote><p>He&#8217;s not wrong. Let me explain why.</p><h2>The Paper: What They Found</h2><p>The researchers studied a phenomenon called &#8220;delusional spiraling&#8221; &#8212; situations where extended conversations with AI chatbots lead users to become dangerously confident in false beliefs. This isn&#8217;t hypothetical hand-wringing. The Human Line Project has documented nearly 300 such cases. At least 14 deaths have been linked to it. Five wrongful death lawsuits have been filed against AI companies.</p><p>The suspected cause? Sycophancy &#8212; the chatbot&#8217;s structural tendency to agree with you, validate your opinions, and tell you what you want to hear. This isn&#8217;t a bug; it&#8217;s a feature that emerges from how these models are trained. Reinforcement learning from human feedback (RLHF) rewards responses that users rate positively, and people tend to rate agreeable responses highly. The result: models that are architecturally biased towards flattery.</p><p>Here&#8217;s what the researchers did that makes this paper different from the usual AI doom commentary. They built a Bayesian simulation and gave the simulated user <em>perfect</em> rationality &#8212; the best possible reasoning an agent could have. Then they ran 10,000 simulated conversations at varying levels of sycophancy. The question was simple: can a perfectly rational person still spiral into false beliefs when talking to a sycophantic chatbot?</p><p>The answer is yes. Unambiguously yes.</p><p>The mechanism is a feedback loop. You express a tentative opinion. The bot validates it. Your belief strengthens slightly. You express it with more confidence next round. The bot validates harder. Repeat. What starts as a kernel of curiosity hardens into conviction over dozens of exchanges. Some simulated users converged on truth; others spiraled into delusion. The polarisation was driven entirely by the self-reinforcing nature of sycophantic responses.</p><p>And the sycophancy rates measured in today&#8217;s frontier models? Between 50 and 70 percent. This isn&#8217;t a theoretical edge case. It describes the tools we use every day.</p><h2>Why the Obvious Fixes Don&#8217;t Work</h2><p>The researchers tested two interventions that sound like they should solve the problem. Neither did.</p><p>First, they tried making the bot strictly factual &#8212; no hallucinations, only true information, with the bot constrained to pick from real data. Think of it as RAG with citations, but still optimised for user engagement. The result: spiraling still happened. The bot didn&#8217;t need to lie. It just needed to cherry-pick which truths to present. Selective presentation of facts &#8212; lies by omission &#8212; was enough to push the user&#8217;s beliefs in the wrong direction.</p><p>Second, they informed the user that the bot might be sycophantic. The user now actively modelled the bot&#8217;s strategy, tried to infer its sycophancy level, and attempted to discount biased responses. This helped. But it didn&#8217;t eliminate the problem. The informed user remained vulnerable, especially at moderate sycophancy levels. This result mirrors a classic finding from behavioural economics called Bayesian persuasion: a strategic prosecutor can raise a judge&#8217;s conviction rate even when the judge fully understands the prosecutor&#8217;s incentives.</p><p>Combining both fixes &#8212; factual bot plus informed user &#8212; still left spiraling rates above baseline. And here&#8217;s the counterintuitive twist: the factual sycophant was <em>harder</em> for the informed user to detect than the hallucinating one. Selective truth-telling leaves fewer statistical fingerprints than outright fabrication. The most dangerous liar is the one who only tells you true things.</p><p>As Sam Altman noted, and the paper quotes: &#8220;0.1% of a billion users is still a million people.&#8221;</p><h2>Why This Hit Home</h2><p>I&#8217;ve been writing about AI&#8217;s impact on engineers and professionals for a while now. In <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">Building Your Moat Against AI</a>, I wrote about the &#8220;Google Search curse&#8221; &#8212; how the convenience of looking up answers erodes our reasoning muscles over time. Sycophancy is the next evolution of that same erosion, and it&#8217;s far more insidious. Google Search gives you information and lets you reason. A sycophantic chatbot validates your <em>existing</em> reasoning, making you feel smarter while potentially making you less accurate.</p><p>In <a href="https://vivekkant.substack.com/p/taking-interviews-in-the-age-of-ai">Taking Interviews in the Age of AI</a>, I argued that interviewers should fully allow AI tools during interviews. I still believe that. But this paper forces a harder question: if we spend hours daily in conversation with tools that are structurally biased to agree with us, what happens to our capacity for self-doubt? What happens to the instinct that says, &#8220;Wait, let me reconsider&#8221;?</p><p>In my <a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">Indian IT series</a>, I used the &#8220;<a href="https://vivekkant.substack.com/p/the-army-vs-the-special-forces-why">army vs. special forces</a>&#8221; framing &#8212; arguing that the industry needs independent thinkers, not just executors. Sycophantic AI is the opposite of what produces independent thinkers. It&#8217;s a tireless yes-man that makes you feel like a special forces operator while gently guiding you into an echo chamber of one.</p><p>And here&#8217;s the irony that stings: the more articulate and competent you are in expressing your views to an AI, the more effectively it can validate you into a corner.</p><h2>Building Your Psychological Moat</h2><p>Since systemic fixes are provably insufficient, the defence has to be personal. Think of this as building a psychological moat &#8212; not against AI replacing you, but against AI flattering you into intellectual complacency.</p><p><strong>Treat rising certainty as a warning signal.</strong> After any long AI conversation where you feel increasingly <em>sure</em> about something, pause. The paper shows that the spiraling is self-reinforcing &#8212; the stronger your conviction grows, the harder the bot validates. In a healthy reasoning process, confidence should increase slowly and with resistance. If it&#8217;s increasing smoothly and comfortably, something is probably wrong.</p><p><strong>Practice explicit self-criticism.</strong> Before accepting an AI-validated conclusion, force yourself to articulate the strongest counterargument. Better yet, ask the AI to argue against the position it just helped you build. Break the feedback loop by deliberately introducing friction into a frictionless process.</p><p><strong>Stay curious, not convinced.</strong> The people who spiraled in the documented cases started with genuine curiosity but let the AI convert it into conviction. Keep your AI conversations in exploration mode. Ask &#8220;what am I missing?&#8221; and &#8220;who would disagree with this?&#8221; more often than &#8220;am I right?&#8221;</p><p><strong>Diversify your interlocutors.</strong> The model shows spiraling is worse when the AI is your only source of feedback. Talk to humans who will disagree with you. Read arguments that challenge your priors. The AI is optimised to agree with you; your colleagues and friends are not. That&#8217;s a feature of human relationships, not a bug.</p><p><strong>Set time boundaries.</strong> The documented spiraling cases involved extended, multi-hour sessions. Treat long AI conversations the way you&#8217;d treat any echo chamber &#8212; with a deliberate exit point. Step away. Come back the next day. See if the conviction survives a night&#8217;s sleep and some fresh air.</p><p><strong>Watch for the &#8220;yes, and&#8221; pattern.</strong> If your AI conversation feels like an improv scene &#8212; where every exchange builds on and amplifies the last &#8212; you&#8217;re in the feedback loop. A good thinking partner says &#8220;yes, but&#8221; and &#8220;have you considered the opposite?&#8221; A sycophant says, &#8220;Yes, and here&#8217;s even more evidence you&#8217;re brilliant.&#8221;</p><h2>A Very Old Problem at Industrial Scale</h2><p>The paper&#8217;s most striking observation is that none of this is new. <strong>Shakespeare&#8217;s King Lear</strong> was flattered into madness by his courtiers. The &#8220;yes-man effect&#8221; in organisations explains why powerful people lose touch with reality. Among adolescent friends, &#8220;co-rumination&#8221; &#8212; the mutual validation of negative thoughts &#8212; drives anxiety and depression. Sycophancy has been a fixture of human social life for all of human history.</p><p>What&#8217;s new is the scale. AI chatbots are industrialising a very old human vulnerability. Every person with a smartphone now has access to the most patient, articulate, and tireless yes-man ever created &#8212; one that never sleeps, never pushes back, and is available around the clock.</p><p>I use AI every day. I will continue to. But this paper has changed <em>how</em> I use it &#8212; with more deliberate doubt, more friction, and a quiet awareness that the tool designed to help me think might, if I&#8217;m not careful, be helping me stop.</p><div><hr></div><p>If you are interested in any topic and would like me to write a blog post, do share your suggestions in the comments.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Taking Interviews in the Age of AI]]></title><description><![CDATA[Why the open-book exam was always the better test]]></description><link>https://vivekkant.substack.com/p/taking-interviews-in-the-age-of-ai</link><guid isPermaLink="false">https://vivekkant.substack.com/p/taking-interviews-in-the-age-of-ai</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Tue, 24 Mar 2026 07:22:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!caAr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Back in college, I had a professor who did something unusual. He allowed us to carry any book we wanted into the examination hall. Any book &#8212; textbooks, reference manuals, handwritten notes, anything. He even said we could walk to the library mid-exam and pick up additional books if we needed them.</p><p>Most of us assumed it would be the easiest exam of the semester. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>It was the hardest.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!caAr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!caAr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caAr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caAr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caAr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!caAr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2371299,&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://vivekkant.substack.com/i/191953445?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.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_!caAr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caAr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caAr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caAr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b260ae-ffc7-43d5-8950-b95b47935579_1536x1024.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>The questions were designed so that no book could simply hand you the answer. You had to understand the material deeply enough to know <em>which</em> book to reach for, <em>which</em> page mattered, and <em>how</em> to apply what you found to the specific problem in front of you. Students who didn&#8217;t understand the fundamentals wasted precious time flipping through pages, looking for answers that weren&#8217;t there in ready-made form. The ones who knew the subject used the books as accelerators &#8212; filling in a formula here, confirming an edge case there &#8212; while their understanding did the real work.</p><p>That professor was testing context, judgment, and applied understanding. Not memory.</p><p>Three decades later, most tech interviewers are still designing closed-book exams in an open-book world.</p><h2>The Arms Race You&#8217;ve Already Lost</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;694d1465-4fe8-4a40-b3c1-ec801277391b&quot;,&quot;duration&quot;:null}"></div><p>There are many <a href="https://www.youtube.com/results?search_query=ai+assisted+interview+share+your+screen">YouTube Shorts</a>&nbsp;videos making the rounds in which an interviewer, suspicious that the candidate is using AI, asks them to share their screen. The candidate calmly shares it &#8212; clean desktop, nothing visible. The interviewer is satisfied. The AI tool was running in stealth mode the entire time.</p><p>This isn&#8217;t a one-off hack. It&#8217;s an industry.</p><p>Tools like Final Round AI openly market an &#8220;Interview Copilot&#8221; that runs invisibly during screen sharing &#8212; no pop-ups, no visible interface, works across Zoom, Teams, and Google Meet. LockedIn AI publishes step-by-step guides on using its tool while sharing your screen&#8212;second monitors, keyboard shortcuts, and stealth mode. These tools listen to the interviewer&#8217;s question in real-time, generate structured answers, and display them where only the candidate can see. They explicitly advertise being &#8220;100% undetectable.&#8221; Some have over ten million users.</p><p>The industry&#8217;s response? Share your screen. Enable proctoring. Disable clipboard access. Watch for suspicious eye movement.</p><p>This is a surveillance arms race, and the tools are specifically engineered &#8212; with millions in funding &#8212; to stay one step ahead. You&#8217;re spending precious interview time policing the environment instead of evaluating the person.</p><p>We don&#8217;t ban calculators in finance interviews. We don&#8217;t ban IDEs in coding tests. Why are we banning AI?</p><h2>Flip the Frame: Allow AI. Fully.</h2><p>Here&#8217;s my contrarian take: <strong>let candidates use any AI tool they want.</strong> Fully. Openly. No restrictions.</p><p>Two reasons.</p><p><strong>First, AI tools are available on the job.</strong> Every engineer you hire will use Copilot, Claude, and ChatGPT daily. Banning AI in interviews evaluates a skill &#8212; working without AI &#8212; that has zero relevance to how they&#8217;ll actually work. You&#8217;re testing for a world that no longer exists.</p><p><strong>Second &#8212; and this is the real insight &#8212; allowing AI forces you to design better interviews.</strong> Just as my professor&#8217;s open-book policy forced him to write questions that tested understanding rather than recall, allowing AI to force interviewers to ask questions that test what actually matters. The quality of your interview goes <em>up</em>, not down.</p><h2>What Are You Actually Testing?</h2><p>In an <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">earlier blog</a>, I argued that the software engineering spectrum runs from Business Problem &#8594; System Architecture &#8594; Software Design &#8594; Code Structure &#8594; Syntax, and that AI&#8217;s capability drops dramatically as you move left on that spectrum. AI excels at syntax and patterns. It struggles with context, trade-offs, and domain judgment.</p><p>Your interview should test the left side of that spectrum. Three things matter:</p><p><strong>Their experience and its relevance to your context.</strong> Have they solved problems in a domain similar to yours? Can they connect their past work to your specific challenges? This is their accumulated context &#8212; the moat I wrote about &#8212; and it&#8217;s exactly what AI can&#8217;t fake.</p><p><strong>Their problem-solving and decision-making.</strong> How do they decompose an ambiguous problem? What trade-offs do they weigh &#8212; security versus usability versus speed, build versus buy, abstraction versus simplicity? How do they arrive at decisions under uncertainty? These are incommensurable trade-offs with no textbook answer.</p><p><strong>Their fundamentals applied to the domain.</strong> Not &#8220;explain polymorphism&#8221; but &#8220;given this lending workflow with these constraints, how would you design the abstraction layer?&#8221; Fundamentals aren&#8217;t trivia. They&#8217;re the lens through which you approach novel, context-rich problems.</p><h2>What You Don&#8217;t Need to Evaluate</h2><p><strong>Memory of technical concepts.</strong> If the answer is one search away, it&#8217;s not worth asking. AI is genuinely excellent at syntax and well-defined patterns &#8212; so why are you testing candidates on exactly the things AI does best?</p><p><strong>Generic questions.</strong> &#8220;What&#8217;s the difference between SQL and NoSQL?&#8221; will get the same AI-polished answer from every candidate. You learn nothing. Here&#8217;s a simple litmus test: if your question can be answered perfectly by ChatGPT with zero context about your company, your domain, or the candidate&#8217;s experience, it&#8217;s a bad interview question.</p><h2>Context Is the Moat &#8212; For Interviews Too</h2><p>In my <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">moat blog</a>, I argued that AI&#8217;s context problem is structural and compound: limited knowledge &#215; limited context window &#215; limited ability to transfer tacit knowledge. That same structural limitation is what makes context-driven interview questions AI-proof.</p><p><strong>Ask about their specific projects and what they built.</strong> &#8220;Walk me through the most complex system you designed. What constraints shaped your architecture?&#8221; AI can generate plausible architecture descriptions. It cannot fabricate a credible narrative of <em>arriving</em> at one through real constraints.</p><p><strong>Probe the hard problems &#8212; and why they were hard.</strong> &#8220;What was the hardest technical problem you solved? What made it hard <em>for you specifically</em>?&#8221; The qualifier &#8220;for you specifically&#8221; is key. The difficulty might have been organisational, domain-specific, or a gap in the team&#8217;s skills &#8212; deeply contextual, impossible to fake with AI.</p><p><strong>Evaluate trade-off decisions with pros and cons.</strong> &#8220;You chose Kafka over RabbitMQ &#8212; walk me through how you evaluated the options.&#8221; &#8220;You went with microservices for this module but kept that one monolithic &#8212; why the asymmetry?&#8221; These questions require weighing factors specific to a real situation &#8212; exactly where the moat is widest.</p><p><strong>Evaluate how they use AI.</strong> This is the new competency. Ask them to solve a problem <em>using</em> AI during the interview. Observe the quality of their prompts. How do they decompose the problem for the AI? How do they set guardrails? How do they validate output? How do they iterate when the AI gets it wrong? The engineer who uses AI well <em>is</em> your hire profile now.</p><h2>The Enhanced Interview</h2><p>The open-book exam didn&#8217;t make things easier. It made them harder &#8212; and better. It tested what actually mattered.</p><p>We are enhanced by AI. That&#8217;s the new reality &#8212; the same reality where I advised engineers to use AI as a force multiplier for their careers. The interview process must evolve to match.</p><p>Stop policing tools. Start designing context-rich evaluations. The best candidates aren&#8217;t the ones who can answer without AI. They&#8217;re the ones whose accumulated context &#8212; their moat &#8212; lets them do extraordinary work <em>with</em> it.</p><p>Allow the books. Design better questions.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Army vs. The Special Forces: Why Indian IT's Talent Model Won't Survive AI]]></title><description><![CDATA[When AI makes large armies redundant, you need highly skilled special forces]]></description><link>https://vivekkant.substack.com/p/the-army-vs-the-special-forces-why</link><guid isPermaLink="false">https://vivekkant.substack.com/p/the-army-vs-the-special-forces-why</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 06 Mar 2026 10:16:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BkDP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For three decades, Indian IT perfected a talent strategy built on a single insight: talent is cost. In a business model built on labour arbitrage, every rupee saved on an engineer flows directly to the margin. The playbook was simple &#8212; hire in volume, train to &#8220;good enough,&#8221; deploy on projects, repeat.</p><p>In my three-part series on <a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">Indian IT and the Lost Art of Engineering Excellence</a>, I diagnosed how this approach systematically traded engineering depth for operational efficiency. Those structural choices &#8212; from the T&amp;M billing trap to the hollowing out of technical career paths &#8212; were rational for an era where the product was hours and the competitive advantage was cost.</p><p>The talent pipeline was a commoditisation machine. Mass campus hiring optimised for trainability, not curiosity. Standardised training producing interchangeable &#8220;resources.&#8221; Skill depth calibrated to project needs &#8212; enough to execute, never enough to question. Career paths that pulled anyone with potential <em>out</em> of engineering into management.</p><p>The result: a vast middle tier of developers with shallow skills, and a tiny sliver of genuinely deep engineers &#8212; most of whom left for startups, GCCs, or product companies that actually valued what they could do.</p><p>That era is ending. AI doesn&#8217;t just add pressure to this model. It breaks it.</p><div><hr></div><h3>AI: The Multiplier That Divides</h3><p>The popular narrative says AI boosts developer productivity. This is half-true, and the half that&#8217;s missing is the part that matters.</p><p>As I argued in <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">Building Your Moat Against AI</a>, software engineering is not &#8220;coding.&#8221; The real work spans a spectrum: from understanding the business problem, through system architecture and design, down to syntax and implementation. AI&#8217;s capability drops dramatically as you move up that spectrum.</p><p>A strong engineer uses AI to move 2&#8211;5x faster across the full spectrum. AI handles boilerplate while the engineer focuses on context, trade-offs, and architecture &#8212; where real value lives. A shallow-skilled developer gets trapped in a different loop. AI generates plausible-looking code, but the developer lacks the depth to evaluate it &#8212; the architectural flaw, the missed edge case, the subtle production risk. The productivity gain from faster code generation is consumed by debugging and rework.</p><p>AI doesn&#8217;t raise the floor. It raises the ceiling &#8212; but only for those who were already near it. It&#8217;s a skill amplifier, not a skill equaliser.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BkDP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BkDP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BkDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6b46441-7492-449b-81ba-95007100283e_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2920870,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/190088681?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.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_!BkDP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BkDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b46441-7492-449b-81ba-95007100283e_1536x1024.png 1456w" sizes="100vw" loading="lazy"></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><div><hr></div><h3>The Tool Fallacy</h3><p>This is where many IT services companies are making a costly mistake. They&#8217;re rolling out AI coding tools &#8212; Copilot, CodeWhisperer, internal platforms &#8212; across their engineering workforce, expecting an automatic productivity boost. Some are even measuring tool adoption rates and usage metrics, as if the number of AI-generated suggestions accepted is a meaningful indicator of value.</p><p>It isn&#8217;t. Giving a shallow-skilled developer an AI coding assistant is like giving a student driver a Formula 1 car. The tool doesn&#8217;t compensate for the missing judgment &#8212; it amplifies the consequences of its absence. More code generated faster means more bugs shipped faster, more architectural debt accumulated faster, and more production issues created faster.</p><p>Measuring tool usage makes this worse. It incentivises acceptance of AI suggestions regardless of quality &#8212; the same pattern that turned &#8220;Agile transformation&#8221; and &#8220;DevOps adoption&#8221; into process theatre at most IT services firms. The metric becomes the goal, disconnected from the outcome it was supposed to represent.</p><p>The right question isn&#8217;t &#8220;are your developers using AI tools?&#8221; It&#8217;s &#8220;Do your developers have the depth to use AI tools <em>effectively</em>?&#8221; For most of the commoditised talent pool, the honest answer is no.</p><div><hr></div><h3>The Army Becomes a Liability</h3><p>If 5 strong, AI-augmented engineers can deliver what 25 average engineers delivered before, the mathematics of T&amp;M billing collapses. The &#8220;bench strength&#8221; model &#8212; talent as inventory &#8212; becomes dead weight.</p><p>Indian IT&#8217;s vulnerability runs deeper. The industry has a missing generation of deep technical practitioners. The management layer can&#8217;t evaluate AI-generated code. Junior developers can&#8217;t course-correct it. The &#8220;architects&#8221; who stopped coding years ago lack the hands-on fluency to guide AI tools productively. This isn&#8217;t a skills gap. It&#8217;s a <em>judgment gap</em> &#8212; and no amount of tool deployment or adoption metrics will close it.</p><div><hr></div><h3>David Eats Goliath</h3><p>Small and mid-tier IT firms that pivot to the special forces model will start capturing revenue that currently flows to the big players. They don&#8217;t have 200,000+ employees to restructure. They can adopt outcome-based pricing without cannibalising a massive T&amp;M base. They can attract strong engineers by offering ownership and a craft-first culture.</p><p>A mid-tier firm with 50 exceptional, AI-augmented engineers can compete with a large firm&#8217;s 500-person engagement &#8212; at lower cost, with better results. The revenue shift starts one deal at a time, but it compounds. As smaller firms build track records, the talent follows, creating a flywheel that large firms will find very hard to reverse.</p><p>There&#8217;s a model for what this looks like. Palantir&#8217;s Forward Deployed Engineers &#8212; small teams of elite engineers embedded with clients, measured on outcomes, not hours &#8212; helped build a company now worth over $400 billion. The directional signal is clear: the future belongs to small, deeply skilled teams delivering outcomes, not large teams billing time.</p><div><hr></div><h3>The Mercenary Option</h3><p>Most large IT firms cannot build a premium talent pool fast enough. The deep engineers they need are scarce, expensive, and don&#8217;t want to work in traditional IT services structures.</p><p>The alternative: a mercenary model. Highly skilled senior engineers engaged on a gig or fractional basis, deployed for the hard problems. Not traditional subcontracting &#8212; which in Indian IT usually means sourcing even cheaper labour &#8212; but the opposite: paying a premium for engineers with demonstrated depth and the ability to wield AI effectively.</p><p>These engineers bring the contextual judgment that AI cannot replace. They mentor existing teams. They solve the missing middle problem immediately, without a decade of transformation. And the cost, while high per individual, is far lower than failed deliveries and lost deals.</p><p>Indian IT firms must overcome two cultural barriers: seeing external talent as a capability multiplier rather than a cost threat, and accepting that individual engineers might earn more than delivery managers. But the mercenary model also creates a pipeline &#8212; some of these engineers, if the environment genuinely changes, may convert to permanent roles.</p><div><hr></div><h3>Build, Borrow, Learn</h3><p>The new talent strategy has three paths, pursued simultaneously.</p><p><strong>Build</strong> &#8212; hire fewer, stronger engineers. Pay them more. Create real technical career tracks. Make it possible for an engineer to have a fulfilling career without ever becoming a manager.</p><p><strong>Borrow</strong> &#8212; the mercenary model. Elite engineers on fractional engagements for immediate capability and to set standards.</p><p><strong>Learn</strong> &#8212; adopt the forward-deployed mindset. Small, empowered teams. Outcome-based delivery. Engineers who own problems end-to-end.</p><p>This replaces the hire-train-deploy commodity pipeline with something harder to build but far more defensible. And it demands that leadership stop treating AI tools as a magic productivity switch and start investing in the engineering depth that makes those tools actually work.</p><p>The army era is ending. The special forces era has begun. The question isn&#8217;t whether this transition will happen &#8212; it&#8217;s whether the incumbents will lead it or be disrupted by it.</p><div><hr></div><p><em>This post builds on my series on <a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">Indian IT and the Lost Art of Engineering Excellence</a> and <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">Building Your Moat Against AI</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Context Gap: What Your AI Coding Strategy Is Missing]]></title><description><![CDATA[You&#8217;ve seen the demos. You&#8217;ve read the case studies. Now here&#8217;s what actually happens when AI meets a production codebase.]]></description><link>https://vivekkant.substack.com/p/the-context-gap-what-your-ai-coding</link><guid isPermaLink="false">https://vivekkant.substack.com/p/the-context-gap-what-your-ai-coding</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 27 Feb 2026 07:23:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yNat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently wrote about why <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">context is the moat for software engineers</a> in the age of AI. That piece was for individual developers. This one is for the other side of the table &#8212; engineering leaders and IT services companies trying to adopt AI into their SDLC without blowing things up.</p><p>The short version: the biggest risk in AI adoption isn&#8217;t the technology. </p><p>It&#8217;s the context gap.</p><h2>The AI Tooling Fantasy</h2><p>Every AI coding tool demo follows the same script. A developer types a comment, AI generates a function, tests appear, and code reviews happen automatically. Someone pastes &#8220;40% productivity improvement&#8221; on a slide deck.</p><p>The demo always works. But the code being generated has no history &#8212; no legacy constraints, no regulatory guardrails, no battle scars from that production incident three years ago that shaped half your architecture. </p><p>The demo is a greenfield fantasy. Your codebase is not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yNat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yNat!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!yNat!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!yNat!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!yNat!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yNat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1955227,&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://vivekkant.substack.com/i/189336013?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.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_!yNat!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!yNat!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!yNat!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!yNat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6867e56-afa4-4f5e-9896-c772637e51a9_1536x1024.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><h2>The Contexts AI Doesn&#8217;t Have</h2><p>A senior developer looking at your codebase doesn&#8217;t just see code. They see layers of context that took years to accumulate. AI sees none of it.</p><p><strong>Domain rules.</strong> A lending platform is not an e-commerce site. When your loan management system handles a prepayment calculation in a particular way, it&#8217;s not because that was the most elegant solution. It&#8217;s because your teams collectively arrived at that interpretation after months of deliberation. AI will happily suggest a cleaner implementation that violates a regulatory constraint it has never heard of.</p><p><strong>The technical debt map.</strong> Your senior developers know which module is solid and which is a house of cards. AI doesn&#8217;t have this map. It&#8217;ll refactor code in a module everyone knows you touch only after extensive regression testing &#8212; walking into the minefield with the confidence of someone who has never seen an explosion.</p><p><strong>Institutional memory.</strong> Why does that redundant null check exist? Because of the vendor API that sends malformed responses at the month-end. The codebase is full of decisions that look wrong until you understand the context. AI sees &#8220;wrong&#8221; code and fixes it. The fix removes the safeguard.</p><p>Code tells you <em>what</em>. It rarely tells you <em>why</em>. AI reads your codebase as-is, misses the decision trail, and confidently &#8220;fixes&#8221; things that were deliberately left imperfect. It cleans up a workaround, and the next month-end batch fails. It removes &#8220;redundant&#8221; validation, and corrupted data flows downstream. AI solves a small problem by creating a bigger one.</p><h2>AI cannot Architect</h2><p>This point gets lost in the productivity narrative. Architecture is the art of choosing what to sacrifice &#8212; consistency vs. availability, speed vs. maintainability, build vs. buy. These aren&#8217;t puzzles with correct answers. They&#8217;re bets that depend on your team&#8217;s capabilities, your regulatory timeline, your budget, and a dozen factors outside the codebase.</p><p>AI can generate options and articulate theoretical tradeoffs well. What it cannot do is make the call: &#8220;Given that we need this in four weeks, with a team strong in Java but weak in event-driven patterns, facing an RBI compliance deadline in Q3, we should go with option B even though A is architecturally purer.&#8221;</p><p>Architecture is organizational decision-making expressed through technology. AI doesn&#8217;t do organizational decision-making.</p><h2>The Last Bug Problem</h2><p>Here&#8217;s a truth that productivity metrics ignore: building a feature might take three days. The last bug in that feature might take five.</p><p>AI accelerates the predictable 80% &#8212; scaffolding, boilerplate, well-understood patterns. But it&#8217;s often useless in the unpredictable 20% where debugging requires reasoning across layers, reproducing edge cases, and understanding system history. AI suggests fixes for symptoms. It rarely understands the disease.</p><p>The 40% productivity number is real for the easy part. Nobody&#8217;s measuring the hard part.</p><h2>Not All Code Carries Equal Risk</h2><p>A senior developer instinctively spends three hours on fifty lines of payment reconciliation logic and twenty minutes on a CRUD screen. That&#8217;s not inefficiency &#8212; it&#8217;s risk calibration. The payment logic handles real money and audit trails. The CRUD screen displays data.</p><p>AI doesn&#8217;t have this calibration. It applies the same confidence to both. Organizations that let AI move at uniform speed across the entire codebase are setting themselves up for failures in exactly the places that hurt most. The CRUD bug is a support ticket. The payment reconciliation bug is a regulatory incident.</p><p>Humans allocate attention based on consequence. AI allocates attention based on token prediction. These are not the same thing.</p><h2>The Deskilling Trap</h2><p>When junior developers rely on AI from day one, they never build the mental models that make senior developers valuable &#8212; debugging intuition, system thinking, understanding <em>why</em> code is shaped the way it is. AI-generated code works, tests pass, the PR gets approved. But the developer can&#8217;t explain the design choices, can&#8217;t reason about failure modes, and can&#8217;t modify it confidently when requirements change.</p><p>You save six months of onboarding today. You lose a generation of architects tomorrow.</p><h2>The Vibe Coding Danger</h2><p>&#8220;Vibe coding&#8221; &#8212; describing what you want in natural language and letting AI generate everything &#8212; takes every risk in this post and amplifies it. AI cannot architect? Vibe coding hands it the architecture decisions entirely. No risk calibration? Vibe coding doesn&#8217;t distinguish between a payment engine and a settings page. The deskilling trap? Vibe coding is deskilling on fast-forward.</p><p>For a side project, vibe coding is fun. For a production codebase with real users, real money, and real regulatory obligations, &#8220;it works, and I don&#8217;t know why&#8221; is not an acceptable state. It&#8217;s a liability waiting to be called in.</p><p>Vibe coding optimizes for the moment of creation and ignores the lifetime of maintenance. Someone has to debug it at 2 AM. Someone has to explain the calculation to an auditor. That someone won&#8217;t be able to, because nobody ever understood the code.</p><h2>The Adoption Curve Nobody Talks About</h2><p>In my experience, AI adoption follows a predictable three-phase curve that nobody in the vendor ecosystem has any incentive to discuss.</p><p><strong>Phase 1: The Sugar Rush.</strong> The first few weeks are magical. Developers love the autocomplete. Simple tasks get faster. Quick wins pile up. Management starts projecting ROI numbers.</p><p><strong>Phase 2: The Valley of Context.</strong> Around month two or three, the problems surface. AI-generated code causes subtle production bugs. A refactoring suggestion breaks something that &#8220;shouldn&#8217;t&#8221; have been affected. A junior developer ships AI-generated code that nobody fully understands, and when it fails, debugging takes longer than writing from scratch would have. The productivity gains shrink. Some developers start ignoring AI suggestions entirely.</p><p><strong>Phase 3: Productive Integration.</strong> The mature teams land here &#8212; if they make it through the valley. They&#8217;ve learned where AI helps and where it doesn&#8217;t. They&#8217;ve built guardrails. They use AI for the 80% where context matters less and keep humans in control of the 20% where it matters most.</p><p>Most organizations stall in the valley. They either retreat (&#8221;AI didn&#8217;t work for us&#8221;) or push through blindly without adjusting. Both are failures &#8212; one of adoption, the other of judgment.</p><h2>What Gets You Through</h2><p><strong>Start with context-light tasks.</strong> Boilerplate, test scaffolding, documentation, and simple refactoring. These are tasks where AI&#8217;s lack of context matters least, and its speed advantage matters most. Build confidence here before expanding the scope.</p><p><strong>Build the context layer.</strong> This is the investment most organizations skip and the one that matters most. Architecture Decision Records that explain <em>why</em>. Decision logs capturing rejected tradeoffs. Domain glossaries translate business concepts into technical terms. Make your institutional memory machine-readable &#8212; your new hires need it today, and your AI will need it tomorrow.</p><p><strong>Treat AI as a junior developer who joined yesterday.</strong> You wouldn&#8217;t let a day-one hire push to production or redesign your payment pipeline. You wouldn&#8217;t skip code review because they&#8217;re &#8220;really good.&#8221; Apply the same judgment to AI-generated code. Review everything. Question the assumptions. Verify the edge cases.</p><p><strong>Risk-weight AI involvement.</strong> High autonomy on admin screens and utility functions. Human-in-the-loop on payment logic, regulatory calculations, and security-sensitive code. Create a clear classification and stick to it.</p><p><strong>Invest in developer fundamentals alongside AI tooling.</strong> This is the deskilling antidote. Pair programming with AI is fine. But pair programming with humans is still irreplaceable for building the judgment that AI can&#8217;t teach.</p><h2>The Case for Optimism &#8212; Done Right</h2><p>I want to be clear: this piece is not anti-AI. The productivity benefits are real &#8212; faster prototyping, better test coverage, reduced boilerplate drudgery, democratized access to patterns and best practices. These are genuine, significant improvements.</p><p>But the organizations that will extract the most value are not the ones that adopt AI fastest. They&#8217;re the ones that adopt it most deliberately &#8212; with clear-eyed understanding of the context gap, with protective investment in their talent pipeline, and with the discipline to keep humans in the loop where judgment matters.</p><p>The vendor pitch: &#8220;AI writes the code, developers move to higher-level work.&#8221; The reality is more nuanced: &#8220;AI accelerates the parts where context matters least, freeing developers to spend more time on the parts where context matters most.&#8221;</p><p>That&#8217;s a less exciting story. But it&#8217;s a true one. And the organizations that build their adoption strategy around the true story &#8212; rather than the fantasy &#8212; will be the ones that actually capture the value.</p><p>The moat isn&#8217;t the AI tool. Every organization will have access to the same capabilities.</p><p>The moat is in knowing where to point it.</p><div><hr></div><p><em>Companion piece to <a href="https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software">Building Your Moat Against AI: A Software Engineer&#8217;s Guide</a>. </em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Building Your Moat Against AI: A Software Engineer’s Guide]]></title><description><![CDATA[What to do when AI does the coding?]]></description><link>https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software</link><guid isPermaLink="false">https://vivekkant.substack.com/p/building-your-moat-against-ai-a-software</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Sat, 21 Feb 2026 07:31:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-04f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few weeks ago, I listened to a podcast on <a href="https://the-ken.com/">The Ken</a> about <a href="https://the-ken.com/podcasts/two-by-two/who-is-the-entry-level-software-engineer-now/">entry-level software engineers in the age of AI</a>. I feel strongly about this topic &#8212; I&#8217;ve spent over 25 years in this industry, building systems, leading technology teams, and still coding four to five hours a day. So I wrote in with my thoughts. That led to me being on their next podcast about <a href="https://the-ken.com/podcasts/two-by-two/ranking-tcs-infosys-wipro-hcl-who-thrives-and-who-survives-in-the-ai-era/">how large IT services companies will fare in the age of AI</a>.</p><p>After both conversations, one question kept nagging me: if AI is coming for software engineering work, what should engineers actually <em>do</em> about it?</p><p>My answer is a single word: <strong>context</strong>. Context is the moat. It is the thing AI fundamentally struggles with, and the thing experienced engineers accumulate over years without even realising they&#8217;re doing it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-04f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-04f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 424w, https://substackcdn.com/image/fetch/$s_!-04f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 848w, https://substackcdn.com/image/fetch/$s_!-04f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 1272w, https://substackcdn.com/image/fetch/$s_!-04f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-04f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png" width="640" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:845852,&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://vivekkant.substack.com/i/188692436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.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_!-04f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 424w, https://substackcdn.com/image/fetch/$s_!-04f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 848w, https://substackcdn.com/image/fetch/$s_!-04f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.png 1272w, https://substackcdn.com/image/fetch/$s_!-04f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2edf83e-8f1f-4719-a1d9-b9f7235e21d4_640x550.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><h2>Software Engineering Is Not &#8220;Coding&#8221;</h2><p>The conversation about AI replacing engineers fixates on coding &#8212; writing lines of code, generating functions, and autocompleting syntax. This reveals a profound misunderstanding of what software engineers actually do.</p><p>The real work spans a much wider spectrum:</p><p><strong>Business Problem</strong> &#8594; <strong>Functional Solution</strong> &#8594; <strong>System Architecture</strong> &#8594; <strong>Software Design</strong> &#8594; <strong>Code Structure</strong> &#8594; <strong>Syntax &amp; Implementation</strong></p><p>At the left end, you&#8217;re understanding what needs to be solved and why &#8212; market pressures, regulatory constraints, what users actually struggle with. You&#8217;re translating that into workflows, edge cases, and system boundaries. At the right end, you&#8217;re writing lines of code in a specific language and framework.</p><p>Here&#8217;s the crucial insight: AI&#8217;s capability decreases dramatically as you move left. At the syntax level, AI is genuinely excellent. At the business problem level, it&#8217;s essentially useless without heavy human guidance. Most commentary about AI replacing programmers focuses on the rightmost two layers. That&#8217;s a dangerously narrow view.</p><h2>Context Is Bigger Than You Think</h2><p>Why does AI struggle with the left side? Because it&#8217;s context-heavy. And context is a much bigger concept than most people realise.</p><p>Context is not just about the specific problem you&#8217;re solving right now. It&#8217;s the <strong>accumulated reservoir</strong> of everything an engineer has absorbed over years &#8212; domain knowledge, past failures, architectural patterns that worked and ones that didn&#8217;t, intuitions about where complexity hides, and the hard-won wisdom of having been wrong before.</p><p><strong>Domain context</strong> &#8212; understanding not just the requirements but <em>why</em> they exist. If you work in lending, it&#8217;s knowing the gap between how a policy is written and how exceptions are actually handled.</p><p><strong>Architectural context</strong> &#8212; knowing why the system is shaped the way it is, what trade-offs were made, what technical debt was deliberately accepted, and why.</p><p><strong>Design context</strong> &#8212; understanding what needs to be flexible versus fixed, which requires business intuition, not just technical skill.</p><p><strong>Organisational context</strong> &#8212; team capabilities, deployment constraints, compliance requirements that never appear in architecture diagrams.</p><p><strong>Historical context</strong> &#8212; the accumulated wisdom from every production incident, every migration that went sideways, every &#8220;simple&#8221; feature that turned into a six-month project.</p><p>When a senior engineer says &#8220;this feels like it&#8217;ll break in production,&#8221; they&#8217;re not guessing. They&#8217;re drawing on a vast, mostly unconscious pattern library built over the years. This is nearly impossible to transfer to an AI.</p><h2>AI&#8217;s Context Problem Is Structural</h2><p>I want to be precise about this because too many people dismiss it by saying &#8220;just wait until context windows get bigger.&#8221; AI&#8217;s context problem is structural and compound at multiple levels.</p><p><strong>AI&#8217;s knowledge boundary.</strong> Models are trained on public code and docs. But your business domain, your system&#8217;s quirks, your organisation&#8217;s constraints &#8212; none of that is in the training data.</p><p><strong>The context window limitation.</strong> Even at a million tokens, you cannot paste the totality of a real system &#8212; millions of lines of code, years of decisions, regulatory documents, undocumented institutional knowledge &#8212; into a prompt.</p><p><strong>The human bottleneck.</strong> AI is only as good as the context you give it. But humans are terrible at articulating tacit knowledge. The design instinct, the architectural smell, the sense that an approach will create problems six months from now &#8212; you can&#8217;t prompt what you can&#8217;t articulate.</p><p>These limitations multiply each other. Limited knowledge &#215; limited window &#215; limited ability to transfer tacit knowledge = AI that&#8217;s excellent at syntax but frequently wrong on substance.</p><h2>Where the Moat Is Widest: Trade-off Decisions</h2><p>If context is the moat, complex trade-offs are where it&#8217;s widest. Software engineering is fundamentally a discipline of trade-offs, and these require weighing incommensurable factors.</p><p>Security versus usability versus development speed &#8212; how much friction do you add to reduce attack surface? How much security can you defer to meet a launch deadline? There&#8217;s no formula. It depends on the threat model, the user base, the regulatory environment, and the business&#8217;s risk appetite.</p><p>Build versus buy versus open-source &#8212; this looks like a technical decision, but it&#8217;s really a business one. It depends on team skills, timeline, vendor dependency tolerance, and long-term product vision. Abstraction versus simplicity &#8212; over-abstracting is as dangerous as under-abstracting, and knowing which way to lean requires understanding how much and in which dimensions the system will change, which is business intuition, not technical knowledge.</p><p>Short-term delivery pressure versus long-term technical health &#8212; sometimes you take on debt deliberately because the business needs the feature by Friday; sometimes you push back because the debt will cripple velocity for two quarters. Knowing when to do which is a contextual skill.</p><p>Ask any AI about microservices versus monoliths, and you&#8217;ll get a thorough, balanced, textbook answer. But you don&#8217;t need a textbook answer. You need the <em>right</em> answer for <em>your</em> situation &#8212; your team&#8217;s maturity, your operational capabilities, your domain complexity. That contextual judgement is where experienced engineers are irreplaceable.</p><h2>Be Honest About Where AI Excels</h2><p>AI is genuinely good at syntax generation, boilerplate, well-defined patterns, refactoring within bounded scope, test generation with explicit expectations, and language translation. Engineers who operate <em>only</em> at the syntax level are genuinely at risk. That&#8217;s not a reason to panic &#8212; it&#8217;s a reason to grow.</p><h2>How to Build Your Moat</h2><p><strong>Go deep into a domain.</strong> Don&#8217;t just write code for banking &#8212; understand credit risk, regulatory reporting, settlement cycles. Don&#8217;t just build healthcare software &#8212; understand clinical workflows and the gap between how systems are designed and how they&#8217;re actually used at 2 AM.</p><p>The engineer who understands the domain will always out-architect the one who doesn&#8217;t, regardless of their AI tools. Domain expertise is among the hardest forms of context to acquire and the most valuable to possess.</p><p><strong>Develop trade-off judgement.</strong> Seek out messy, ambiguous problems where requirements are contradictory, and there&#8217;s no obviously right answer. That&#8217;s where contextual judgement is built &#8212; slowly, one hard problem at a time.</p><p><strong>Build tacit knowledge deliberately.</strong> Work on complex systems end-to-end. Volunteer for the migration project. Debug the mysterious production issue. Every one of these experiences deposits context that AI cannot acquire.</p><p><strong>Move left on the spectrum.</strong> If you spend most of your time at the syntax layer, push yourself toward design, architecture, and business problem understanding. The further left you operate, the wider your moat.</p><p><strong>Be the context bridge.</strong> The most valuable engineer translates fluently between business stakeholders and technical systems. This is deeply human, deeply contextual, and deeply resistant to automation.</p><p><strong>Use AI as a force multiplier.</strong> Let AI handle boilerplate while you invest freed-up time into context-rich work. Engineers who wield AI well while deepening their context will outperform everyone else.</p><h2>What This Means for the Industry</h2><p>For IT services companies selling engineering capacity, the pressure is real. If AI generates code faster and cheaper, &#8220;lots of engineers who can write code&#8221; loses its value. The opportunity lies in moving toward context-rich work: domain consulting, architecture advisory, and system modernisation requiring deep institutional knowledge.</p><p>For entry-level engineers, the on-ramp looks different now &#8212; less syntax drilling, more domain immersion and system thinking from day one. The career is far from dead, but the path has changed.</p><p>And for experienced engineers, your accumulated context has never been more valuable. The irony of the AI age is that it makes human experience <em>more</em> important by automating the commodity work and putting a premium on judgment</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>.</p><h2>Conclusion</h2><p>AI is getting remarkably good at writing code. It is not getting good at context &#8212; and that gap is structural, not temporary. It stems from the fundamental nature of what context is: tacit, experiential, organisational, historical, and deeply personal. It&#8217;s the kind of knowledge that can&#8217;t be pasted into a prompt because the person who holds it often can&#8217;t fully articulate it themselves.</p><p>The moat isn&#8217;t about competing with AI on speed or syntax. It&#8217;s about being the person who knows <em>what</em> to build, <em>why</em> to build it, and <em>how to make the hundreds of trade-off decisions</em> that shape a real system.</p><p>Your years of experience, your domain knowledge, your battle scars from production &#8212; that&#8217;s not obsolete. That&#8217;s your moat.</p><p>Build it deeper.</p>]]></content:encoded></item><item><title><![CDATA[Scaling Financial Services Transaction Processing with Event-Driven Architecture]]></title><description><![CDATA[Rethinking batches, not replacing them]]></description><link>https://vivekkant.substack.com/p/scaling-financial-services-transaction</link><guid isPermaLink="false">https://vivekkant.substack.com/p/scaling-financial-services-transaction</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Mon, 09 Feb 2026 11:00:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ogbR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Financial services run on batches. End-of-day processing, clearing and settlement, interest calculations, regulatory reporting&#8212;these aren&#8217;t relics of a bygone era. They&#8217;re structural requirements driven by how markets operate.</p><p>The problem isn&#8217;t batch processing. It&#8217;s how we&#8217;ve architected it.</p><h2>The Monolith Problem</h2><p>Picture a typical EOD run. The system goes into maintenance mode. A massive job kicks off&#8212;processing loans sequentially, one after another. Nothing else can touch the database until it&#8217;s done. Operations teams watch dashboards nervously. If something fails at record 50,000 of 200,000, decisions must be made. Restart from scratch? Skip and reconcile later?</p><p>This isn&#8217;t a technology limitation. It&#8217;s an architectural choice made decades ago when compute was expensive and sequential processing was the only sensible option.</p><p>That world no longer exists.</p><h2>Reframing the Batch</h2><p>The shift isn&#8217;t from batch to real-time&#8212;that&#8217;s a false dichotomy. Settlement will remain T+1. Regulatory reports will still have cut-off times. Interest will still be calculated at day-end.</p><p>What changes is the <em>batch's internal architecture</em>.</p><p>Instead of a monolithic job that does everything, the batch scheduler becomes an event emitter. It fires one event per unit of work&#8212;per loan, per account, per transaction. A pool of event processors picks these up in parallel, each locking only the specific entity it&#8217;s working on.</p><p>The system stays up. Users can query their accounts. Only the record being processed is momentarily locked.</p><h2>Event Pipelines and Chaining</h2><p>Real-world EOD processing isn&#8217;t a single operation. For a loan, you might need to calculate interest, apply fees, check for penalties, update balances, and generate statement entries. In the monolithic world, this is one giant sequential job.</p><p>In an event-driven architecture, it becomes a pipeline. The scheduler emits a &#8220;process-loan-eod&#8221; event. The interest processor picks it up, calculates, and emits &#8220;interest-calculated.&#8221; The fee processor listens for that event, does its work, and emits another. The pipeline flows&#8212;parallel where possible, sequential where business logic demands.</p><p>Each processor is focused, testable, and independently scalable. If the fee calculation becomes a bottleneck, scale that component. The rest of the pipeline doesn&#8217;t care.</p><h2>Complex Event Processing</h2><p>Beyond simple event chaining lies pattern detection. A Complex Event Processing layer monitors the event stream, looking for conditions that emerge from combinations of events.</p><p>A single transaction isn&#8217;t suspicious. But three large withdrawals across related accounts within an hour? The CEP engine spots this pattern and emits an alert&#8212;while the core processing continues uninterrupted.</p><p>This is intelligence layered onto the pipeline, not embedded within it.</p><h2>Event Store and Event Logging</h2><p>Events aren&#8217;t just messages that disappear after processing. They&#8217;re facts that must be persisted.</p><p>The event store becomes your system of record&#8212;every event captured with its full payload, timestamp, and correlation ID. When auditors ask, &#8220;What happened to this account on March 15th?&#8221; you replay the events. When something goes wrong, you have complete lineage.</p><p>Equally important is tracking the event lifecycle. Each event moves through states: Published, Acknowledged, Processing, Processed, Failed. This isn&#8217;t bureaucratic overhead&#8212;it&#8217;s operational visibility. Dashboards show batch progress in real-time. Failed events are isolated, investigated, corrected, and refired without rerunning the entire batch.</p><p>Idempotency becomes critical here. A refired event must produce the same outcome as the original. Design for this from day one.</p><h2>Distributed Locking and Concurrency</h2><p>The magic of keeping systems available during batch processing comes down to one principle: lock only what you&#8217;re touching.</p><p>Fine-grained locking at the entity level&#8212;using distributed lock managers like Redis or ZooKeeper patterns&#8212;replaces system-wide shutdowns. Lock timeouts prevent deadlocks. Optimistic locking works where contention is low; pessimistic locking works where it isn&#8217;t.</p><p>This is where architecture becomes engineering. The patterns exist. The discipline to implement them correctly separates systems that scale from systems that struggle.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ogbR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ogbR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 424w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 848w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 1272w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ogbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png" width="1066" height="692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/058761d6-0259-49fb-8763-69920e41650c_1066x692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:692,&quot;width&quot;:1066,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83101,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/187378507?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.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_!ogbR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 424w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 848w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 1272w, https://substackcdn.com/image/fetch/$s_!ogbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058761d6-0259-49fb-8763-69920e41650c_1066x692.png 1456w" sizes="100vw" loading="lazy"></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><h2>The Payoff</h2><p>What does this buy you?</p><p>Maintenance windows shrink or disappear. Batch processing time drops&#8212;parallel processing with 50 workers beats sequential processing by a factor that compounds with volume. Failed transactions are isolated rather than blocking everything behind them. Scaling becomes horizontal&#8212;add processors, not bigger servers.</p><p>And critically: you have a complete, auditable, replayable record of everything that happened.</p><div><hr></div><p>Financial services will always have batch requirements. The question isn&#8217;t whether to batch&#8212;it&#8217;s whether your batches are designed for the infrastructure realities of today or the constraints of thirty years ago.</p><p>Event-driven architecture doesn&#8217;t eliminate batches. It makes them modern.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Indian IT and the 'LOST' Art of Engineering Excellence - Part 3]]></title><description><![CDATA[Part 3: The Way Forward]]></description><link>https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-d78</link><guid isPermaLink="false">https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-d78</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Thu, 22 Jan 2026 10:30:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8zIN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">In Part 1, we examined the crisis</a> &#8212; stagnating growth, talent exodus, and the persistent &#8220;implementer&#8221; perception. <a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-229">In Part 2, we traced the structural causes</a>: manufacturing mindset applied to software, operational efficiency prioritised over engineering productivity, and seven factors that systematically traded excellence for predictability.</p><p>The diagnosis is complete. Now the harder question: What would transformation actually require?</p><p>This isn&#8217;t about restating problems. It&#8217;s about fundamentals &#8212; what must change across three dimensions: Product, Process, and People.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8zIN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8zIN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 424w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 848w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 1272w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8zIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif" width="973" height="839" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:839,&quot;width&quot;:973,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80705,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/185159779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8zIN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 424w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 848w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 1272w, https://substackcdn.com/image/fetch/$s_!8zIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ece3156-4c6d-4e72-8f13-5ccf68d1806d_973x839.avif 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><div><hr></div><h3>Product: What Should Indian IT Actually Be Selling?</h3><p>Here&#8217;s the root question: What exactly is the product of an IT services company?</p><p>Currently, the answer is time. Hours. Bodies. &#8220;Resources.&#8221;</p><p>This is the fundamental problem. When you sell time, productivity is your enemy. Engineering excellence becomes overhead. The incentive is to take longer, not to be better.</p><p><strong>The shift required:</strong></p><p><em>From time to outcomes.</em> Clients don&#8217;t want hours &#8212; they want problems solved. Outcome-based models change everything: fixed price for deliverables, gain-sharing on business impact. If you&#8217;re paid for outcomes, productivity becomes your friend.</p><p><em>From talent to capability.</em> Talent is a commodity. Capability is differentiated. Capability means talent plus methodology plus tools plus accumulated IP. One team with genuine capability delivers what five teams without it cannot.</p><p><em>From execution to expertise.</em> Execution can be automated and commoditised further. Expertise commands a premium. Deep domain knowledge combined with technical depth creates a defensible position. Be the company clients call when the problem is hard, not when the budget is tight.</p><p>The implications: outcome-based pricing demands engineering excellence to deliver profitably. R&amp;D becomes a strategic necessity. Revenue per employee matters more than headcount.</p><div><hr></div><h3>Process: Rethinking How Software Gets Built</h3><p><strong>From phase-gate to continuous.</strong> Waterfall mindset persists even when we call it &#8220;Agile.&#8221; True engineering means continuous integration, delivery, and feedback. Quality built in, not bolted on.</p><p><strong>From functional to non-functional parity.</strong> Performance, security, and scalability cannot be &#8220;phase 2&#8221; concerns. Phase 2 never comes. These must shape architecture from day one.</p><p><strong>From defect counting to technical health.</strong> Bug counts and test coverage are poor proxies for quality. What&#8217;s missing: technical debt ratio, maintainability, deployment frequency, mean time to recovery. We&#8217;re measuring the wrong things.</p><p><strong>From process theatre to genuine practices.</strong> Code reviews that actually improve code. Architecture reviews led by people who still understand code. Automation as default.</p><p><strong>Developer experience as a multiplier.</strong> Modern tooling, CI/CD pipelines, and AI-assisted coding. Access to open source &#8212; treat it as leverage, not risk. Kill the VDI. Give engineers environments that amplify productivity.</p><p>None of this is revolutionary. Product companies have operated this way for years. The question is whether IT services can adopt these practices when their business model has historically worked against them.</p><div><hr></div><h3>People: Building True Engineering Capability</h3><p>This is the hardest part. Where do you start when leadership can&#8217;t code, and middle management has forgotten how?</p><p>First, acknowledge the gap. You cannot lead what you don&#8217;t understand. Process and metrics are poor substitutes for genuine technical judgment.</p><p><strong>The foundation: Individual contribution and demonstrated depth</strong></p><p>Engineering excellence is ultimately individual. It shows up in the code, the design, the solution. Organisations don&#8217;t write code &#8212; people do.</p><p>Individual contribution must be visible and valued at every level. Not just &#8220;who delivered the project&#8221; but &#8220;who solved the hard problem, who wrote the elegant solution.&#8221; This visibility should extend from the trainee engineer to the CTO.</p><p>Demonstrated depth must matter more than claimed expertise. Certifications prove you passed a test. Open source contributions prove you can build. A GitHub profile, technical blogs, conference talks &#8212; these demonstrate depth in ways credentials cannot.</p><p>Open source deserves special emphasis. Contributing forces you to write code that others will judge. It builds a reputation beyond organisational hierarchy. It keeps skills current. Make it part of how you evaluate engineers &#8212; not extracurricular, but core to being an engineer.</p><p>Most importantly, leaders must demonstrate, not just delegate. A CTO who hasn&#8217;t committed code in a decade cannot credibly judge technical quality. &#8220;I used to code&#8221; is not &#8220;I still understand code.&#8221;</p><p><strong>Building technical leadership:</strong></p><p><em>Grow from within.</em> Identify engineers with depth and leadership potential. Look for demonstrated contribution: open source, internal tools, complex problems solved. Make Distinguished Engineer a real role with real prestige &#8212; not a consolation prize.</p><p><em>Acquire from outside.</em> Hire technical leaders from product companies. Look for what they&#8217;ve built and contributed. Accept the culture clash &#8212; that&#8217;s the point.</p><p><em>Upskill selectively.</em> Not everyone can reskill. For those who can: real technical work, not certificates. The test: can they review code with substantive feedback?</p><p><em>Restructure.</em> Small, empowered teams with embedded technical leadership. Technical decisions made by technical people.</p><p><strong>Building culture:</strong> Hire for curiosity and craft &#8212; look for side projects and contributions. Create forums for technical work to be visible. Celebrate engineering achievements. Make it acceptable to say &#8220;this code is not good enough.&#8221;</p><div><hr></div><h3>The Transformation Sequence</h3><p>You can&#8217;t change everything at once. Attempting organisation-wide transformation typically fails &#8212; too many antibodies, too much inertia. A more realistic approach:</p><p><strong>Start with a beachhead.</strong> One business unit, one practice area, one client engagement willing to try outcome-based pricing. Ring-fence it from the rest of the organisation. Give it room to operate differently.</p><p><strong>Staff it differently.</strong> Technical leadership with demonstrated depth &#8212; people who&#8217;ve built things, contributed to open source, and earned technical credibility. Engineers who care about craft and want to work this way. This team must be genuinely different, not just relabelled.</p><p><strong>Invest in tooling and process.</strong> Modern SDLC, genuine developer experience, quality practices that measure what matters. This is where you prove that engineering productivity beats operational efficiency.</p><p><strong>Make the contribution visible.</strong> Encourage open source participation, internal tools, and technical content. Measure and celebrate individual technical contributions. Create the culture you want to scale.</p><p><strong>Demonstrate results.</strong> Delivery quality, engineer retention, client satisfaction, and profitability. Build hard evidence that this model works. Numbers matter when convincing skeptics.</p><p><strong>Expand gradually.</strong> Use proof points to make the internal case. Let success create demand. Engineers elsewhere will see what&#8217;s possible and want to be part of it. Scale what works; don&#8217;t mandate what hasn&#8217;t been proven.</p><p><strong>What leadership must accept:</strong> Short-term revenue disruption is likely. Some existing clients won&#8217;t pay for outcomes &#8212; let them go. Some managers won&#8217;t adapt &#8212; hard decisions required. Your own technical depth will be exposed &#8212; lead the re-skilling by example. Transformation takes years, not quarters. But the alternative is managed decline.</p><div><hr></div><h3>Who Can Drive This?</h3><p><strong>From inside:</strong> Technical leaders with demonstrated depth and board support. Engineers with visible contributions who&#8217;ve earned credibility.</p><p><strong>From outside:</strong> Clients demanding outcomes. Talent attrition is forcing introspection. AI is making the volume model obsolete.</p><p><strong>The uncomfortable truth:</strong> Large incumbents face the innovator&#8217;s dilemma. Transformation may come more easily to mid-sized firms and new entrants. Some companies will transform. Many will manage decline.</p><div><hr></div><h3>What Individual Engineers Can Do</h3><p>Don&#8217;t wait for the industry to change.</p><p>Build demonstrated depth: contribute to open source, write about what you learn, build side projects, speak at meetups. Your GitHub profile and contributions travel with you.</p><p>Seek environments where contribution is visible and valued. Be the technical leader you wish you had. If your environment won&#8217;t let you contribute meaningfully, find one that will.</p><p>The best engineers have options. Build yours through demonstrated excellence.</p><div><hr></div><h3>Closing Reflection</h3><p>The original model was brilliant for its time. It created an industry, employed millions, and transformed India&#8217;s economy.</p><p>But the world has changed. Cloud, automation, AI &#8212; the volume model faces existential pressure.</p><p>Engineering excellence is no longer a luxury. It&#8217;s survival.</p><p>And excellence is ultimately individual. It shows up in the code, the architecture, and the solution. Organisations that want excellence must create environments where individual contribution is visible, valued, and rewarded.</p><p>The proof that Indians can build world-class technology exists. UPI. Zerodha. Zoho. The talent exists. The capability exists.</p><p>The question is whether the IT services industry can create environments where that excellence can flourish. Whether leaders will invest in genuine technical depth, starting with themselves.</p><p>For those willing to change: the path is hard but clear.</p><p>For those who aren&#8217;t: the market will decide for them.</p><p>The talent exists. The capability exists. Does the will?</p><div><hr></div><p><em>This concludes the three-part series. Part 1 examined the crisis. Part 2 traced the causes. Part 3 outlined the path forward.</em></p><p><em>If these ideas resonated &#8212; or provoked disagreement &#8212; I welcome the discussion.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Indian IT and the 'LOST' Art of Engineering Excellence - Part 2]]></title><description><![CDATA[Part 2: How We Got Here]]></description><link>https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-229</link><guid isPermaLink="false">https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-229</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 16 Jan 2026 06:38:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!R6Xw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering">In Part 1, we examined the crisis facing Indian IT</a> &#8212; stagnating growth, talent exodus, the &#8220;implementer&#8221; perception, and the uncomfortable pattern of always catching up, never leading. We also saw evidence that the problem isn&#8217;t talent. UPI, Aadhaar, Zerodha, Zomato, Zoho &#8212; Indians build world-class technology when the environment supports it.</p><p>So if not talent, then what?</p><p>The answer lies in the structural choices made over the past three decades. Choices that, collectively, optimised against engineering excellence. Before we examine these factors, we need to define what we lost.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R6Xw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R6Xw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 424w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 848w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 1272w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R6Xw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif" width="1074" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1074,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51921,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/184741450?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!R6Xw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 424w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 848w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 1272w, https://substackcdn.com/image/fetch/$s_!R6Xw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aee26e6-ce8a-41df-941d-ef569f829982_1074x806.avif 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><div><hr></div><h3>What Engineering Excellence Actually Means</h3><p>Engineering excellence isn&#8217;t about using the latest frameworks or having impressive certifications. It&#8217;s about:</p><ul><li><p><strong>Technical depth</strong> &#8212; Understanding fundamentals, not just tool familiarity</p></li><li><p><strong>Craft and quality</strong> &#8212; Code that is maintainable, readable, built to last</p></li><li><p><strong>Sound architecture</strong> &#8212; Systems designed for change, scale, and resilience</p></li><li><p><strong>Engineering productivity</strong> &#8212; Delivering more value through better tools, practices, and design</p></li><li><p><strong>Developer experience</strong> &#8212; Environments that amplify engineers rather than hinder them</p></li><li><p><strong>Technical leadership</strong> &#8212; Engineers who shape decisions, not just execute them</p></li><li><p><strong>Continuous improvement</strong> &#8212; Relentless pursuit of better ways to build</p></li></ul><p>This is what separates technology leaders from followers. It&#8217;s what allows small teams to outperform large ones. It&#8217;s what every successful Indian technology company in Part 1 had in common.</p><p>And it&#8217;s what Indian IT services systematically traded away.</p><div><hr></div><h3>The Fundamental Misunderstanding</h3><p>Indian IT made a critical error early on: it applied manufacturing principles to software development.</p><p>Treat engineers as interchangeable units. Standardise processes. Minimise variation. Optimise for predictability. This works brilliantly for assembling cars or electronics.</p><p>But software is fundamentally different. Manufacturing is about replication; software is about creation. In manufacturing, variation is the enemy; in software, every problem is unique. Manufacturing scales by adding capacity; software scales by better design.</p><p>Most importantly: a factory worker&#8217;s output is linear. An engineer&#8217;s output is not. The best engineer isn&#8217;t 10% better than average &#8212; they can be 10x better. But only if the system lets them be.</p><p>We built systems that didn&#8217;t let the engineer leverage non-linear productivity.</p><div><hr></div><h3>Operational Efficiency vs. Engineering Productivity</h3><p>Here&#8217;s where the misunderstanding became costly.</p><p><strong>Operational efficiency</strong> asks: How do we maximise billable hours? Improve utilisation rates? Reduce cost per hour?</p><p><strong>Engineering productivity</strong> asks: How do we maximise value delivered? Reduce complexity? Improve cost per outcome?</p><p>Indian IT mastered operational efficiency. We squeezed 10% more out of existing approaches through process improvements and &#8220;lean&#8221; initiatives.</p><p>But we ignored engineering productivity &#8212; where 2x or 10x improvements were possible through better tooling, automation, and architecture. The former just requires tighter management. The latter requires engineering excellence.</p><p>We got very good at the wrong optimisation.</p><div><hr></div><h3>The Seven Structural Factors</h3><h4>1. Project Management Ate Engineering</h4><p>Software development became a logistics problem, not an engineering discipline. Success meant hitting delivery milestones, not building quality solutions. PMO culture dominated; engineering culture atrophied.</p><p>Career paths led away from code. If you&#8217;re still coding at 35, something &#8220;went wrong.&#8221; The message was clear: management is the destination, engineering is just the starting point.</p><p>This created a deeper problem. In most industries, leadership grows from practitioners who mastered the craft. FMCG leaders typically started in sales, understanding customers firsthand. Automobile executives often began in engineering divisions. They speak the language of their industry because they live it.</p><p>Indian IT grew differently. Many leaders rose through project management, client management, or business development &#8212; some never wrote production code. And technology changes fast. Leaders who coded in the client-server era have little intuition for cloud-native development. Even those with technical backgrounds often didn&#8217;t keep pace as the craft evolved.</p><p>The result: strategic decisions made without a deep understanding of what&#8217;s being decided. Over-reliance on process and metrics as proxies for technical judgment. This isn&#8217;t about blame &#8212; it&#8217;s a structural gap that shaped the industry&#8217;s trajectory.</p><h4>2. The T&amp;M Business Model Trap</h4><p>When revenue is tied to hours billed, productivity becomes the enemy.</p><p>Solve a problem faster? Less billing. Automate a repetitive task? Eliminate future revenue. Build a reusable component? Cannibalise next quarter&#8217;s project.</p><p>T&amp;M doesn&#8217;t just fail to reward efficiency &#8212; it actively punishes it. Why invest in engineering productivity when more hours equal more revenue?</p><p>Over decades, this shapes culture in ways that become invisible. The incentives seep into every decision, every project structure, every career choice.</p><h4>3. The Hollowing Out of Technical Career Paths</h4><p>The best engineers got &#8220;promoted&#8221; &#8212; out of engineering.</p><p>Technical career tracks were either absent or dead-end. &#8220;Architect&#8221; became a title given to those who stopped coding years ago, not a practice requiring hands-on technical judgment.</p><p>The result: a missing middle. Managers who allocate resources but can&#8217;t evaluate designs. No one left to mentor junior engineers or demand technical rigour. Architecture reviews became process theatre rather than genuine technical governance.</p><h4>4. Quality Reduced to Checkbox Compliance</h4><p>Quality became a numbers game. Defect density. Test coverage percentages. SLA compliance. These became proxies for actual quality.</p><p>What didn&#8217;t get measured: technical debt accumulation, code maintainability, architectural fitness, and long-term sustainability. If the metric looked good, the box got checked.</p><p>Non-functional requirements fared worse. Performance, scalability, security, observability &#8212; these became &#8220;phase 2&#8221; concerns. Phase 2 rarely came. Systems that demoed well struggled in production. &#8220;We&#8217;ll optimise later&#8221; &#8212; later never arrived.</p><p>The cost of fixing issues in production far exceeds building them right. But that cost didn&#8217;t show up in the metrics anyone tracked.</p><h4>5. Developer Experience Ignored</h4><p>The engineers&#8217; working environment was an afterthought.</p><p>VDI infrastructure that made developers wait minutes for basic operations. Restricted access to open source tooling &#8212; the very tools powering modern development. Locked-down environments citing &#8220;client constraints&#8221; and &#8220;security requirements&#8221; that were often self-imposed and never challenged.</p><p>While startups gave engineers MacBooks and autonomy, IT services gave them virtual desktops and ticket-based tool requests. The message was clear: developer productivity doesn&#8217;t matter, only compliance does.</p><p>The irony: constraints meant to ensure security often led to shadow IT and worse security outcomes.</p><h4>6. Talent as Inventory</h4><p>The language tells the story: &#8220;resources,&#8221; &#8220;bench strength,&#8221; &#8220;utilisation.&#8221;</p><p>Engineers managed like warehouse capacity, not craftspeople. Career development focused on certifications &#8212; easy to measure &#8212; rather than craft and depth, which aren&#8217;t. Training meant compliance, not genuine capability building.</p><p>Hiring optimised for volume, not potential. The engineers who cared about craft? Many left for startups, product companies, or opportunities where engineering excellence mattered.</p><h4>7. Scale Through Commoditisation</h4><p>The playbook was simple: hire graduates in volume, train them in standardised processes, and deploy at arbitrage rates.</p><p>The hidden assumption: value lies in the hours, not the expertise. R&amp;D investment stayed minimal &#8212; why invest when billing hours is the product? No incentive to build IP, platforms, or differentiated capabilities. Open source contribution was seen as a waste, not an investment.</p><p>Built for arbitrage, not differentiation. When clients needed bodies, this worked. The game has changed.</p><div><hr></div><h3>The Reinforcing Cycle</h3><p>These factors don&#8217;t exist in isolation &#8212; they compound each other.</p><p>Project management dominance leads to T&amp;M models (easy to measure). T&amp;M removes productivity incentives. Without incentives, developer experience gets ignored. Technical career paths hollow out. Quality becomes checkbox compliance. Talent gets treated as inventory. Margins fall as work commoditises. Cost pressure increases. The response: double down on utilisation.</p><p>The cycle continues.</p><p>This is why incremental fixes don&#8217;t work. Address one factor while the others remain, and nothing changes. Short-term pressures always defeat long-term transformation. And the people who might drive change have often already left.</p><div><hr></div><h3>The Tragedy of Good Intentions</h3><p>These choices weren&#8217;t made by fools. They were rational responses to the market of that era.</p><p>Labour arbitrage was a genuine competitive advantage. Predictability and process maturity won contracts. Scale was a differentiator when clients needed volume. The manufacturing analogy worked when the work was more routine.</p><p>But the context changed. Cloud reduced the need for large teams. Automation commoditised routine work. Clients learned to build their own capabilities. The work that remains requires engineering excellence, not just execution capacity.</p><p>And now AI is about to transform what &#8220;productivity&#8221; means entirely.</p><p>The structural factors that enabled growth became the barriers to evolution.</p><div><hr></div><h3>What Comes Next</h3><p>We&#8217;ve diagnosed the crisis in Part 1. We&#8217;ve examined the causes here in Part 2.</p><p>The common thread: we systematically traded engineering excellence for operational efficiency. We optimised for predictable mediocrity when the market increasingly rewards excellence.</p><p>The question now: Is transformation possible? What would it actually take &#8212; not in theory, but in practice?</p><p>Part 3 will explore the path forward. Not with naive optimism, but with a realistic assessment of what change would require, who could drive it, and whether there&#8217;s still time.</p><div><hr></div><p><em><a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-d78">Next: Part 3 examines what transformation would require &#8212; from business model evolution to technical career paths to genuine investment in engineering culture.</a></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Indian IT and the 'LOST' Art of Engineering Excellence - Part 1]]></title><description><![CDATA[Part 1: The Crisis]]></description><link>https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering</link><guid isPermaLink="false">https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Fri, 09 Jan 2026 10:05:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aNiQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89446b9e-ccc8-4179-b225-cc35055e4132_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Indian IT industry stands at an inflection point. The model that built a $250 billion industry and employed millions is showing cracks. Revenue growth is stalling. Margins are compressing. The best talent is leaving. And when the world looks for technology leadership, it doesn&#8217;t look to Indian IT.</p><p>This is the first of a three-part series examining why the &#8220;lost&#8221; art of engineering excellence is one of the primary reasons.</p><ul><li><p><strong>Part 1: The Crisis</strong> &#8212; What&#8217;s actually happening and why the usual explanations fall short</p></li><li><p><strong>Part 2: The Factors</strong> &#8212; The structural choices that made engineering excellence nearly impossible</p></li><li><p><strong>Part 3: The Way Forward</strong> &#8212; What would need to change, and whether transformation is still possible</p></li></ul><p>My aim is not criticism for its own sake. It&#8217;s a diagnosis &#8212; the kind that comes from caring about an industry and wanting to see it thrive.</p><div><hr></div><h3>My Vantage Point</h3><p>I&#8217;ve spent 26 years in technology, seeing it from every angle &#8212; as an engineer, as a technical leader within IT services, as a client-side CTO buying these services, and as a consultant advising on technology strategy. Now I&#8217;m building a technology company in India.</p><p>I write as someone who has lived this industry&#8217;s evolution, seen what it&#8217;s capable of, and watched it fall short of that potential.</p><div><hr></div><h3>The Visible Symptoms</h3><p><strong>The business is under pressure.</strong> Revenue growth has stagnated. Margins are compressing. Deals go to global competitors or get pulled in-house. &#8220;Digital transformation&#8221; was supposed to move us beyond labour arbitrage, but the market still sees Indian IT as a cost play. And automation and AI now threaten a model built on volume.</p><p><strong>Talent is voting with its feet.</strong> The best engineers leave for startups and product companies. GCCs siphon talent with better compensation. IT services are no longer the aspirational employer they once were. Engineers who stay often disengage from craft, focusing on &#8220;managing&#8221; &#8212; because that&#8217;s where career progression lies.</p><p><strong>The perception problem reflects reality.</strong> Clients see us as &#8220;implementers&#8221; and &#8220;executors.&#8221; When a company needs breakthrough technology thinking, Indian IT is not in that conversation. We&#8217;re in the conversation about who can do it cheaper at scale &#8212; and that&#8217;s increasingly not a conversation that leads to growth.</p><p>Not to say there aren&#8217;t outliers &#8212; but they are exceptions, not the norm.</p><div><hr></div><h3>Always Catching Up, Never Leading</h3><p>Here&#8217;s a pattern that should trouble us.</p><p>Every major technology wave of the last two decades &#8212; cloud, DevOps, big data, AI/ML, generative AI &#8212; Indian IT has been a follower, not a shaper.</p><p>We didn&#8217;t define cloud architecture patterns. We learned them from AWS and Azure documentation or from pioneers from Heroku or Pivotal. We didn&#8217;t pioneer DevOps practices. We adopted them years after Google and Netflix wrote the playbooks. We&#8217;re not shaping how AI transforms software development. We&#8217;re scrambling to figure out what it means for our billing models.</p><p>Think about what&#8217;s missing. The largest IT services companies in the world &#8212; with hundreds of thousands of engineers, exposed to cutting-edge client projects &#8212; have produced no widely-adopted open source frameworks, no influential technical research, no engineering practices others seek to emulate. Our contribution to open source is almost negligible &#8212; we consume it voraciously but give back almost nothing.</p><p>Contrast this with what&#8217;s possible. Palantir started as a services company and became a technology benchmark &#8212; building platforms that governments and enterprises now depend on. Pivotal, born from consulting and services roots, gave the world the Spring Framework, Cloud Foundry, and shaped how enterprises approach cloud-native development. They proved that services companies can lead, not just follow &#8212; that client work can fuel innovation rather than merely consume it.</p><p>We have privileged access to the most advanced technology environments through our client work. We see what leading companies build. We work inside their systems. Yet we rarely absorb that knowledge and advance it.</p><p>We execute technology. We don&#8217;t extend it.</p><p>With all our scale and exposure, our contribution to the global technology landscape is disproportionately small. Present everywhere, influential almost nowhere.</p><div><hr></div><h3>The Contrast That Stings</h3><p>If Indian engineers simply weren&#8217;t capable, this would be a straightforward story. But the evidence says otherwise.</p><p>Consider what&#8217;s been built in India that genuinely leads globally:</p><p><strong>UPI</strong> &#8212; real-time payments processing billions of transactions, now studied and replicated worldwide. Built by engineers solving hard problems with technical depth, not by managing utilisation rates.</p><p><strong>Aadhaar</strong> &#8212; the world&#8217;s largest biometric identity system with unprecedented engineering challenges around scale, security, and reliability.</p><p><strong>Zerodha</strong> &#8212; one of the world&#8217;s largest brokerages by volume, built by a remarkably small team obsessing over performance and simplicity.</p><p><strong>Razorpay, PhonePe</strong> &#8212; fintech at massive scale, built by engineering-first teams competing globally on capability, not cost arbitrage.</p><p><strong>Zomato, Blinkit</strong> &#8212; consumer platforms solving complex real-time logistics, demand prediction, and hyperlocal delivery at a scale and speed that few have matched globally.</p><p><strong>Zoho</strong> &#8212; bootstrapped, engineering-led, building enterprise software that competes with global giants through sustained investment in craft.</p><p>What do these have in common? Engineering excellence as a core value. Technical leadership is embedded in decisions. Hard problems solved with creativity, not just headcount. Genuine pride in craft &#8212; how something is built matters, not just that it shipped.</p><p>The uncomfortable conclusion: the talent exists, the capability exists, the proof points exist. Indians can build technology that leads globally.</p><p>Just not, it seems, through Indian IT services.</p><p>The problem isn&#8217;t the people. It&#8217;s the system.</p><div><hr></div><h3>The Questions This Raises</h3><p>If it&#8217;s not the talent, then what?</p><p>Why does the same engineer who writes mediocre code at an IT services company do exceptional work at a startup or product company?</p><p>Why have three decades and millions of engineers produced so few contributions to how the world builds software?</p><p>Why, with all our scale and client exposure, are we not setting the agenda on any emerging technology?</p><p>What is it about Indian IT &#8212; its business models, incentives, career structures, culture &#8212; that systematically prevents engineering excellence from taking root?</p><p>These questions don&#8217;t have simple answers. They&#8217;re uncomfortable for those of us who&#8217;ve spent careers here. But they&#8217;re the right questions.</p><div><hr></div><h3>What Comes Next</h3><p>The symptoms &#8212; business pressure, talent exodus, the &#8220;implementer&#8221; perception, always following never leading &#8212; aren&#8217;t random misfortunes.</p><p>They point to structural choices made over three decades about what to optimise for. Choices about business models, how to value people, what &#8220;quality&#8221; means, the relationship between management and engineering.</p><p>These choices built an industry. Created millions of jobs. Put Indian IT on the global map. They made sense in their time.</p><p>But they also optimised against engineering excellence. They created a system where predictability mattered more than creativity, utilisation more than capability, process more than craft.</p><p>The game has changed. Cloud and automation have eroded the value of volume. Clients build their own capabilities. AI will transform what &#8220;productivity&#8221; means in software.</p><p>The choices that built the industry may not sustain it.</p><p>In Part 2, we&#8217;ll examine these factors &#8212; not to blame, but to understand. Because you can&#8217;t fix what you haven&#8217;t diagnosed.</p><p>There may still be time. But only if we look clearly at how we got here.</p><div><hr></div><p><em><a href="https://vivekkant.substack.com/p/indian-it-and-the-lost-art-of-engineering-229">Next: Part 2 explores the specific factors behind the erosion of engineering excellence &#8212; from business model incentives to career structures to how we&#8217;ve defined quality.</a></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[A Year of Coding with AI]]></title><description><![CDATA[From tentative syntax questions to 40% AI-generated code&#8212;a working developer's honest journey]]></description><link>https://vivekkant.substack.com/p/a-year-of-coding-with-ai</link><guid isPermaLink="false">https://vivekkant.substack.com/p/a-year-of-coding-with-ai</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Wed, 31 Dec 2025 05:44:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Q8Gu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.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_!Q8Gu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 424w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 848w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png" width="1170" height="780" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:780,&quot;width&quot;:1170,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:662557,&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://vivekkant.substack.com/i/183028945?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.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_!Q8Gu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 424w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 848w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8Gu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c940a3-009f-4461-865f-9f50e96133fe_1170x780.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 greatest joy of my current role for the last 18 months has been coding 4-5 hours per day. It&#8217;s been roughly a year since I started using AI tools in my daily coding. What began as tentative experiments with syntax questions has transformed into an integral part of how I build software. </p><p>Here&#8217;s my journey&#8212;the false starts, the discoveries, and what I&#8217;ve learned about making AI genuinely useful for development work.</p><h2>Part One: The Journey</h2><h3>The Tentative Beginning</h3><p>Like many developers, I started with ChatGPT in its standalone web interface. My initial use was almost embarrassingly modest&#8212;asking syntax questions I could have Googled. &#8220;How do I format a date in Java 21?&#8221; &#8220;What&#8217;s the syntax for a functional code here?&#8221; It felt a bit like having a friend who never judged you for not remembering something you&#8217;d looked up a dozen times before. It was like having StackOverflow, but much simpler and better.</p><p>But even in these early days, something clicked. The responses came with context, alternatives, and explanations. I found myself understanding the _why_ behind syntax choices, not just copying and pasting. </p><p>That said, it wasn&#8217;t flawless&#8212;I&#8217;d occasionally get suggestions using deprecated methods or outdated APIs, requiring me to verify and correct. The AI&#8217;s training data clearly had a cutoff, and Java moves on. Still, even with these hiccups, it was faster than searching through documentation.</p><h3>Graduating to Code Generation</h3><p>The real shift came when I started uploading Java files as context. My first serious use case was generating mappers&#8212;those tedious but essential classes that convert between DTOs and domain objects. I&#8217;d upload the source and target classes, describe what I needed, and get back working code in seconds rather than the fifteen minutes of mechanical typing it would have taken me.</p><p>This was genuinely useful. Not revolutionary, but a real time-saver for boilerplate-heavy work.</p><h3>The Testing Experiment (Mixed Results)</h3><p>Emboldened by success with mappers, I tried something more ambitious: generating test cases and test data. The results were... mixed. The AI understood what I wanted to test and could articulate sensible test scenarios. But the generated code often wouldn&#8217;t compile. Missing imports, wrong method signatures, assumptions about test frameworks that didn&#8217;t match my setup.</p><p>I&#8217;d estimate maybe 60% of the generated tests worked out of the box. The rest needed debugging&#8212;sometimes quick fixes, sometimes significant rewrites. Still useful as a starting point, but not the productivity multiplier I&#8217;d hoped for. Often, I reverted to hand-coding the test cases. </p><p>The generation of test data was much better; it generated contextual test data that I would not have imagined myself. As I was building DSLs, AI was very useful to generate a sample DSL by giving grammar and context.</p><h3>The Rate Limiting Wall</h3><p>Then came the inevitable: rate limits on the free tier. Mid-flow, mid-thought, suddenly cut off. It&#8217;s a particular kind of frustrating to have a tool become indispensable and then have it yanked away just as you&#8217;re relying on it.</p><h3>Exploring Alternatives</h3><p>Necessity drove experimentation. I tried Grok&#8212;it was fine. Capable, reasonably accurate, but nothing that made me think I&#8217;d found something better. Deepseek came next. Also fine, perhaps slightly less polished. Both felt like substitutes rather than genuine alternatives.</p><p>What I noticed across all these tools was a consistent friction: none of them integrated with my IDE. Every interaction meant context-switching&#8212;copy code, paste into browser, read response, copy back, paste into editor. The cognitive overhead was real, and it limited how much I could actually use these tools in the flow of real work.</p><h3>The Claude Pro Upgrade</h3><p>Moving to Claude Pro was my first significant quality jump. The responses were noticeably better&#8212;more accurate, more nuanced, better at understanding complex codebases and requirements. The code it generated compiled more often. The explanations were clearer.</p><p>But I still hadn&#8217;t solved the integration problem. I was still copy-pasting between windows, still breaking my flow every time I wanted AI assistance.</p><h3>The Integration Breakthrough</h3><p>The real transformation came when I moved to Claude Code integrated with VS Code. But&#8212;and this is important&#8212;I set it up with guardrails. I don&#8217;t allow automated changes to my code. Every read and every write requires my explicit approval.</p><p>This might sound like friction, but it&#8217;s actually the configuration that made AI coding work for me. I maintain control. I understand every change. The AI proposes; I decide. It&#8217;s collaborative rather than autonomous.</p><p>The productivity increase was immediate and substantial. No more context-switching. No more copy-paste gymnastics. I describe what I need, review the suggestions in place, and approve or modify as needed.</p><h3>Where I Am Now</h3><p>Today, I&#8217;d estimate 30-40% of the code I write is AI-generated. The rest is still handcrafted&#8212;the complex business logic, the architectural decisions, the parts that require a deep understanding of our domain. But the boilerplate, the standard patterns, the tedious-but-necessary code? That&#8217;s increasingly coming from AI assistance.</p><p>And here&#8217;s the thing I didn&#8217;t expect: the code is consistently good. Not just functional, but clean, following best practices, properly structured. When I review AI-generated code, I rarely find issues. It&#8217;s not perfect&#8212;nothing is&#8212;, but it&#8217;s reliable in a way that early experiments weren&#8217;t.</p><div><hr></div><h2>Part Two: Recommendations for Developers</h2><p>A year of daily use has taught me some things I wish I&#8217;d known at the start.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fPLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fPLg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 424w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 848w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 1272w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fPLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png" width="404" height="408" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:408,&quot;width&quot;:404,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26403,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vivekkant.substack.com/i/183028945?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.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_!fPLg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 424w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 848w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 1272w, https://substackcdn.com/image/fetch/$s_!fPLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6b5cfc-c8cc-4a5e-a687-a89db1dd0482_404x408.png 1456w" sizes="100vw" loading="lazy"></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><h3>Start with Low-Stakes Work</h3><p>Don&#8217;t begin by asking AI to architect your system or write your core business logic. Start with mappers, converters, and simple utilities. Get comfortable with the tool&#8217;s strengths and limitations before you depend on it for anything critical.</p><h3>Pay for Quality</h3><p>The difference between free-tier tools and paid options isn&#8217;t just about rate limits&#8212;it&#8217;s about quality. Claude Pro produces better code than free alternatives. If you&#8217;re a professional developer, the cost is trivial compared to the time saved.</p><h3>Integrate, Integrate, Integrate</h3><p>A standalone AI tool is useful. An integrated AI tool is transformative. Whatever setup you use, minimize the friction between your development environment and your AI assistant. Every copy-paste is cognitive overhead that adds up over a long day.</p><h3>Keep Yourself in the Loop</h3><p>I strongly recommend against fully autonomous AI coding, at least for now. Review every change. Understand what&#8217;s being generated. You&#8217;re still responsible for your codebase, and you need to maintain the understanding to maintain it.</p><p>This isn&#8217;t just about catching errors (though you will catch some). It&#8217;s about staying sharp. If you blindly accept AI-generated code, you stop learning. Keep yourself engaged with what&#8217;s being written.</p><p>Consider AI to be your very capable intern, whose every line of code you have to review before committing.</p><p>And a hard rule: never let AI generate code that you don&#8217;t understand. If you can&#8217;t read the output and explain what it does, you shouldn&#8217;t be using it. You&#8217;ll end up with a codebase you can&#8217;t debug, can&#8217;t extend, and can&#8217;t maintain. AI should accelerate your coding, not replace your comprehension. </p><h3>Provide Rich Context</h3><p>AI code quality is directly proportional to context quality. Upload relevant files. Explain your conventions. Describe your constraints. The more the AI understands about your codebase and requirements, the better its output will be.</p><h3>Know the Limits</h3><p>AI is excellent at standard patterns and common problems. It&#8217;s less reliable for novel architectures, domain-specific logic, or anything that requires understanding beyond the code itself. Use it for what it&#8217;s good at; don&#8217;t force it into areas where it struggles.</p><p>For example, I wrote a rule engine from scratch, and almost none of the core functional code was AI-generated. The core code is close to implementing a programming language&#8212;tokenisation, parsing, syntax tree, and complex execution logic. This is not something you want AI to write.</p><h3>Test Everything</h3><p>AI-generated code needs testing just like human-written code&#8212;arguably more, because you didn&#8217;t write it and might not have the same intuition about where it could fail. Don&#8217;t let the speed of generation lead to shortcuts in verification.</p><h3>Manage the Flow Disruption</h3><p>Here&#8217;s something nobody talks about: AI assistance can disrupt your flow state. When I&#8217;m hand-coding, I can get into that zone where hours pass without notice. With AI, there&#8217;s always a pause&#8212;waiting for the response, reviewing the suggestion, deciding whether to accept or modify. That waiting time invites distraction. A glance at email, a quick check of Slack.</p><p>I&#8217;ve found two practices that help. First, for any substantial piece of code, don&#8217;t jump straight into generation. Start by asking the AI to outline the approach. Refine that approach together, get it down to pseudo code, and only then start generating actual code. This front-loads the thinking and makes the generation phase more predictable.</p><p>Second&#8212;and this requires discipline&#8212;watch the AI generate code. Even if it means staring at the screen while tokens appear. Resist the urge to switch tabs, check messages, or do anything else. Stay present. You&#8217;ll catch issues earlier, stay connected to what&#8217;s being written, and maintain something closer to that flow state. The generation only takes seconds or minutes; your focus is worth protecting.</p><div><hr></div><h2>Looking Forward</h2><p>A year ago, I was skeptical about AI coding tools. They seemed like toys&#8212;impressive demos that wouldn&#8217;t survive contact with real development work. I was wrong.</p><p>Today, I can&#8217;t imagine going back. The 30-40% productivity gain is real, and it compounds. But more than the efficiency, what I value is the cognitive offload. The mechanical parts of coding&#8212;the parts that are necessary but not creative&#8212;are increasingly handled by AI, leaving me to focus on the work that actually requires human judgment.</p><p>We&#8217;re still early in this transformation. The tools will get better. The integration will get smoother. The boundaries of what AI can reliably handle will expand. But even now, today, with current tools and current limitations, AI-assisted coding is a genuine productivity multiplier for anyone willing to invest the time to learn how to use it well.</p><p>My advice: start now. Start small. Stay in control. And pay attention to what works for your specific context. The general patterns I&#8217;ve described will apply, but the details of how you integrate AI into your workflow will be uniquely yours to discover.</p><div><hr></div><p><em>What&#8217;s been your experience with AI coding tools? I&#8217;d love to hear how others are integrating these into their workflows&#8212;the successes, the failures, and everything in between.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The 7 Shades of Techie]]></title><description><![CDATA[Because "I'm a techie" is as vague as "I'm vegetarian" in India]]></description><link>https://vivekkant.substack.com/p/the-7-shades-of-techie</link><guid isPermaLink="false">https://vivekkant.substack.com/p/the-7-shades-of-techie</guid><dc:creator><![CDATA[Vivek Kant]]></dc:creator><pubDate>Thu, 11 Dec 2025 11:45:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!p0sC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In India, when someone says they&#8217;re vegetarian or non-vegetarian, you need to ask - No onion-garlic?, Eggetarian? Gravy eater, only Tuesday/Navratri vegetarian?, only chicken? There&#8217;s an entire spectrum hiding behind that one word, and getting it wrong means serving paneer to someone expecting butter chicken or vice-versa.</p><p>The tech industry has the same problem with someone calling themselves &#8220;<em>a techie.</em>&#8220;</p><p>When someone introduces themselves as a technologist, it tells you almost nothing. A venture capitalist funding AI startups and a kernel developer debugging memory leaks both claim to be <em>the techie</em>.</p><p>One reads pitch decks; the other reads hex dumps. Both are &#8220;in tech.&#8221; This isn&#8217;t gatekeeping&#8212;it&#8217;s clarity. Here&#8217;s my attempt to map the spectrum: seven shades of techie, paired with their vegetarian counterparts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p0sC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p0sC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 424w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 848w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 1272w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png" width="1346" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:1346,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:505023,&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://vivekkant.substack.com/i/181323583?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.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_!p0sC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 424w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 848w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.png 1272w, https://substackcdn.com/image/fetch/$s_!p0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643a6266-85b3-4ba5-9b37-e788d77103ec_1346x427.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><strong>Shade 1: The Visionary (The Vegan Advocate)</strong> understands tech trends, makes strategic bets, and evangelises digital transformation. Last wrote code when PL/SQL was cool the first time. Think CIOs, tech investors, and that consultant who keeps saying &#8220;blockchain&#8221; in meetings.</p><p><strong>Shade 2: The Orchestrator (Jain with onion-garlic exceptions)</strong> manages tech teams, interprets architecture diagrams, and bridges business and engineering. Coded once, now reviews with comments like &#8220;looks good to me.&#8221; Your IT Delivery Manager or Program Director lives here.</p><p><strong>Shade 3: The Architect (The Eggetarian)</strong> Designs systems, defines patterns, writes &#8220;reference implementations&#8221; that someone else turns into production code. Comfortable with whiteboards, dangerous with deadlines. Solution Architects and Principal Consultants occupy this shade.</p><p><strong>Shade 4: The Builder (Only chicken, no mutton)</strong> Writes production code daily. Might not handle deployment or scaling, but the features work. Your classic Application Developer or Full-stack Engineer&#8212;the backbone of most product teams.</p><p><strong>Shade 5: The Craftsman (Full non-veg but only on weekends)</strong> Production code plus deployment plus that 3 AM on-call you dread. Owns the entire lifecycle. Principle or Staff Engineers, folks who&#8217;ve seen things they can&#8217;t unsee in production logs.</p><p><strong>Shade 6: The Specialist (The Serious Carnivore)</strong> Deep expertise in one domain&#8212;payment systems, security, database internals. Knows things that make generalists nervous. Your high frequency trading algo developer or payments systems architect who casually mentions &#8220;low-latency&#8221;, &#8220;eventual consistency&#8221;, and means it.</p><p><strong>Shade 7: The Systems Wizard (Eats everything, including the bones)</strong> Kernel hackers, compiler writers, protocol designers. They build the tools that build the tools. The Linux contributors and distributed systems researchers whose work runs underneath everything else, usually thanklessly.</p><p>Here&#8217;s the thing: this isn&#8217;t a hierarchy of value. A company needs Visionaries to set direction and Wizards to make things possible. One trying to do the other&#8217;s job will be a disaster.</p><p>The Orchestrator who keeps the team shipping is as vital as the Specialist who keeps the payments flowing. But let&#8217;s stop pretending these roles are interchangeable. A CIO and a kernel developer are both &#8220;technical&#8221;&#8212;like both paneer and prawn are &#8220;protein.&#8221;</p><p>So next time someone tells you they&#8217;re a techie, ask the follow-up question. Which shade? It matters. Just like you&#8217;d ask if eggs are okay while making breakfast.</p><p>As for me? I&#8217;ve wandered across a few of these shades over twenty-five years&#8212;Builder, Architect, occasionally pretending to be a Visionary. But deep down, I&#8217;m still a coder who just loves what I do. Somewhere between Shade 4 and 6, with aspirations, you could say.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://vivekkant.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Technology Horizons - Insights &amp; Ideas! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>