{
    "componentChunkName": "component---src-templates-post-js",
    "path": "/blog/the-cto-who-left-to-stay-ready",
    "result": {"data":{"site":{"siteMetadata":{"siteUrl":"https://www.tms-doan.com"}},"markdownRemark":{"html":"<p>I recently talked with a CTO who had left his company.</p>\n<p>He did not leave because he had another big offer waiting.\nHe did not leave because he was tired of engineering.\nAnd he was not trying to disappear for a few months and call it a sabbatical.</p>\n<p>He left because he wanted a better chance of surviving the next version of this industry.</p>\n<p>That sounds dramatic when I write it down.\nBut the way he said it was calm.\nAlmost practical.</p>\n<p>He looked at the company, looked at how quickly AI was changing the expectations around engineering, and realized he was not getting enough room to learn in the way he needed to learn.</p>\n<p>The company wanted to become AI-native.\nThe founder wanted to lead that change personally.\nAnd somewhere in the middle of all that excitement, the founder submitted a pull request with more than six million lines of code.</p>\n<p>With a smiley face.</p>\n<p>I keep thinking about that image.</p>\n<hr>\n<h3>The pull request was not really the point</h3>\n<p>To be clear, I do not think the founder was trying to make a mess.</p>\n<p>I think he was excited.\nAI gave him a new kind of leverage, and suddenly it felt possible to move faster than the company had ever moved before. That feeling is real. I have felt a smaller version of it myself.</p>\n<p>You ask for something. The agent works. Files change. A feature appears. The blank page is gone.</p>\n<p>It feels like progress because some of it is progress.</p>\n<p>But six million lines of code is not a normal pull request. It is not even a normal engineering conversation anymore.</p>\n<p>At that size, the questions change:</p>\n<ul>\n<li>Who can review it?</li>\n<li>What problem does each part solve?</li>\n<li>Which assumptions did the agent make?</li>\n<li>What happens when something breaks in production?</li>\n<li>Who owns the cleanup after the excitement moves on?</li>\n</ul>\n<p>The CTO was not afraid of AI writing code.\nHe was worried about a company confusing output with direction.</p>\n<p>That difference matters a lot.</p>\n<hr>\n<h3>AI-native is not a switch you flip</h3>\n<p>I hear \"AI-native\" everywhere now.</p>\n<p>Sometimes it means a company is genuinely changing how it works: learning faster, removing repetitive work, giving engineers better tools, and making room for more experiments.</p>\n<p>Sometimes it means everyone is expected to produce more, with fewer people, while nobody has decided what quality should look like anymore.</p>\n<p>Those are very different companies.</p>\n<p>The hard part is that both can look similar from the outside. Both have AI tools. Both have agents. Both can ship a demo quickly.</p>\n<p>The difference shows up later.</p>\n<p>It shows up in whether people can question a risky idea without being treated like they are slowing things down.\nIt shows up in whether the team still has time to understand what it ships.\nIt shows up in whether reliability, design, and customer feedback still count when the code is arriving faster than ever.</p>\n<p>The CTO I spoke with did not feel like he had the space to help make that distinction.</p>\n<p>So he left.</p>\n<p>Not to run away from AI.\nTo get closer to it.</p>\n<hr>\n<h3>There are better versions of this story</h3>\n<p>To be fair, I do not think every company is turning AI adoption into a giant pull request and a panic attack.</p>\n<p>I cannot tell you what it is really like to work at Ramp, Stripe, or Notion from the outside. Public writing is still public writing. But the engineering details they share point to a healthier direction than \"ship more code and hope.\"</p>\n<p><a href=\"https://engineering.ramp.com/post/why-we-built-our-background-agent\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ramp built its own background coding agent, Inspect</a>, around a fairly practical idea: the agent should not only write code. It should have the context and tools to verify what it did. Their setup gives the agent a sandboxed development environment, tests, telemetry, feature flags, screenshots, and live previews.</p>\n<p>That detail matters to me. The interesting part is not that Ramp has an agent. Lots of companies have agents now. The interesting part is treating verification as part of the work instead of something a human cleans up later.</p>\n<p><a href=\"https://stripe.com/blog/can-ai-agents-build-real-stripe-integrations\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Stripe has taken a similarly careful public approach</a>. Rather than assuming the newest model can run a software project on its own, its engineering team spent months building evaluation environments to test whether agents could create real Stripe integrations. That is a much more useful question than \"how much code can it generate?\"</p>\n<p><a href=\"https://www.notion.com/blog/how-notion-uses-custom-agents\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Notion describes its own AI culture</a> around people experimenting with useful agents for repeatable work, sharing what works, and freeing more time for critical thinking. Again, I am not saying any company is perfect. I just like the direction: make the boring work lighter, keep the meaningful decisions visible, and let people learn from one another.</p>\n<p>That is the kind of AI-native company I hope more of us get to build.</p>\n<hr>\n<h3>That part hit me</h3>\n<p>I have been thinking about my own career differently lately.</p>\n<p>For a long time, staying relevant meant getting better at the things I already knew: architecture, systems, product work, communication, delivery, helping a team make good decisions.</p>\n<p>Those things still matter. Maybe they matter even more now.</p>\n<p>But I also do not want to be the person talking confidently about AI from a safe distance while other people are learning what it can actually do every day.</p>\n<p>I want to stay hands-on.</p>\n<p>Not because I think I need to win a contest for who can generate the most code.\nHonestly, that sounds exhausting.</p>\n<p>I want to stay close enough to the tools that I understand their strengths, their blind spots, and the new kinds of mistakes they make. I want to know which work they make easier and which work still needs a human to slow down and think.</p>\n<p>That feels like the real survival skill to me.</p>\n<hr>\n<h3>What I am trying to do about it</h3>\n<p>I do not have a perfect plan. I am still figuring it out.</p>\n<p>But I have a few rules for myself right now:</p>\n<ul>\n<li>Use the tools on real work, not only demos.</li>\n<li>Keep owning a problem from the first idea through the production details.</li>\n<li>Learn the workflow around the code: evaluation, tests, review, deployment, and recovery when something goes wrong.</li>\n<li>Stay curious enough to change my mind when a tool is better than I expected.</li>\n<li>Stay skeptical enough to stop when fast output is creating a bigger future problem.</li>\n</ul>\n<p>That is why I have been writing about agents, testing, persistent workspaces, and product direction. I am not trying to predict the whole industry from my desk.</p>\n<p>I am trying to build enough firsthand experience that I can make better decisions inside it.</p>\n<p>There is a big difference between saying, \"AI will change engineering,\" and knowing what it feels like when an agent has changed thirty files, the tests are green, and you still have a bad feeling about the result.</p>\n<p>That bad feeling is not always fear of change.</p>\n<p>Sometimes it is judgment asking for a minute.</p>\n<hr>\n<h3>Staying ready</h3>\n<p>I do not think everyone needs to quit their job to stay relevant.</p>\n<p>But I do think it is worth asking an honest question:</p>\n<p>Is my current environment helping me learn the kind of work I will need to do next?</p>\n<p>If the answer is yes, great. Go deeper.</p>\n<p>If the answer is no, that does not automatically mean you need a dramatic exit. Maybe it means finding a hands-on project, moving closer to the product, trying a new workflow, or making more space to learn outside the usual job description.</p>\n<p>For me, the goal is not to become an AI person because that is the label everybody wants right now.</p>\n<p>The goal is to remain useful.</p>\n<p>Useful when the tools are amazing.\nUseful when the code gets weird.\nUseful when a founder sends a very large pull request with a smiley face and somebody needs to ask the quiet question:</p>\n<p>What are we actually building here?</p>\n<p>I think that question will survive every technology shift.</p>","timeToRead":6,"frontmatter":{"title":"The CTO Who Left to Stay Ready","description":"A conversation about AI-native change, a six-million-line pull request, and how I am trying to stay useful","date":"2026-08-26T00:00:00.000Z","updated":null,"slug":"/blog/the-cto-who-left-to-stay-ready","tags":["AI","Engineering","Career","Culture"]}}},"pageContext":{}},
    "staticQueryHashes": ["1672341955","2009693873","2077189868","3505212370","3825832676"]}