• Home
  • Blog
  • Projects
  • Bookshelf
  • About
← Back to all posts

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
Offload Complexity, Don't Offload Learning!

Footnotes:

↩Back to reference This can be said of technology more broadly as well!


Tags:

DevelopmentAICareerLearning

Loading...

Related Posts

Development

Website Redesign v11

....

I've once again updated my personal website, this time powered by my own RSC framework and a custom CMS solution as well!

Onboarding Your New AI Teammate

....

Are we reinventing the wheel when it comes to onboarding new AI agents to a codebase, when we already have primitives available for onboarding humans?

Tip: GitHub Created Date Filtering

....

Progressive Identifiers

....

Roundup Notes in Obsidian with Dataview

....

A quick tip for creating roundup or summary notes based on other notes in Obsidian using the Dataview plugin!

Quick Tip - Theme Aware Images

....

Have you ever found the need to change the image you render on a web page based on the current preferred color scheme of your theme?

Website Redesign v10

....

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!

Quick Tip - Specific Local Module Declarations

....

A quick tip outlining how to provide specific TypeScript type definitions for a local module!

You're Building Software Wrong

....

Slicing software: why vertical is better than horizontal.

Single File Web Apps

....

What if you could author an entire web application in a single file?

The AI Development Conundrum

....

Is it a good or a bad thing to offload writing code to AI agents and Large Language Models?

A Quick Look at Import Maps

....

A brief look at Import Maps and package.json#imports to support isomorphic JavaScript applications!

Recommended Tech Talks

....

A collection of tech talks that I regularly re-watch and also recommend to everyone!

Request for a (minimal) RSC Framework

....

Some features and functionality that I'd like within a React Server Component compatible framework.

Bluesky Tips and Tools

....

A (running) collection of Bluesky tips, tools, packages, and other misc things!

Building a Custom Ghostty Theme

....

How to generate a custom Ghostty theme based on any iterm2 theme!

More Thoughts on Dogfooding

....

Even more thoughts on dogfooding!

Dogfooding

....

The secret to excellent product teams is using your own product, and often!

Git Notes as a Tool for Thought

....

(Ab)using Git as yet another tool for thought!

My Current Dev Setup

....

A quick look at the applications and tools that I (generally) use day to day for web development!

Tip: Request and Response Headers

....

There's a common gotcha when creating Web Request and Response instances with Headers!

Using Feature Toggles to De-risk Refactors

....

Feature toggles are often underused by most software development teams, and yet offer so much value during not only feature development but also refactors

Hohoro

....

A quick introduction to my new side project, hohoro. An incremental JS/TS library build tool!

Funport: True Dynamic Imports in webpack

....

webpack, and tools built on it like Next.js, don't support true dynamic imports, but I found a way to trick the system!

My Current AI Stack

....

I've been using a variety of AI tools as of late, I figured I'd document the ones I'm primarily using!

Configuring Cloudflare Domains with Vercel

....

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!

React Error Boundaries: Revisited

....

Revising my previous blog post on React Error Boundaries and my preferred go-to implementation!

Custom Favicon Recipes

....

Two neat tricks for enhancing your site's favicon!

Corporate Sponsored OSS

....

The various risks and pitfalls of open source software run by corporations.

The Library-Docs Monorepo Template

....

A monorepo template for managing a library and documentation together.

Building Better Beacon

....

How we solved an almost show-stopping production bug, and how you can avoid it in your own projects.

Churn Anxiety

....

When did semver major changes become so scary?

Stop Snacking

....

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).

Pair Programming

....

Pair programming can be good sometimes - but not all the time

Taking a Break

....

A few quick thoughts on burn out and taking a break

AI

The Harness Isn't Your Problem, The Router Is

....

OpenBlank

....

ASD-STE100 Simplified Technical English

....

Career

Things Leaders Should Never Do

....

If you're a leader, please never do these things!

Leaving Wayfair

....

The other week was my last week at Wayfair, rounding out almost 8 years at the company. I wanted to reflect a bit on my time there!

Performative Engineering

....

The act of making noise and delivering output instead of outcomes

The Agentic Engineering Scale

....

A brief outline of how I think of the scale of adoption of AI in software development

Onboarding Your New AI Teammate

....

Are we reinventing the wheel when it comes to onboarding new AI agents to a codebase, when we already have primitives available for onboarding humans?

Cursor and Obsidian

....

A quick look at combining Cursor with Obsidian to ask questions of your notes!

The AI Development Conundrum

....

Is it a good or a bad thing to offload writing code to AI agents and Large Language Models?

My Current AI Stack

....

I've been using a variety of AI tools as of late, I figured I'd document the ones I'm primarily using!