<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Claudia Nathan</title>
    <description>The latest articles on DEV Community by Claudia Nathan (@claudianathan).</description>
    <link>https://dev.to/claudianathan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2293215%2F50ab2428-5827-4975-b791-2b2afbc909ba.png</url>
      <title>DEV Community: Claudia Nathan</title>
      <link>https://dev.to/claudianathan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/claudianathan"/>
    <language>en</language>
    <item>
      <title>What the model can't have</title>
      <dc:creator>Claudia Nathan</dc:creator>
      <pubDate>Fri, 10 Jul 2026 15:37:19 +0000</pubDate>
      <link>https://dev.to/claudianathan/what-the-model-cant-have-3j6i</link>
      <guid>https://dev.to/claudianathan/what-the-model-cant-have-3j6i</guid>
      <description>&lt;p&gt;About a year ago I started working on a second-order harness for myself where my only intention was to try to not be too fancy about the approach. I wanted to share that project because it turned out to work exceptionally well for me and &lt;em&gt;may&lt;/em&gt; for others. &lt;/p&gt;

&lt;p&gt;But ultimately that ‘exceptional’ output is an output that is made for me, that enriches in some way my own agency and creativity. It has more to do with how I went about creating it, not what’s actually in it. Which I want to write about first.&lt;/p&gt;




&lt;h3&gt;
  
  
  I was doing the wrong job
&lt;/h3&gt;

&lt;p&gt;AI moves unusually quickly. Every week brings new models, techniques, workflows, benchmarks and opinions about how you're supposed to work. It creates the feeling that if you stop paying attention you'll be left behind and makes it tempting to constantly optimize your setup instead of your work.&lt;/p&gt;

&lt;p&gt;This feeling of falling behind treats all AI knowledge as one 'job', but it's at the very least two:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The model's job is to know about the model.&lt;/li&gt;
&lt;li&gt;Your job is to know about the work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;These have wildly different half-lives.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The feed of content we're all buried in (model updates, new tools, frameworks, social content, articles, which I'll refer to as just the feed hereon for simplicity's sake), almost exclusively helps with the first job. That feed is the fastest-depreciating asset there is &lt;strong&gt;&lt;em&gt;because the model is trained on it&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flumuv9szrgi1t62d2bt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flumuv9szrgi1t62d2bt3.png" alt="Knowledge about models depreciates with releases. Knowledge about the work compounds." width="799" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The people discovering better ways to work with it matter enormously. But once those ideas become public and general, they don't stay ours for very long. In most kinds of work it's enough to be right. In this kind, being right has a shelf life of about one release. The hours I spent keeping up were hours spent hoarding &lt;em&gt;the single most rapidly-depreciating thing in the room&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Major capability shifts are worth paying attention to because they expand what's possible. But most incremental updates don't require me to rethink how I work. This is why in this harness I run a state-bump on each new Claude Code release so I know the agent has access to the information it needs to do its job.&lt;/p&gt;

&lt;p&gt;So with this idea I started using this one project folder to yarn with Claude whenever I wanted to refine how we worked together. I never asked it to create anything.&lt;/p&gt;

&lt;p&gt;I'd start talking about a problem or an idea with the words I had about them before looking online about it. I asked a lot of questions and spent most of the time challenging whatever either of us assumed straight away, because almost every time an assumption broke there was a better idea sitting behind it. Sometimes this produced a primitive and sometimes it didn't. Most of them were eventually deleted.&lt;/p&gt;




&lt;h3&gt;
  
  
  The model can't have what I want
&lt;/h3&gt;

&lt;p&gt;The model gets better every few months without any help from me, but what I want, &lt;strong&gt;it can only get from me&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is easier to say when you already have judgment to fall back on. But I don't think the beginner's version is &lt;em&gt;'keep up more'&lt;/em&gt;. The feed feels like learning and is mostly spectating; judgment comes from thinking for yourself and doing work and being wrong about it often. So the advice holds for them too, it's just less comforting.&lt;/p&gt;

&lt;p&gt;I forgot that I am a person with ideas and expertise and a new tool to help me do the things that excite me better and faster.&lt;/p&gt;

