[{"data":1,"prerenderedAt":492},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fthe-exponential-shift":204,"\u002Fblog\u002Fthe-exponential-shift-surround":487},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200],{"title":5,"path":6,"stem":7},"You do not have time to not have tests","\u002Fblog\u002Fyou-do-not-have-time-to-not-have-tests","2.blog\u002F20211217.you-do-not-have-time-to-not-have-tests",{"title":9,"path":10,"stem":11},"Migrate Vue 2 with Vuetify and Jest to Vite and Vitest","\u002Fblog\u002Fmigrate-vue-2-with-vuetify-and-jest-to-vite-and-vitest","2.blog\u002F20220109.migrate-vue-2-with-vuetify-and-jest-to-vite-and-vitest",{"title":13,"path":14,"stem":15},"I am a Dark Matter Developer","\u002Fblog\u002Fi-am-a-dark-matter-developer","2.blog\u002F20220626.i-am-a-dark-matter-developer",{"title":17,"path":18,"stem":19},"Why using Conventional commits is useful","\u002Fblog\u002Fusing-conventional-commits","2.blog\u002F20240623.using-conventional-commits",{"title":21,"path":22,"stem":23},"Why you should make a toolbox repository","\u002Fblog\u002Fwhy-you-should-make-a-toolbox-repository","2.blog\u002F20240630.Why-you-should-make-a-toolbox-repository",{"title":25,"path":26,"stem":27},"Apache Airflow Part 1 - Why and Goals for a near Serverless ELT","\u002Fblog\u002Fapache-airflow-part-1-why-and-goals","2.blog\u002F20240710.apache-airflow-part-1-why-and-goals",{"title":29,"path":30,"stem":31},"Oh My Zsh on your server","\u002Fblog\u002Foh-my-zsh-on-your-server","2.blog\u002F20240711.oh-my-zsh-on-your-server",{"title":33,"path":34,"stem":35},"Fire tablet and YouTube Kids","\u002Fblog\u002Ffire-tablet-and-youtube-kids","2.blog\u002F20240714.fire-tablet-and-youtube-kids",{"title":37,"path":38,"stem":39},"Using Ollama and Continue as a GitHub Copilot Alternative","\u002Fblog\u002Fusing-ollama-and-continue-as-github-copilot-alternative","2.blog\u002F20240723.using-ollama-and-continue-as-github-copilot-alternative",{"title":41,"path":42,"stem":43},"Debugging Local Packages Made Easy with pnpm","\u002Fblog\u002Fdebugging-local-packages-with-pnpm-link","2.blog\u002F20250422.debugging local-packages-with-pnpm-link",{"title":45,"path":46,"stem":47},"Two Weeks with Cloudflare AI and Tools","\u002Fblog\u002Ftwo-weeks-with-cloudflare-ai-and-tools","2.blog\u002F20250509.two-weeks-with-cloudflare-aI-and-tools",{"title":49,"path":50,"stem":51},"Adding Prompts to VS Code - How I Learned to Stop Worrying and Love AI Context","\u002Fblog\u002Fadding-prompts-to-vscode","2.blog\u002F20250528.adding-prompts-to-vscode",{"title":53,"path":54,"stem":55},"My Best Practices","\u002Fblog\u002Fmy-best-practicies","2.blog\u002F20250607.my-best-practicies",{"title":57,"path":58,"stem":59},"Creating my own CLI Tool - Towles Tool","\u002Fblog\u002Ftowles-tool","2.blog\u002F20250607.towles-tool",{"title":61,"path":62,"stem":63},"Software Development Best Practices & ITIL","\u002Fblog\u002Fsoftware-engineering-and-itil-best-practices","2.blog\u002F20250612.software-engineering-and-itil-best-practices",{"title":65,"path":66,"stem":67},"Voice to Text","\u002Fblog\u002Fvoice-to-text","2.blog\u002F20250622.voice-to-text",{"title":69,"path":70,"stem":71},"Setting Up ComfyUI - A Better Alternative to Fooocus","\u002Fblog\u002Fcomfy-ui-setup","2.blog\u002F20250628.comfy-ui-setup",{"title":73,"path":74,"stem":75},"Voice to System","\u002Fblog\u002Fvoice-to-system","2.blog\u002F20250705.voice-to-system",{"title":77,"path":78,"stem":79},"Tips for Claude Code","\u002Fblog\u002Ftips-for-claude-code","2.blog\u002F20250713.tips-for-claude-code",{"title":81,"path":82,"stem":83},"Review That AI Code: Why I Read Every Line Generated Code","\u002Fblog\u002Freview-that-ai-code","2.blog\u002F20250720.review-that-ai-code",{"title":85,"path":86,"stem":87},"My Context Engineering Journey: From Dev Scripts to AI Collaboration","\u002Fblog\u002F20250803-1.my-context-engineering-journey","2.blog\u002F20250803-1.my-context-engineering-journey",{"title":89,"path":90,"stem":91},"Context Engineering at Scale: Enterprise Lessons and the Future of Development","\u002Fblog\u002F20250803-2.context-engineering-at-scale","2.blog\u002F20250803-2.context-engineering-at-scale",{"title":93,"path":94,"stem":95},"Check That Your Tools and Linters Do Not Burn Tokens","\u002Fblog\u002Fcheck-that-your-tools-and-linters-do-not-burn-tokens","2.blog\u002F20250806.check-that-your-tools-and-linters-do-not-burn-tokens",{"title":97,"path":98,"stem":99},"Markdown + AI: The Communication Protocol That Changes Everything","\u002Fblog\u002Fmarkdown-plus-ai-the-communication-protocol-that-changes-everything","2.blog\u002F20250814.markdown-plus-ai-the-communication-protocol-that-changes-everything",{"title":101,"path":102,"stem":103},"Finally: Type-Safe AI in Production (And Why I'm Here For It)","\u002Fblog\u002Ffinally-type-safe-ai-in-production-and-why-im-here-for-it","2.blog\u002F20250819.finally-type-safe-ai-in-production-and-why-im-here-for-it",{"title":105,"path":106,"stem":107},"Dotfiles: Masterpiece or Late Stage Picasso?","\u002Fblog\u002Fdotfiles-masterpiece-or-late-stage-picasso","2.blog\u002F20250822.dotfiles-masterpiece-or-late-stage-picasso",{"title":109,"path":110,"stem":111},"Beyond API Wrappers: Building State-Driven MCP Servers for Long-Horizon Agent Orchestration","\u002Fblog\u002Fbeyond-api-wrappers-mcp-servers","2.blog\u002F20250907.beyond-api-wrappers-mcp-servers",{"title":113,"path":114,"stem":115},"Why Vertical Integration Wins: A Software Engineer's Case for Owning Your Stack","\u002Fblog\u002Fwhy-i-bought-tesla-model-3-vertical-integration","2.blog\u002F20250928.why-i-bought-tesla-model-3-vertical-integration",{"title":117,"path":118,"stem":119},"The Min-Maxer's Trifecta: Building Tools for the Game You Actually Play","\u002Fblog\u002Fmin-maxer-trifecta","2.blog\u002F20251004.min-maxer-trifecta",{"title":121,"path":122,"stem":123},"Read The Source: Learning by Cutting Out The Middleman and RTFM","\u002Fblog\u002Fread-the-source","2.blog\u002F20251010.read-the-source",{"title":125,"path":126,"stem":127},"The Exponential Shift: Why AI Progress Feels Different Now","\u002Fblog\u002Fthe-exponential-shift","2.blog\u002F20251015.the-exponential-shift",{"title":129,"path":130,"stem":131},"Plan Mode for Your Problems, Edit Mode for Claude's","\u002Fblog\u002Fplan-mode-problems-edit-mode-solutions","2.blog\u002F20251019.plan-mode-problems-edit-mode-solutions",{"title":133,"path":134,"stem":135},"AWS Aurora DSQL Looked Perfect Until I Needed the Connection String","\u002Fblog\u002Faws-aurora-dsql-postgres-serverless-authentication","2.blog\u002F20251028.aws-aurora-dsql-postgres-serverless-authentication",{"title":137,"path":138,"stem":139},"Switchback: Browser History for Your Thoughts","\u002Fblog\u002Fswitchback-second-order-reasoning","2.blog\u002F20251205.switchback-second-order-reasoning",{"title":141,"path":142,"stem":143},"AI Pairing: Notes to Self","\u002Fblog\u002Fai-pairing-notes-to-self","2.blog\u002F20251216.ai-pairing-notes-to-self",{"title":145,"path":146,"stem":147},"I've Been Sleeping on Zellij","\u002Fblog\u002Fsleeping-on-zellij","2.blog\u002F20251229.sleeping-on-zellij",{"title":149,"path":150,"stem":151},"Implementing a Ralph Wiggum Loop: The Secret is Session Markers","\u002Fblog\u002Fimplementing-ralph-wiggum-loop-for-autonomous-ai-coding","2.blog\u002F20260114.implementing-ralph-wiggum-loop-for-autonomous-ai-coding",{"title":153,"path":154,"stem":155},"Goodhart's Law Ate My Context Window","\u002Fblog\u002Fgoodharts-law-ate-my-context-window","2.blog\u002F20260119.goodharts-law-ate-my-context-window",{"title":157,"path":158,"stem":159},"Claude Code's Hidden Multi-Agent System Is Real","\u002Fblog\u002Fclaude-code-hidden-multi-agent-system","2.blog\u002F20260124.claude-code-hidden-multi-agent-system",{"title":161,"path":162,"stem":163},"Free Printable Math Sheets for Kids — Number Chart, Skip Counting, Multiplication, and More","\u002Fblog\u002Ffree-printable-number-chart-and-coin-sheets","2.blog\u002F20260214.free-printable-number-chart-and-coin-sheets",{"title":165,"path":166,"stem":167},"We Are Near the End of the Exponential","\u002Fblog\u002Fnear-the-end-of-the-exponential","2.blog\u002F20260214.near-the-end-of-the-exponential",{"title":169,"path":170,"stem":171},"Free Printable Language Arts Sheets for Kids — Sight Words, Parts of Speech, Homophones, and More","\u002Fblog\u002Ffree-printable-sight-words-and-grammar-sheets","2.blog\u002F20260215.free-printable-sight-words-and-grammar-sheets",{"title":173,"path":174,"stem":175},"Interactive Code Execution with Artifacts","\u002Fblog\u002Finteractive-code-execution-with-artifacts","2.blog\u002F20260215.interactive-code-execution-with-artifacts",{"title":177,"path":178,"stem":179},"Free Printable Telling Time Worksheet for Kids — Clock Reference & Practice Sheet","\u002Fblog\u002Ffree-printable-telling-time-worksheet","2.blog\u002F20260216.free-printable-telling-time-worksheet",{"title":181,"path":182,"stem":183},"Claude Code Skills: Teaching AI Your Playbook","\u002Fblog\u002Fclaude-code-skills-guide","2.blog\u002F20260221.claude-code-skills-guide",{"title":185,"path":186,"stem":187},"Building a Multi-Agent Loan Approval System with Human-in-the-Loop","\u002Fblog\u002Fmulti-agent-loan-approval-human-in-the-loop","2.blog\u002F20260225.multi-agent-loan-approval-human-in-the-loop",{"title":189,"path":190,"stem":191},"The Inception of AI Infrastructure: Bottlenecks All the Way Down","\u002Fblog\u002Fbiggest-bottleneck-scaling-ai-compute","2.blog\u002F20260313.biggest-bottleneck-scaling-ai-compute",{"title":193,"path":194,"stem":195},"What I Tell Teams About Claude Code","\u002Fblog\u002Fwhat-i-tell-teams-about-claude-code","2.blog\u002F20260314.what-i-tell-teams-about-claude-code",{"title":197,"path":198,"stem":199},"The Hardest Part of AI Isn't the AI","\u002Fblog\u002Fthe-hardest-part-of-ai-isnt-the-ai","2.blog\u002F20260327.the-hardest-part-of-ai-isnt-the-ai",{"title":201,"path":202,"stem":203},"Claude Code Hooks: The Capability I Left on the Table","\u002Fblog\u002Fclaude-code-hooks-capability-left-on-the-table","2.blog\u002F20260401.claude-code-hooks-capability-left-on-the-table",{"id":205,"title":125,"authors":206,"badge":212,"body":214,"date":476,"description":477,"extension":478,"image":479,"meta":482,"navigation":483,"path":126,"seo":484,"status":485,"stem":127,"__hash__":486},"posts\u002F2.blog\u002F20251015.the-exponential-shift.md",[207],{"name":208,"to":209,"avatar":210},"Chris Towles","https:\u002F\u002Ftwitter.com\u002FChris_Towles",{"src":211},"\u002Fimages\u002Fctowles-profile-512x512.png",{"label":213},"AI Tools",{"type":215,"value":216,"toc":468},"minimark",[217,221,224,227,232,235,383,389,396,405,408,412,415,418,421,424,427,430,434,437,440,443,446,449,452,456,459,462,465],[218,219,220],"p",{},"Something shifted in the last six months that most developers haven't fully processed yet. I'm watching AI systems solve problems that required senior engineers just a year ago, and the trajectory isn't slowing down—it's accelerating in ways that break our mental models of progress.",[218,222,223],{},"The latest SWE-bench Verified results tell a story that should fundamentally change how we think about the next five years of software development: Claude Sonnet 4.5 now solves 77.2% of real-world GitHub issues autonomously. Not toy problems. Actual bugs and features from production repositories.",[218,225,226],{},"This isn't a panic piece about AI replacing developers. When we look at the data, the capability acceleration tells a remarkable story: AI is now on par with experienced human developers for pennies per million tokens.",[228,229,231],"h2",{"id":230},"the-intern-who-became-a-senior-in-3-years","The Intern Who Became a Senior in 3 Years",[218,233,234],{},"Here's the mental model that helped me internalize what's happening:",[236,237,238,266],"table",{},[239,240,241],"thead",{},[242,243,244,251,256,261],"tr",{},[245,246,247],"th",{},[248,249,250],"strong",{},"Timeframe",[245,252,253],{},[248,254,255],{},"Model",[245,257,258],{},[248,259,260],{},"Human Developer Equivalent",[245,262,263],{},[248,264,265],{},"SWE-bench Verified Score",[267,268,269,290,309,327,345,363],"tbody",{},[242,270,271,275,284,287],{},[272,273,274],"td",{},"2022 March",[272,276,277],{},[278,279,283],"a",{"href":280,"rel":281},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGPT-3#GPT-3.5",[282],"nofollow","GPT-3.5",[272,285,286],{},"has seen code before, doesn't know what it does.",[272,288,289],{},"~3%",[242,291,292,295,303,306],{},[272,293,294],{},"2024 March",[272,296,297,302],{},[278,298,301],{"href":299,"rel":300},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGPT-4",[282],"GPT-4"," \u002F Claude 3",[272,304,305],{},"Eager Intern - needs guidance, needs constant supervision",[272,307,308],{},"~13-28%",[242,310,311,314,321,324],{},[272,312,313],{},"2024 June",[272,315,316],{},[278,317,320],{"href":318,"rel":319},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-3-5-sonnet",[282],"Claude Sonnet 3.5",[272,322,323],{},"Junior dev - handles functions, needs guidance",[272,325,326],{},"~33%",[242,328,329,332,339,342],{},[272,330,331],{},"2025 February",[272,333,334],{},[278,335,338],{"href":336,"rel":337},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-3-7-sonnet",[282],"Claude Sonnet 3.7",[272,340,341],{},"Mid-level - debugs issues, refactors code independently",[272,343,344],{},"~62%",[242,346,347,350,357,360],{},[272,348,349],{},"2025 May",[272,351,352],{},[278,353,356],{"href":354,"rel":355},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-4",[282],"Claude Sonnet 4",[272,358,359],{},"Experienced Dev - handles complex systems and some architectural work",[272,361,362],{},"~72%",[242,364,365,368,375,378],{},[272,366,367],{},"2025 Oct",[272,369,370],{},[278,371,374],{"href":372,"rel":373},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-sonnet-4-5",[282],"Claude Sonnet 4.5",[272,376,377],{},"Senior+ - majority of real-world engineering tasks, must peer review but does great work",[272,379,380],{},[248,381,382],{},"77.2%",[384,385,386],"blockquote",{},[218,387,388],{},"Note: that cost per million tokens is now in the single digit cents range for these models, making focused usage when paired with a human developer something like $20\u002Fmonth.",[218,390,391,392,395],{},"Think about that progression: ",[248,393,394],{},"intern → junior → mid → senior in under 3 years",".",[218,397,398,399,404],{},"And this is using the ",[278,400,403],{"href":401,"rel":402},"https:\u002F\u002Fwww.swebench.com\u002F",[282],"SWE-bench",", which only counts fully autonomous solutions that don't require human intervention. The actual capabilities when paired with a human developer are even higher.",[218,406,407],{},"And here's what keeps me up at night: we have no reason to believe this curve is flattening.",[228,409,411],{"id":410},"my-tesla-and-the-failure-of-linear-thinking","My Tesla and the Failure of Linear Thinking",[218,413,414],{},"I drive a Tesla with Full Self-Driving, and it's become my daily reminder of how badly humans underestimate exponential progress.",[218,416,417],{},"Three years ago, a new Prius could barely handle highway lane-keeping.",[218,419,420],{},"Today? I routinely complete entire 30-minute trips through complex urban environments—traffic lights, construction zones—all with zero interventions. The system handles edge cases I didn't even know I was solving as a human driver.",[218,422,423],{},"But here's the thing: even experiencing this transformation firsthand, I still can't mentally extrapolate what ten years looks like. My brain wants to think linearly—\"okay, it'll get a bit better each year\"—when the evidence shows exponential improvement.",[218,425,426],{},"The same thing is happening with AI coding capabilities: I model progress in linear increments while the actual progress curve is exponential.",[218,428,429],{},"When Claude Sonnet 4.5 hits 77.2% on SWE-bench today, I can't actually imagine what 95%+ looks like in practice, even though the math says we'll get there sooner than I think. Just like I couldn't have imagined my current FSD experience three years ago.",[228,431,433],{"id":432},"it-hits-different-in-your-domain","It Hits Different in Your Domain",[218,435,436],{},"It hits differently when it's your area of expertise.",[218,438,439],{},"If AI was excelling in domains I wasn't familiar with, I'd think, \"Oh yeah, I'm sure it's helpful, whatever.\" That's easy to dismiss from a distance.",[218,441,442],{},"But seeing it master the craft I've spent 20 years learning—understanding the nuances, making the architectural decisions, solving the problems that used to require hard-won experience—that's when the exponential shift becomes visceral.",[218,444,445],{},"It's not just \"on par\" anymore. In many contexts, it's already better at the execution than I am. And that realization changes everything.",[218,447,448],{},"But here's the twist: I'm learning new tricks from it. I'm getting better at tools I thought I'd mastered.",[218,450,451],{},"An easy example: AI is way better at web searching than I am. It adds context I wouldn't have thought to include. Every search request includes the current year. That sounds like nothing, but try it—prefix your searches with \"2025\" and watch how much more relevant the results become. Simple, obvious in hindsight, but I never did it consistently until I watched Claude Code do it every single time.",[228,453,455],{"id":454},"the-bottom-line","The Bottom Line",[218,457,458],{},"We're in the middle of an exponential shift that most of the industry is still treating as linear improvement. The gap between current AI capabilities and where they'll be in 24 months is larger than most developers' mental models can accommodate, including mine.",[218,460,461],{},"This isn't cause for panic—it's cause for strategic action. The same technology that's disrupting traditional development workflows is also the most powerful accelerator we've ever had access to.",[218,463,464],{},"It's something that only hands-on experience can teach you. Pick your hardest open bug and spend 30 minutes pair-programming with Claude Code. Not watching it work—actively collaborating.",[218,466,467],{},"You'll come away with a new mental model of what's possible, and a fresh perspective on how to leverage these tools to amplify your own capabilities.",{"title":469,"searchDepth":470,"depth":470,"links":471},"",2,[472,473,474,475],{"id":230,"depth":470,"text":231},{"id":410,"depth":470,"text":411},{"id":432,"depth":470,"text":433},{"id":454,"depth":470,"text":455},"2025-10-15","AI capabilities are advancing faster than we can internalize. Here's why the next phase of development will look radically different.","md",{"src":480,"alt":481},"\u002Fimages\u002Fblog\u002F20251016-0000-the-exponential-shift.png","A dramatic visualization of an exponential curve rising sharply upward made of glowing holographic data points and neural network connections, transforming from a flat linear path into a steep acceleration curve. In the foreground, a software developer sits at a modern desk with dual monitors displaying code and AI interfaces, gazing up at the luminous curve with a mix of contemplation and realization, backlit by the glow of the visualization. Cinematic lighting with deep blue and cyan tones from the holographic elements contrasting with warm amber desk lamp light, creating depth and atmosphere. Photorealistic rendering, 8k quality, shallow depth of field focusing on the developer and curve intersection, professional commercial photography aesthetic with high contrast color grading.",{},true,{"title":125,"description":477},"published","mWdsUQu4m1XVMYRT0pbcLX4mxGT-5p1aVJBshTQPoA4",[488,490],{"title":121,"path":122,"stem":123,"description":489,"status":485,"children":-1},"Stop learning from tutorials. Start with the people who actually want to teach you - the library authors, researchers, and spec writers.",{"title":129,"path":130,"stem":131,"description":491,"status":485,"children":-1},"I spent 2 hours directing Claude to build my solution before realizing I should have asked for its approach. Here's the simple rule that changed how I use AI coding assistants.",1776221196452]