Offload Complexity, Don't Offload Learning
Published: ....
Last modified: ....
Share this post on BlueskySee discussion on Bluesky
A couple of months ago I read this excellent blog post by Steph Ango (better known as Kepano on Twitter), immediately this post struck a chord for me specifically while thinking about leveraging AI as a tool.
The post talks about a parasite and it's impact on us over time. Specifically this parasite is the act of delegating understanding, there are many parasites that take on the same format though (e.g. offloading your competitive advantage as a business). Broadly speaking, technology can sometimes be this same parasite masquerading as something beneficial - and that applies to how we leverage AI.
Fundamentally I look at AI as a tool for folks to leverage to help solve their problems, in the same way that most programmers look at frameworks or libraries. However, just as you and I would spend time evaluating the [[right tool for the job]], we should also carefully evaluate how we use AI.
Specifically - we should look to offload complexity to AI, but to not offload learning.
A similar mental model that folks have probably heard of before is maintaining a moat if you are a business. The moat represents your competitive advantage, it is what a business does (or maybe explicitly doesn't do), that makes it better than their competitors. It is the 11 herbs and spices, or the secret recipe.
If a business were to offload that competitive advantage to some other provider, or to another company - they'd cease to be a competitor within the market and others would soon take over.
In the same way - if you as an individual offload opportunities you have to learn, grow, or excel in your own - you will miss the follow on opportunities for greater achievements. This is why we should look to leveraging AI[1]Jump to footnote as a tool to be used in some scenarios and not in others.
Since most of my audience for this blog are developers of some sort - I'll try to relate this to development concepts 🙂.
Imagine you're trying to learn game development, including the core pieces required to build a game. You probably wouldn't immediately jump to using a higher level game framework to make the game, you'd most likely want to start from the fundamentals and build up your knowledge along the way.
Similarly if you're looking to learn about web servers (think HTTP, TCP, routing, etc), you probably won't want to start with using a framework like Express or Gin and instead you'll again want to start from the basics that your programming language of choice supports.
However - if you're building a website to sell furniture for example - you'll probably won't want to dive into the basics of HTTP, TCP, and all the other concepts related to web hosting, and instead you'll reach for a framework that abstracts that complexity away from you.
In the same vein - you should look to focus on the desired outcome (your competitive advantage, or your core learning/growth opportunities), and leverage AI to solve the ancillary complexity.
While in some of these examples the decision criteria on when and where to use AI is maybe clear, it won't always be like that in practice. Sometimes it's hard to tell if a specific task or project will provide learning opportunities for you, or will be secretly hiding your competitive advantage, or if it is just filled with monotonous work that doesn't let you grow.
TL;DR
Footnotes:
👆Back to reference This can be said of technology more broadly as well!
Tags:
Related Posts
Development
Published: ....
I recently launched a rewrite and redesign of this personal website, I figured I'd talk a bit about the changes and new features that I added along the way!
Published: ....
A quick tip outlining how to provide specific TypeScript type definitions for a local module!
Published: ....
Slicing software: why vertical is better than horizontal.
Published: ....
What if you could author an entire web application in a single file?
Published: ....
Is it a good or a bad thing to offload writing code to AI agents and Large Language Models?
Published: ....
A brief look at Import Maps and package.json#imports to support isomorphic JavaScript applications!
Published: ....
A collection of tech talks that I regularly re-watch and also recommend to everyone!
Published: ....
Some features and functionality that I'd like within a React Server Component compatible framework.
Published: ....
A (running) collection of Bluesky tips, tools, packages, and other misc things!
Published: ....
How to generate a custom Ghostty theme based on any iterm2 theme!
Published: ....
Even more thoughts on dogfooding!
Published: ....
The secret to excellent product teams is using your own product, and often!
Published: ....
(Ab)using Git as yet another tool for thought!
Published: ....
A quick look at the applications and tools that I (generally) use day to day for web development!
Published: ....
There are a variety of different markdown "standards" out there, and sometimes they're not all that consistent
Published: ....
There's a common gotcha when creating Web Request and Response instances with Headers!
Published: ....
Feature toggles are often underused by most software development teams, and yet offer so much value during not only feature development but also refactors
Published: ....
A quick introduction to my new side project, hohoro. An incremental JS/TS library build tool!
Published: ....
webpack, and tools built on it like Next.js, don't support true dynamic imports, but I found a way to trick the system!
Published: ....
I've been using a variety of AI tools as of late, I figured I'd document the ones I'm primarily using!
Published: ....
I've started to use Cloudflare to manage my domains for several side projects, have had to jump through the same hooks multiple times that I figured I should document them here!
Published: ....
Revising my previous blog post on React Error Boundaries and my preferred go-to implementation!
Published: ....
Two neat tricks for enhancing your site's favicon!
Published: ....
The various risks and pitfalls of open source software run by corporations.
Published: ....
A monorepo template for managing a library and documentation together.
Published: ....
How we solved an almost show-stopping production bug, and how you can avoid it in your own projects.
Published: ....
When did semver major changes become so scary?
Published: ....
No I don't mean those Milano cookies you keep taking from the office snack wall either (although you should probably stop snacking on those as often as well).
Published: ....
Pair programming can be good sometimes - but not all the time
Published: ....
A few quick thoughts on burn out and taking a break
AI
Published: ....
A quick look at combining Cursor with Obsidian to ask questions of your notes!
Published: ....
Is it a good or a bad thing to offload writing code to AI agents and Large Language Models?
Published: ....
I've been using a variety of AI tools as of late, I figured I'd document the ones I'm primarily using!