&lt;p&gt;Really no matter the job you do, your competitive advantage probably isn't knowing that Claude Fable 5 improved tool use by 8%. It's understanding your domain deeply enough to recognize a good answer when you see one.&lt;/p&gt;

&lt;p&gt;The bottleneck in most cases (for the people like me and who resonate with this problem) is not the model, and not your lack of knowledge about it.&lt;/p&gt;

&lt;p&gt;As I worked on this harness I've gradually tried to distill these ideas into it. It became a funnel I've called &lt;a href="https://github.com/claudialnathan/agent-kitchen" rel="noopener noreferrer"&gt;&lt;strong&gt;agent-kitchen&lt;/strong&gt;&lt;/a&gt; that takes a person's raw thoughts, ideas, and earned expertise, and produces something that helps an agent do better at what matters to that person. &lt;/p&gt;




&lt;h2&gt;
  
  
  The Harness
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/claudialnathan/agent-kitchen" rel="noopener noreferrer"&gt;Agent-kitchen&lt;/a&gt; is a second-order harness: it is a kitchen for the things that configure coding agents (skills, hooks, rules, CLAUDE.md, workflows). It runs as dotfiles for the agent in the form of two plugins under a marketplace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cook&lt;/strong&gt; makes the tools, tastes them, dates them, throws out what's gone stale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serve&lt;/strong&gt; is what's survived for me so far. It still tastes better than store-bought. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The kitchen is built on the idea that:&lt;/p&gt;

&lt;p&gt;A frontier model in 2026 is very competent at most things, but its default in any domain is the competent average version of the thing. The artifacts here are commitments that drag the model off that median in a chosen direction.&lt;/p&gt;

&lt;p&gt;Every artifact competes with two forces: the unaided frontier model, which absorbs generic craft with each release, and the owner's time, which every artifact charges rent on.&lt;/p&gt;

&lt;p&gt;So durable value comes from what the model cannot have: the owner's taste and intent made operational, local truths of a repo or team, verified facts from after the training cutoff, and failures actually observed in sessions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foexvx35qxuudpt79czub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foexvx35qxuudpt79czub.png" alt="Generic prompting techniques become part of the model over time. Durable artifacts encode things the model cannot learn on its own." width="799" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything else gets absorbed, so deletion is the expected end of every artifact here, not a failure of one.&lt;/p&gt;

&lt;p&gt;I should mention this is something I actively maintain and rework regularly. There are tests for the model to run and tests that I run, which is mostly just me asking Claude to use a skill, review what it produced, and then I poke and prod at it until it achieves what I expected or wanted.&lt;br&gt;
I'll use other skills that are similar and get it to use each for the same task (a task I actually need to do and have a very clear idea about what an 'excellent' output is). I compare them and work backwards through what Claude did in each.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp6egroredqmujb6g2skg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp6egroredqmujb6g2skg.gif" alt="Whiplash (Film) GIF" width="400" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cook
&lt;/h3&gt;

&lt;p&gt;Cook is where artifacts come from, it can run as a loop or as-needed.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;forge&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Routes a behavior through a triage ladder to the right surface (skill, hook, path-scoped rule, &lt;code&gt;CLAUDE.md&lt;/code&gt;, workflow, subagent, MCP). Applies a consistent stance that judges each artifact by the work it causes the agent to produce, not by the artifact itself.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;harness-audit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Inventories everything loaded at session start, measures per-session token cost, and runs four checks: self-consistency, duplication across scopes, enforcement parity, and scope discipline. Built to remove artifacts rather than add them.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;harvest&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mines session transcripts for corrections the user had to make more than once, deduplicates them against the existing harness, and forwards surviving candidates to Forge as earned-intent evidence. The "without-the-skill" baseline has already been observed in production during those sessions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ingest&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Converts user-provided resources into an artifact by spawning one reader subagent per source, grounding the result in verbatim quotes.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;As a loop:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnffvvreo1fvnovtdey1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnffvvreo1fvnovtdey1r.png" alt="Artifacts are earned from real work, tested against reality, and deleted when they stop paying rent." width="799" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Serve
&lt;/h2&gt;

&lt;p&gt;Everything in Serve should earn its place only by beating the unaided current model on the gap that created it, checked by a runnable probe and not assumed (process skills are exempt: their value is the owner wanting the procedure, which no release absorbs).&lt;/p&gt;

