<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Philosophy - Tag - Tracy Atteberry</title><link>https://tracyatteberry.com/tags/philosophy/</link><description>Philosophy - Tag - Tracy Atteberry</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>tracy@magicbydesign.com (Tracy Atteberry)</managingEditor><webMaster>tracy@magicbydesign.com (Tracy Atteberry)</webMaster><lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0000</lastBuildDate><image><url>https://tracyatteberry.com/images/feed-icon.jpg</url><title>Philosophy - Tag - Tracy Atteberry</title><link>https://tracyatteberry.com/tags/philosophy/</link></image><atom:link href="https://tracyatteberry.com/tags/philosophy/" rel="self" type="application/rss+xml"/><item><title>My AI philosophy</title><link>https://tracyatteberry.com/posts/ai_philosophy/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/posts/ai_philosophy/</guid><description><![CDATA[<div class="featured-image">
                <img src="https://tracyatteberry.com/posts/ai_philosophy/ai_philosophy.jpg" referrerpolicy="no-referrer">
            </div><h1 id="ai-as-leverage-not-autopilot">AI as leverage, not autopilot</h1>
<p>As AI programming tools become increasingly integrated into our development
workflows, I believe it&rsquo;s important to establish a thoughtful philosophy for
their use. This post is my attempt to explain how I think about AI-assisted
programming, and how I actually use these tools day to day. First, let&rsquo;s
establish some context.</p>
<p>Does an AI tool have a bigger impact on productivity than solving the right
customer problem? No. Is it more important than human interactions for
producing the best outcomes? Definitely not. It&rsquo;s a tool, not a panacea.</p>
<p>I’m mostly optimistic about AI tools. I use them all the time. I also think
they’re easy to misuse, and that misuse shows up very quickly on real teams.</p>
<p>What follows isn’t a list of tools or prompts. It’s a philosophy.</p>
<hr>
<h2 id="the-hard-part-of-programming-hasnt-changed">The hard part of programming hasn’t changed</h2>
<p>There’s a persistent idea that AI is “doing the programming for us now.” That
was never really true.</p>
<p>The hard part of programming has never been typing code. The hard part is
turning vague, sometimes contradictory human intent into something precise
enough that a computer can execute it reliably.</p>
<p>That observation <a href="https://codemanship.wordpress.com/2025/11/25/the-future-of-software-development-is-software-developers/" target="_blank" rel="noopener noreffer ">isn’t
new</a>.
<a href="https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html" target="_blank" rel="noopener noreffer ">Dijkstra observed
it</a> nearly
50 years ago, long before LLMs entered the picture. The tools change; the core
difficulty doesn’t.</p>
<p>AI removes a lot of labor. It removes friction. It removes the parts of the job
that many of us never particularly enjoyed: boilerplate, busywork, hunting
through documentation, or debugging trivial mistakes.</p>
<p>What it does <em>not</em> remove is the need to know exactly what you’re asking for.</p>
<hr>
<h2 id="ai-amplifies-expertise-it-doesnt-replace-it">AI amplifies expertise; it doesn’t replace it</h2>
<p>A good mental model for an LLM is that of a very smart junior developer who has
read every textbook in the world and none of your internal documentation.</p>
<p>It knows patterns. It knows syntax. It knows how similar problems are usually solved.</p>
<p>What it doesn’t know is:</p>
<ul>
<li>why your system is shaped the way it is</li>
<li>which tradeoffs you already rejected</li>
<li>what constraints actually matter in your environment</li>
</ul>
<p>That context has to come from somewhere. In practice, it comes from experienced engineers.</p>
<p>This lines up with what people like <a href="https://lethain.com/company-ai-adoption/" target="_blank" rel="noopener noreffer ">Will
Larson</a> and <a href="https://simonwillison.net/2025/Oct/7/vibe-engineering/" target="_blank" rel="noopener noreffer ">Simon
Willison</a> have been
saying from different angles: real AI leverage happens when domain knowledge,
tool fluency, and production experience intersect.</p>
<p>AI is an amplifier. If those things are present, it multiplies their impact. If
they’re missing, it mostly amplifies confusion.</p>
<hr>
<h2 id="my-job-is-managing-context-not-writing-lines-of-code">My job is managing context, not writing lines of code</h2>
<p>When I work with AI tools, I spend far less time typing code and far more time doing things like:</p>
<ul>
<li>writing clear specifications</li>
<li>deciding what information belongs in context</li>
<li>removing information that <em>doesn’t</em> belong in context</li>
<li>reviewing output carefully</li>
</ul>
<p>This shift in programming becomes a bit less about expression and a bit more
about curation.</p>
<p>If you just keep piling context into a conversation, performance degrades. The
model gets slower, more expensive, and—counterintuitively—less useful. So I
reset often. I summarize. I prune aggressively.</p>
<p>That work feels very familiar to me as a senior engineer. It’s the same skill
set as writing a good design doc or onboarding a new teammate: decide what
matters, explain it clearly, and remove everything else.</p>
<p>If that doesn’t sound enjoyable, AI-assisted programming probably won’t feel
very fun.</p>
<hr>
<h2 id="outcome-driven-engineering-matters-more-than-ever">Outcome-driven engineering matters more than ever</h2>
<p>One shift I’ve noticed is a growing split between outcome-driven and
process-driven engineering.</p>
<p>Several writers have pointed out this tension recently, including <a href="https://werd.io/2025-the-year-in-llms/" target="_blank" rel="noopener noreffer ">Ben
Werdmuller</a>. AI makes it much cheaper
to get something testable in front of users. That’s exciting if you care about
learning quickly. It’s threatening if you get your meaning primarily from the
act of engineering itself.</p>
<p>Speed matters here, not because fast is virtuous, but because slow work locks
in bad decisions. As <a href="https://lemire.me/blog/2025/12/05/why-speed-matters/" target="_blank" rel="noopener noreffer ">Daniel Lemire has
argued</a> in a different
context, expensive change encourages people to cling to somewhat obsolete
solutions simply because replacing them would hurt.</p>
<p>Lowering the cost of building lowers the cost of being wrong.</p>
<p>That’s a feature.</p>
<hr>
<h2 id="responsibility-does-not-get-delegated">Responsibility does not get delegated</h2>
<p>One thing I feel very strongly about: “the AI wrote it” is not an excuse.</p>
<p>If I submit code, I am responsible for that code. Full stop.</p>
<p>This concern has been showing up more often in industry writing, especially
from people who spend a lot of time reviewing code. When AI output is accepted
uncritically, the burden shifts to reviewers, who become the first line of
quality control instead of one of the last.</p>
<p>In practice, AI tools <em>increase</em> the importance of careful review. They can
generate large amounts of plausible-looking output very quickly, including:</p>
<ul>
<li>dead code</li>
<li>hallucinated APIs</li>
<li>subtle logic errors</li>
</ul>
<p>A developer who blindly accepts that output is pushing quality control onto
their teammates. That creates cognitive debt and burns trust.</p>
<p>Used well, AI clears space for better judgment. Used poorly, it moves even
more work onto others.</p>
<hr>
<h2 id="what-ai-actually-frees-up-judgment-and-tradeoffs">What AI actually frees up: judgment and tradeoffs</h2>
<p>At my experience level, typing code is not where I add the most value.</p>
<p>The value is in decisions:</p>
<ul>
<li>how a system should be structured</li>
<li>which constraints matter</li>
<li>which tradeoffs are acceptable</li>
<li>what <em>not</em> to build</li>
</ul>
<p>AI tools are excellent at handling mechanical expression. That’s a good thing.
It leaves more room for the parts of the job that actually require experience.</p>
<p>When I spend long stretches manually typing code these days, it often feels
like I’m not getting the most value out of my time.</p>
<hr>
<h2 id="juniors-seniors-and-ai">Juniors, seniors, and AI</h2>
<p>I’ve watched junior developers use AI well, and it’s impressive.</p>
<p>The biggest benefit isn’t that the AI “does the work.” It’s that it collapses
the search space. Instead of spending hours figuring out <em>which</em> API to use,
juniors can spend that time evaluating options the model surfaces.</p>
<p>When that time savings is invested in learning instead of feature churn,
ramp-up can increase dramatically.</p>
<p>The flip side is also true: AI can hide shallow understanding. That makes
mentorship, review, and clear standards more important, not less.</p>
<hr>
<h2 id="more-work-will-exist-not-less">More work will exist, not less</h2>
<p>One thing I don’t buy (long term) is the idea that AI’s primary impact is
replacing knowledge workers.</p>
<p>Making work cheaper doesn’t usually reduce how much work gets done. <a href="https://www.linkedin.com/pulse/jevons-paradox-knowledge-work-aaron-levie-qalmc/" target="_blank" rel="noopener noreffer ">It
increases it</a>.</p>
<p>AI enables projects that wouldn’t have been started at all before. Experiments
that would’ve been too expensive. Ideas that would’ve died in a backlog.</p>
<p>The real risk isn’t scarcity of work. It’s lack of focus.</p>
<p>When everything feels like it’s “just a prompt away,” discipline becomes a core
skill.</p>
<hr>
<h2 id="how-this-shows-up-in-my-day-to-day-work">How this shows up in my day-to-day work</h2>
<p>Some simple rules I tend to follow:</p>
<ul>
<li>optimize for fast feedback loops</li>
<li>write specs before prompts</li>
<li>reset context aggressively</li>
<li>review everything I submit</li>
<li>treat AI output as a draft, not a decision</li>
<li>use AI to buy time for thinking, not to avoid it</li>
</ul>
<hr>
<h2 id="what-this-means-for-teams-i-join">What this means for teams I join</h2>
<p>Practically, this philosophy shows up in how I work with others.</p>
<p>I’m comfortable leading and reviewing AI-assisted work, but I’m not interested
in teams where responsibility is fuzzy or quality is optional. I expect
engineers to understand the code they ship, even when an AI helped produce it.</p>
<p>I’m outcome-oriented, but not reckless. I like fast feedback loops, clear
ownership, and early validation. I’m also happy doing the unglamorous work of
review, pruning, and course correction that keeps teams healthy as velocity
increases.</p>
<p>If a team wants to use AI tools seriously, I bring experience operating at that
layer: writing specs, managing context, designing guardrails, and keeping
humans firmly in the loop.</p>
<h2 id="closing">Closing</h2>
<p>The field of AI is rapidly evolving, and I&rsquo;m sure my approach to using AI
tools will evolve as well.</p>
<p>Today, I don’t think being &ldquo;AI-native&rdquo; means handing the wheel to a model.</p>
<p>It means knowing what to delegate, what to keep, and where human judgment is
irreplaceable.</p>
<p>Used well, AI makes strong engineers more effective. Used poorly, it exposes
weak habits very quickly.</p>
<p>I aim for the former.</p>
]]></description></item></channel></rss>