&lt;p&gt;Each such skill keeps the gap that earned it as a runnable fixture in evals/probes.md: the verbatim prompt, what the bare model gets wrong and the pass criterion.&lt;/p&gt;

&lt;p&gt;On each model release the probes replay against the bare model in a near-clean session (safe-mode still leaks some account context). Verdicts land in a per-model table and CHANGELOG.md. When every probe passes unaided, the model has absorbed the skill's job and the skill is deleted.&lt;/p&gt;

&lt;p&gt;Absorption is not monotonic: a case one model absorbed can regress on the next model line, so probes never retire while the skill lives.&lt;/p&gt;

&lt;h3&gt;
  
  
  STATE.md + HACKS.md
&lt;/h3&gt;

&lt;p&gt;Verified snapshot of Claude Code's surfaces and lesser-known features, re-checked against the live changelog on each release.&lt;/p&gt;

&lt;h3&gt;
  
  
  CHANGELOG.md
&lt;/h3&gt;

&lt;p&gt;The provenance ledger: why each artifact exists, what it was re-tested against, and the keep/revise/delete verdicts. The artifacts themselves carry only a one-line model pin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/claudialnathan/agent-kitchen" rel="noopener noreferrer"&gt;https://github.com/claudialnathan/agent-kitchen&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>claude</category>
      <category>aiops</category>
    </item>
    <item>
      <title>On Learning Web Development When Web Development is Still Learning Web Development</title>
      <dc:creator>Claudia Nathan</dc:creator>
      <pubDate>Wed, 19 Nov 2025 08:43:34 +0000</pubDate>
      <link>https://dev.to/claudianathan/on-learning-web-development-when-web-development-is-still-learning-web-development-e68</link>
      <guid>https://dev.to/claudianathan/on-learning-web-development-when-web-development-is-still-learning-web-development-e68</guid>
      <description>&lt;p&gt;Hey DEV community! I've been here a little while, learning from everyone in the backdrop. I've decided to take my learning journey public and am kicking things off with what probably reads like an existential crisis but was a really big turning point I felt compelled to write about.&lt;/p&gt;

&lt;p&gt;I want to start with a disclaimer, I am still rather new to development. I'm not here to make grandiose, opinionated statements about anything in particular to anyone in particular. I wrote this to help myself compartmentalise what I was finding so difficult about learning Javascript (and anything really beyond HTML/CSS), and am publishing it only in case there are people like me out there, who are fascinated by and deeply interested in the field, but are stuck in the quicksand at the front door.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25q8i6w9cus7slv7j7ik.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25q8i6w9cus7slv7j7ik.gif" alt="Man typing furiously on burning computer. source: GIPHY" width="360" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since the following realization dawned on me, I've made pretty significant strides in my my ability to learn, understand and put into practice all things web development.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The reason learning to code feels impossible isn't just because it is a complex, layered and vast field of knowledge and expertise, it is also largely because the structure of the field itself creates a specific kind of cognitive trap. But once you see it, you can stop fighting it and start working with it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm both lucky and disadvantaged to be learning web development in 2025. Lucky because so many problems have been solved. Disadvantaged because I'm inheriting a world I didn't watch being built.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And this is the trap: you need context to learn, but you need to learn to build context.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This creates what philosophers call a hermeneutic circle: you need to understand the whole to understand the parts, but you need to understand the parts to understand the whole. You're trapped in a loop where each piece of knowledge requires context you don't have yet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2k0nvitu22hjcfhepfbj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2k0nvitu22hjcfhepfbj.gif" alt="Woman frowning as overlay of complicated algebra surrounds her. source: GIPHY" width="504" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Development is a complex thing, and it's different in nature to other complex things people learn, such as medicine or science. The difference I've realised comes down to four factors:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Programming / Web Development is very young&lt;/strong&gt;. It's too young to have settled (best practices are still being argued about) and it's moving too fast to stabilize (by the time something becomes 'standard,' it's already changing).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is a largely democratized field&lt;/strong&gt;. Because it is so young and because of it's nature, everyone has a voice and an idea around the why, how, when and where of it all (none of which are wrong or right, it just comes down to what gets adopted by the largest number of people).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is not standardized enough to have a clear path&lt;/strong&gt;. While there are bodies and standards, none are finite or 'complete', and none are necessarily the definitive 'authorities' of their domain. We may follow one, abide by its rules and paradigms, but then before we know it there's an entirely new standard with different rules and paradigms and a large number of followers advocating for it's superiority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is not constrained by a reality external to humans&lt;/strong&gt;. This is the big one and has a few different components to it, so let's dive into it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The fields of medicine and science are both constrained by an external reality. There's a thing out there - a body, a universe - that doesn't care what we think. The goal is to understand and work with what &lt;em&gt;is&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programming has no external reality. &lt;em&gt;It's just humans, all the way down&lt;/em&gt;&lt;/strong&gt; (for the sake of keeping this from getting too abstract, I'm not talking about the invention of the computer, which was made possible by the constraints of our external reality and our understanding of them. This is about what we decided to do with that invention).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Medicine&lt;/strong&gt;: the goal is human health (bound by biology, which existed before us)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Science&lt;/strong&gt;: the goal is understanding (bound by physics, which existed before us)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programming&lt;/strong&gt;: the goal is… &lt;em&gt;what&lt;/em&gt;? To make computers do things? But &lt;em&gt;why those things&lt;/em&gt;? And &lt;em&gt;how&lt;/em&gt;? And the answer is just… "because another human decided to build it that way to achieve the thing they wanted to achieve."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Programming is a field where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The problems only exist because &lt;em&gt;we created them&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;The solutions only work within &lt;em&gt;systems we invented&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;The "better" way to do something is determined by &lt;em&gt;humans arguing with other humans&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;There's &lt;em&gt;no natural law&lt;/em&gt; to discover, &lt;em&gt;no biological truth&lt;/em&gt; to respect&lt;/li&gt;
&lt;li&gt;The constraints are &lt;strong&gt;&lt;em&gt;arbitrary&lt;/em&gt;&lt;/strong&gt; - they were chosen by someone, somewhere, and could have been different&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when you're learning, you're not just learning &lt;em&gt;how the body works&lt;/em&gt; or &lt;em&gt;how gravity works&lt;/em&gt; and then once you understand those things, either finding a job where you put that knowledge into practice and upskill here and there where necessary, or joining a research body to expand our understanding of, in this case, the universe or the body.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;You're learning how some people decided this should work, why they decided that, what assumptions they made, which of those assumptions are still true between yesterday and today, which abstraction layer you're operating in, and how the humans who decided these things probably fucked something up along the way that will require a new set of humans to develop another abstraction-layer-solution for. Job at the end? Maybe. Join a research body to contribute to deepening our understanding? You're &lt;strong&gt;already in one&lt;/strong&gt;, friend.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;When you enter this 'field', especially in a time like 2025, you're not really entering just a field. You are a newborn baby in a constructed universe that has its own:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Physics&lt;/strong&gt; (how computers actually work)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Languages&lt;/strong&gt; (literal programming languages, but also jargon, culture, communication styles)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Geography&lt;/strong&gt; (frontend, backend, DevOps, data, systems…)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;History&lt;/strong&gt; (why things are the way they are, what came before)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Politics&lt;/strong&gt; (who controls what, which companies/communities/bodies have power and why)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Economy&lt;/strong&gt; (what's valued, what's dismissed, who gets paid)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Philosophy&lt;/strong&gt; (how should code be written? what is "good"?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And unlike being born into the real world, where you get to just exist in it for a while before choosing a profession, in programming you have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn this universe exists&lt;/li&gt;
&lt;li&gt;Learn how it works&lt;/li&gt;
&lt;li&gt;Learn to speak its languages&lt;/li&gt;
&lt;li&gt;Learn its history (because without it, nothing makes sense)&lt;/li&gt;
&lt;li&gt;Build enough context to even understand what the options are&lt;/li&gt;
&lt;li&gt;THEN decide what you want to be&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It was this that led me to accept and lean into the complete chaos (the exciting kind) that is the field of web development. Once I understood that, and I understood how we got to the first website and the first app, I was in it. I gave myself a metaphorical web development birth certificate and trudged along.&lt;/p&gt;

&lt;p&gt;There is a lot to learn, but there's a lot that's left up to you. I went to university and got a degree in 'Literature and Cultural Studies' (lol no I did not listen to my parents, I am an eldest child and I had to everything learn the hard way). I chose that degree because I knew I liked to be creative, I liked taking arbitrary rules and seeing what new things I could make with them.&lt;/p&gt;

&lt;p&gt;This is why I now look at programming as an undoubtedly creative field (albeit a creative field in an alien universe). Once you learn to inhabit this world you didn't know existed, with rules you have to discover in order to eventually figure out what role you even want to play in it and so on, you can start to wonder, tinker, create and innovate.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what do you do with&amp;nbsp;this?
&lt;/h2&gt;

&lt;p&gt;If you're like me, once you see that programming is a constructed world with contested rules, you stop waiting to 'understand everything' before you start. You stop looking for the one correct path, because there isn't one.&lt;br&gt;
Instead, you learn like a baby learns a language: through immersion, not textbooks. You build things that barely work. You copy code you don't fully understand yet. You participate before you understand, because understanding follows action.&lt;br&gt;
The discomfort isn't a bug, it's the entry point. Confusion means you're at the edge, and that's where learning happens.&lt;br&gt;
You're not learning your way out of confusion. You're building your way through it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Recommended Resources
&lt;/h2&gt;

&lt;p&gt;I've included below a list of the resources I found the most helpful in my learning journey (there are lots of great resources, but I am only including the ones I stuck to, because options was a big part of the road-block for me).&lt;/p&gt;

&lt;p&gt;A lot of the courses I undertook were paid (The Odin Project, though, is completely free and was probably the most important and most helpful one of all) but this is not to say you have to pay for courses to learn these things.&lt;/p&gt;

&lt;p&gt;I decided to invest in these structured courses as I was able to afford to do so, but this is a field where you can learn everything you need to learn for free. I've tried to include as many of those as possible below too, and have marked which are paid and which are not.&lt;/p&gt;

&lt;p&gt;If you happen to be reading this at the time of publish (November 19, 2025) a lot of these courses have Black Friday deals on atm!&lt;br&gt;
Self guided learning can be really really hard in a field where there's no clear path forward, I found Developer Roadmaps a great guide for this.&lt;br&gt;
I also found How to Learn Stuff Quickly - a blog article by Josh Comeau (to be referenced below a couple times) very helpful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Foundational Skills
&lt;/h3&gt;

&lt;p&gt;(basics of HTML, CSS, JS and their surrounding ecosystem):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.theodinproject.com/" rel="noopener noreferrer"&gt;The Odin Project&lt;/a&gt;&lt;/strong&gt; (free, absolute 10/10 resource)&lt;/li&gt;
&lt;li&gt;I also downloaded &lt;strong&gt;&lt;a href="https://mimo.org/" rel="noopener noreferrer"&gt;Mimo&lt;/a&gt;&lt;/strong&gt; on my phone to practice in between dedicated 'learning' hours (free on mobile)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Extending on foundations:&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML
&lt;/h3&gt;

&lt;p&gt;You can't go wrong here, this is a short and wonderfully intuitive part of front-end web development. I never really undertook 'learning' HTML, though I started this journey in Webflow (my favourite tool to this day) which is sort of the equivalent of 'visual HTML and CSS'. It quietly taught me a lot of foundational skills before I knew what they were.&lt;br&gt;
I believe &lt;strong&gt;&lt;a href="https://www.theodinproject.com/" rel="noopener noreferrer"&gt;The Odin Project&lt;/a&gt;&lt;/strong&gt; and many other similar resources such as &lt;strong&gt;&lt;a href="https://www.freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt;&lt;/strong&gt; cover all you need on this one.&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;p&gt;You'll learn a lot of CSS in foundational skills, and you can leave it at that if you wish. But CSS is very cool, often underestimated, and gives you a lot of incredible tools. There's no shortage of places to extend on your CSS knowledge, these are the ones I found the most interesting/helpful or are courses from people/resources who I follow and can vouch for likely being very worthwhile:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://css-for-js.dev/" rel="noopener noreferrer"&gt;Josh Comeau's CSS for Javascript Developers&lt;/a&gt;&lt;/strong&gt; (paid) *I did not know Javascript before taking this, and it didn't hinder me in any way, there was one module on React that I just skipped over and came back to later. This is the only paid CSS course I took and I did not feel the need to take any more beyond this one!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://piccalil.li/complete-css/" rel="noopener noreferrer"&gt;Piccalilli's Complete CSS&lt;/a&gt;&lt;/strong&gt; (paid)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://piccalil.li/" rel="noopener noreferrer"&gt;Piccalilli's Blog Articles&lt;/a&gt;&lt;/strong&gt; (free)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://cssdemystified.com/" rel="noopener noreferrer"&gt;Kevin Powell's CSS Demystified&lt;/a&gt;&lt;/strong&gt; (paid)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.youtube.com/kevinpowell" rel="noopener noreferrer"&gt;Kevin Powell's YouTube Channel&lt;/a&gt;&lt;/strong&gt; (free)&lt;/li&gt;
&lt;li&gt;Honestly YouTube is a treasure trove of CSS's best kept secrets, it's hard to stumble on someone who's got it 'wrong'&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;p&gt;The below courses/tutorials will also require a decent foundational idea about Javascript, especially syntax, so I recommend you do as much as you can with something like The Odin Project first. &lt;/p&gt;

&lt;p&gt;These were game-changers for me! They are all included in the monthly &lt;strong&gt;&lt;a href="https://frontendmasters.com/" rel="noopener noreferrer"&gt;Frontend Masters&lt;/a&gt;&lt;/strong&gt; subscription (which offers a free trial):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/javascript-hard-parts-v2/" rel="noopener noreferrer"&gt;The Hard Parts of Javascript&lt;/a&gt;&lt;/strong&gt; by Will Sentance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/javascript-new-hard-parts/" rel="noopener noreferrer"&gt;The Hard Parts of Asynchronous Javascript&lt;/a&gt;&lt;/strong&gt; by Will Sentance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/object-oriented-js/" rel="noopener noreferrer"&gt;The Hard Parts of Object-Oriented Programming&lt;/a&gt;&lt;/strong&gt; by Will Sentance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/hard-parts-ui-dev/" rel="noopener noreferrer"&gt;The Hard Parts of UI Development&lt;/a&gt;&lt;/strong&gt; by Will Sentance (I'm sure you're picking up on a pattern here, big shout out to Will Sentance)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/servers-node-js/" rel="noopener noreferrer"&gt;The Hard Parts&lt;/a&gt;&lt;/strong&gt; (yes, another one) &lt;strong&gt;&lt;a href="https://frontendmasters.com/courses/servers-node-js/" rel="noopener noreferrer"&gt;of Servers &amp;amp; Node.js&lt;/a&gt;&lt;/strong&gt; by Will Sentance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Non-Will Resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.youtube.com/@WebDevSimplified" rel="noopener noreferrer"&gt;Web Dev Simplified's YouTube Channel&lt;/a&gt;&lt;/strong&gt; (free)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.youtube.com/@ColorCode-io" rel="noopener noreferrer"&gt;ColorCode's YouTube Channel&lt;/a&gt;&lt;/strong&gt; (free)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.theodinproject.com/" rel="noopener noreferrer"&gt;The Odin Project&lt;/a&gt;&lt;/strong&gt; (Javascript-specific path)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have not taken this one, but I am signed up to every notification/email from Piccalli.li and they've just put out the below course:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://piccalil.li/javascript-for-everyone" rel="noopener noreferrer"&gt;Javascript for Everyone&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  React
&lt;/h3&gt;

&lt;p&gt;(this is not the 'next natural step' after learning Javascript, it's just the one I wanted to take):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.joyofreact.com/" rel="noopener noreferrer"&gt;The Joy of React&lt;/a&gt;&lt;/strong&gt; by Josh Comeau (paid)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://react.dev/learn" rel="noopener noreferrer"&gt;The React Documentation&lt;/a&gt;&lt;/strong&gt; (free) is actually very helpful and easy to read if you have a good grasp of Javascript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm hoping to come back here to recommend all of my favourite newsletters and accounts I follow to continue learning and stay as up-to-date as I can on the latest in front-end web development as soon as I get a chance!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>webdev</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
