<?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: Kay Ashaolu</title>
    <description>The latest articles on DEV Community by Kay Ashaolu (@kayashaolu).</description>
    <link>https://dev.to/kayashaolu</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%2F2068399%2F94b886af-d71f-4c33-b979-05ccc7d32c8d.png</url>
      <title>DEV Community: Kay Ashaolu</title>
      <link>https://dev.to/kayashaolu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kayashaolu"/>
    <language>en</language>
    <item>
      <title>What a staff engineer benchmark measures</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Wed, 11 Nov 2026 14:00:25 +0000</pubDate>
      <link>https://dev.to/kayashaolu/what-a-staff-engineer-benchmark-measures-1bmb</link>
      <guid>https://dev.to/kayashaolu/what-a-staff-engineer-benchmark-measures-1bmb</guid>
      <description>&lt;p&gt;A new benchmark asks whether coding agents can act like staff engineers. I like the question, because most tests ask about one task and a staff engineer's job is never one task.&lt;/p&gt;

&lt;p&gt;It is the whole set of responsibilities: deciding what to build, how the pieces fit, what to leave alone. A benchmark built on real situations can show how close models are to carrying that.&lt;/p&gt;

&lt;p&gt;The same list tells you where you stand. Whatever the score says, the responsibilities that remain are yours, and they are worth practicing on purpose.&lt;/p&gt;

&lt;p&gt;The score belongs to the model; the responsibilities that remain belong to you.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Try the design-with-blocks plugin, which walks you through designing a real application from its building blocks. &lt;a href="https://systemthinkinglab.ai/design-with-blocks" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/design-with-blocks&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=staff-engineer-benchmark" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Code by hand, even if you never will</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Tue, 10 Nov 2026 14:01:16 +0000</pubDate>
      <link>https://dev.to/kayashaolu/code-by-hand-even-if-you-never-will-589f</link>
      <guid>https://dev.to/kayashaolu/code-by-hand-even-if-you-never-will-589f</guid>
      <description>&lt;p&gt;Writing code by hand builds something that survives the day you stop doing it. You learn what a function costs, where state hides, and why a small change breaks something far away.&lt;/p&gt;

&lt;p&gt;That understanding turns out to be the most useful thing you can bring to an agent. You ask better questions, because you know what the answers should look like. You notice the plausible output that is quietly wrong.&lt;/p&gt;

&lt;p&gt;New engineers who learn to code by hand will likely have an edge, even if their jobs never ask for it. Coding is changing form, and the understanding underneath it does not.&lt;/p&gt;

&lt;p&gt;The hands may go idle, but the model you built with them keeps working.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Walk through the plan-first loop, a free guide to predicting before you build. &lt;a href="https://systemthinkinglab.ai/learn/plan-first-loop/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/learn/plan-first-loop/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=code-by-hand" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Ask the agent to keep a ledger</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Mon, 09 Nov 2026 14:01:10 +0000</pubDate>
      <link>https://dev.to/kayashaolu/ask-the-agent-to-keep-a-ledger-53m4</link>
      <guid>https://dev.to/kayashaolu/ask-the-agent-to-keep-a-ledger-53m4</guid>
      <description>&lt;p&gt;A rewrite is when a codebase could teach you the most, and it is usually when no one is listening. The old code had thin understanding to begin with, and the new code arrives with none.&lt;/p&gt;

&lt;p&gt;So ask the agent for one more thing while it works: a ledger. Every change it makes, and why it made it, in plain text. Plain text scales. A whole team can read it, search it next year, and hand it to whoever joins after the original people have moved on.&lt;/p&gt;

&lt;p&gt;The ledger is how the work turns into a lesson.&lt;/p&gt;

&lt;p&gt;The best use of an agent leaves behind more understanding than it found.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Try the scaffold plugin, which keeps a ledger of what you understood alongside the code your AI writes. &lt;a href="https://systemthinkinglab.ai/scaffold" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/scaffold&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=ask-for-a-ledger" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Understand the systems you work on</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Sun, 08 Nov 2026 14:01:11 +0000</pubDate>
      <link>https://dev.to/kayashaolu/understand-the-systems-you-work-on-g38</link>
      <guid>https://dev.to/kayashaolu/understand-the-systems-you-work-on-g38</guid>
      <description>&lt;p&gt;Hey,&lt;/p&gt;

&lt;p&gt;Most systems are too big to hold in your head. Instagram is. So is the one at your job. But however large a system is, it breaks down into a small set of parts.&lt;/p&gt;

&lt;p&gt;Course I teaches those parts: seven building blocks. Once you can see them in Instagram, you can see them in the system you work on every day, and truly understand it.&lt;/p&gt;

&lt;p&gt;Here are two of the seven. A Queue is a line that holds work for later; a Worker is a program that takes the next job off the line and does it.&lt;/p&gt;

&lt;p&gt;Try this today, free. Pick an app you use daily and find its parts: where it keeps things, where work waits, and what picks the work up.&lt;/p&gt;

&lt;p&gt;By the end you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take a design question apart into its parts before you name a single tool.&lt;/li&gt;
&lt;li&gt;Move slow work, like sending the welcome email, out of the moment the user is waiting, so a slow mail server never holds up signup.&lt;/li&gt;
&lt;li&gt;Choose a database or queue by what it does, then defend the trade-off out loud.&lt;/li&gt;
&lt;li&gt;Open a design interview with a method instead of a guess.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is 12 lessons, including two hands-on Python labs, a Link Shortener case study and an assessment, plus a three-part challenge. Self-paced.&lt;/p&gt;

&lt;p&gt;Course I is where the four courses begin. It is $99 on its own, or all four courses are one $299 purchase with Course 0 included, each with a 30-day money-back guarantee.&lt;br&gt;
To buy Course I: &lt;a href="https://systemthinkinglab.ai/course-1.html" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/course-1.html&lt;/a&gt;&lt;br&gt;
All four: &lt;a href="https://systemthinkinglab.ai/courses-i-iv.html" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/courses-i-iv.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not ready yet? The free articles on the blocks are here: &lt;a href="https://systemthinkinglab.ai/learn/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/learn/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kay&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to see how products like Instagram and Netflix are designed, take &lt;a href="https://systemthinkinglab.ai/building-blocks-five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=course-i-understand-the-systems-you-work-on" rel="noopener noreferrer"&gt;your free 5-day course: the 7 building blocks&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>What Cisco's unlimited-tokens rewrite is missing</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Sat, 07 Nov 2026 14:01:11 +0000</pubDate>
      <link>https://dev.to/kayashaolu/what-ciscos-unlimited-tokens-rewrite-is-missing-5dbg</link>
      <guid>https://dev.to/kayashaolu/what-ciscos-unlimited-tokens-rewrite-is-missing-5dbg</guid>
      <description>&lt;p&gt;Fortune reported last week that Cisco's president, Jeetu Patel, has given a 27-year-old engineer no cap on AI tokens and a goal of refactoring 98% of Cisco's legacy code within 24 months. The engineer says a two-person team can do it. The &lt;a href="https://fortune.com/2026/10/30/cisco-president-jeetu-patel-gen-z-27-year-old-unlimited-ai-tokens-rewrite-legacy-code-entry-level-jobs/" rel="noopener noreferrer"&gt;article&lt;/a&gt; is clear that this is a goal, not a result. The engineer has four weeks to show it can be done.&lt;/p&gt;

&lt;p&gt;Patel says companies need young people who challenge the status quo. Elsewhere in the piece he describes his team as three groups: experienced operators, "outside-in systems thinkers," and AI-native founders and engineers.&lt;/p&gt;

&lt;p&gt;The Hacker News thread under the story was mostly worried, and I think the worry was the right one. Legacy code is code that few people at the company still understand. Hand it to a machine to translate, and you can end up with new code that nobody understands either, just written in a newer language and a lot faster.&lt;/p&gt;

&lt;p&gt;I did not want to stop at agreeing, so I left two comments on the thread. Here is the part that matters:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;But what if while the code was being refactored the AI was asked in addition to keep a ledger of the changes it made and why.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That ledger could be the basis of providing understanding to a code base that most likely had minimal corporate understanding in the first place.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I said "most likely" on purpose, because I do not know what Cisco's code looks like inside. A ledger is text. It can be read by the next person, searched, and corrected, which means the understanding does not stay in one team's heads. It can travel.&lt;/p&gt;

&lt;p&gt;The line in my comment that I care about most is this one: "I don’t believe it has to be this zero sum game where either you use AI and lose understanding or you don’t use AI and gain understanding." I think there is a way to do both, because "if used properly, AI could be the best teacher we’ve had."&lt;/p&gt;

&lt;p&gt;Here is the practice version. You do not need a Cisco-sized project to try it. Take the module you have been meaning to refactor, maybe this Friday. Before the agent touches anything, write down what you expect to find: what the module does, what depends on it, what you think is ugly and why. Then ask the agent to keep a record as it works, what it found and what it changed and why it changed it.&lt;/p&gt;

&lt;p&gt;Then read that record. This is the step people skip, and it is where the learning is. Every place where the agent found something you did not predict is a place where your picture of the system was wrong. Every change it explains badly is a change you should not accept yet. The agent does the typing. The judgment lives in the reading.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. The ledger habit is the same one Course 0 teaches as the plan-first loop: say what you expect, let the agent work, then read what it recorded. Course 0 starts here: &lt;a href="https://systemthinkinglab.ai/course-0" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/course-0&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This letter goes out by email every Saturday. &lt;a href="https://systemthinkinglab.ai/newsletters/" rel="noopener noreferrer"&gt;Subscribe here&lt;/a&gt; or read the full archive at &lt;a href="https://systemthinkinglab.ai/newsletters/" rel="noopener noreferrer"&gt;systemthinkinglab.ai/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=cisco-unlimited-tokens-ledger" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Can your logic run without the screen?</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Fri, 06 Nov 2026 14:01:14 +0000</pubDate>
      <link>https://dev.to/kayashaolu/can-your-logic-run-without-the-screen-385a</link>
      <guid>https://dev.to/kayashaolu/can-your-logic-run-without-the-screen-385a</guid>
      <description>&lt;p&gt;Decoupling is the goal, not purity of any pattern. One test tells you whether you got there: can your logic run with no UI loaded at all?&lt;/p&gt;

&lt;p&gt;If the model file imports and works in a plain Python REPL, with no windows and no widgets, you are already there. If it does not, something that should be a detail has quietly become a dependency.&lt;/p&gt;

&lt;p&gt;The test is also a relief. You can stop picturing a signal on every widget and ask a smaller question: do I need continuous sync, or just a clean read at the moment I act? A single form driving a calculation rarely needs the first.&lt;/p&gt;

&lt;p&gt;The less your logic knows about the screen, the more freely the screen can change.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Read how services and workers keep your logic separate from everything that waits on a screen or a click. &lt;a href="https://systemthinkinglab.ai/learn/building-blocks/services-workers/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/learn/building-blocks/services-workers/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to see how products like Instagram and Netflix are designed, take &lt;a href="https://systemthinkinglab.ai/building-blocks-five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=logic-without-the-screen" rel="noopener noreferrer"&gt;your free 5-day course: the 7 building blocks&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>What the interview was really testing</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Thu, 05 Nov 2026 14:01:17 +0000</pubDate>
      <link>https://dev.to/kayashaolu/what-the-interview-was-really-testing-2mla</link>
      <guid>https://dev.to/kayashaolu/what-the-interview-was-really-testing-2mla</guid>
      <description>&lt;p&gt;The heart of a coding interview was never the code. It was to see how someone solves a problem without all of the inputs handed to them, and how they explain their thinking as they go.&lt;/p&gt;

&lt;p&gt;AI changed what missing inputs means, because anyone can paste a puzzle into a chatbot. The skill underneath did not move. Given an open question and a codebase with no context, what does a person do first? How do they shrink the problem when nobody has said where it ends?&lt;/p&gt;

&lt;p&gt;That ability is built by reducing messy problems yourself, many times, not by reading about it.&lt;/p&gt;

&lt;p&gt;The inputs can be pasted in; deciding which ones matter cannot.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Play the building block game, a short design puzzle where you decide with missing information, and it is free. &lt;a href="https://systemthinkinglab.ai/building-block-game/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/building-block-game/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to see how products like Instagram and Netflix are designed, take &lt;a href="https://systemthinkinglab.ai/building-blocks-five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=what-the-interview-tested" rel="noopener noreferrer"&gt;your free 5-day course: the 7 building blocks&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Guess first, then ask</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Wed, 04 Nov 2026 14:01:15 +0000</pubDate>
      <link>https://dev.to/kayashaolu/guess-first-then-ask-3590</link>
      <guid>https://dev.to/kayashaolu/guess-first-then-ask-3590</guid>
      <description>&lt;p&gt;When you learn, the thing worth protecting is your ability to build a mental model of why the code works. AI only hurts that when it skips you past the model-building. Once you understand something, letting it write the boilerplate is fine.&lt;/p&gt;

&lt;p&gt;So the question is not how much you use it. It is when. If you try the problem yourself first, or at least predict what the answer will be, the AI becomes a check on your model and an explanation of the why. If you ask first, it becomes a replacement for the model.&lt;/p&gt;

&lt;p&gt;It was never about using AI less. It is about asking after you have a guess.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Try the scaffold plugin, which makes you predict the answer before your AI acts, so your guess comes first. &lt;a href="https://systemthinkinglab.ai/scaffold" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/scaffold&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=guess-first-then-ask" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Bugs live where two parts meet</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Tue, 03 Nov 2026 14:01:24 +0000</pubDate>
      <link>https://dev.to/kayashaolu/bugs-live-where-two-parts-meet-5akf</link>
      <guid>https://dev.to/kayashaolu/bugs-live-where-two-parts-meet-5akf</guid>
      <description>&lt;p&gt;When an application is built from components that each have a clear contract for how they are used, something useful happens. You can understand one component without loading the rest. An AI can too: it reads only the relevant modules and still uses them correctly.&lt;/p&gt;

&lt;p&gt;The contract also tells you where to look. When something breaks, it is far more likely to break at the edge between two components than inside either one.&lt;/p&gt;

&lt;p&gt;Most failures happen where two parts meet, so that is where the design effort belongs.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. Here are the seven building blocks and what each one promises the others, which is where contracts live. &lt;a href="https://systemthinkinglab.ai/learn/building-blocks/7-building-blocks/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/learn/building-blocks/7-building-blocks/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to build with AI and still understand what you ship, take &lt;a href="https://systemthinkinglab.ai/five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=bugs-live-at-the-boundary" rel="noopener noreferrer"&gt;your free 5-day course: the plan-first workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Follow one click all the way down</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Mon, 02 Nov 2026 14:01:30 +0000</pubDate>
      <link>https://dev.to/kayashaolu/follow-one-click-all-the-way-down-4pfi</link>
      <guid>https://dev.to/kayashaolu/follow-one-click-all-the-way-down-4pfi</guid>
      <description>&lt;p&gt;Understanding a system starts with following one thing all the way through. A user taps a button. Somewhere in the code, something wakes up because of it. Knowing where, and why, is the whole map.&lt;/p&gt;

&lt;p&gt;You do not need deep knowledge of every part to see this. You need curiosity, and the habit of switching between the user's seat and the developer's until the two line up.&lt;/p&gt;

&lt;p&gt;An agent can draw that map for you in seconds. The drawing is not the point. The walking is, because walking is how the model forms in your head.&lt;/p&gt;

&lt;p&gt;A map you were handed shows you where things are; a map you walked shows you what to ask.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;

&lt;p&gt;P.S. See one tap on Instagram followed through every building block, so you can walk the path yourself. &lt;a href="https://systemthinkinglab.ai/learn/building-blocks/how-instagram-works/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/learn/building-blocks/how-instagram-works/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to see how products like Instagram and Netflix are designed, take &lt;a href="https://systemthinkinglab.ai/building-blocks-five-day/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=door&amp;amp;utm_content=follow-one-click" rel="noopener noreferrer"&gt;your free 5-day course: the 7 building blocks&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Can you explain what you shipped?</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Sun, 01 Nov 2026 14:01:06 +0000</pubDate>
      <link>https://dev.to/kayashaolu/can-you-explain-what-you-shipped-mfc</link>
      <guid>https://dev.to/kayashaolu/can-you-explain-what-you-shipped-mfc</guid>
      <description>&lt;p&gt;Hey there,&lt;/p&gt;

&lt;p&gt;Every change an agent writes for you either builds your understanding or spends it. Spending it means you ship something without learning why it works. From the inside, the two feel exactly the same.&lt;/p&gt;

&lt;p&gt;The tests pass, the page loads, you move on. Nothing tells you which one just happened, and there is no error message for "shipped three features you cannot explain." You find out later, when something breaks and the code is yours in name only.&lt;/p&gt;

&lt;p&gt;There is a study worth knowing about. Anthropic ran a randomized trial with 52 professional developers, most with four or more years of experience, half coding with an AI assistant, half without. The ones using AI scored 17 percentage points lower on a quiz about the code they had just written, roughly two letter grades. The ones who asked the assistant to explain, and asked why, scored higher than the ones who handed the work over.&lt;/p&gt;

&lt;p&gt;(The paper is Shen &amp;amp; Tamkin, "How AI Impacts Skill Formation," 2026.)&lt;/p&gt;

&lt;p&gt;The tool was the same. What differed was what each developer did with the answers. So the fix is not to use agents less. The fix is to ask why before you accept, so that what you ship is something you could defend if a teammate questioned it.&lt;/p&gt;

&lt;p&gt;Here is the practice version. Pick something you built recently, at work or in a class, and explain out loud why it is built that way, not just what it does, as if to a teammate.&lt;/p&gt;

&lt;p&gt;Wherever you stall is where the gap is.&lt;/p&gt;

&lt;p&gt;If you want help closing it, Course 0 is where I would start. It is a self-paced online course you take on your own schedule: eight lessons, two hands-on labs, a ten-question written assessment with feedback, and three challenges on a chat app running on your own computer. It teaches one workflow end to end: before you accept a plan from your AI agent, ask for its reasons, make it show a test that backs them, then decide.&lt;/p&gt;

&lt;p&gt;I built it, and I lecture at UC Berkeley. It is for people who build with agents every day and want to defend what they ship. You keep the speed and you keep your understanding. It is $99 once, with a 30-day money-back guarantee.&lt;/p&gt;

&lt;p&gt;Two ways in, whichever suits you. The course:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://systemthinkinglab.ai/course-0" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/course-0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or, if you would rather start free, the five-day email course:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://systemthinkinglab.ai/five-day/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/five-day/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kay&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This note goes out by email Sunday to Friday. &lt;a href="https://systemthinkinglab.ai/" rel="noopener noreferrer"&gt;Read more at systemthinkinglab.ai&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>What an Anthropic hiring manager stopped asking candidates to do</title>
      <dc:creator>Kay Ashaolu</dc:creator>
      <pubDate>Sat, 31 Oct 2026 13:01:35 +0000</pubDate>
      <link>https://dev.to/kayashaolu/what-an-anthropic-hiring-manager-stopped-asking-candidates-to-do-4l6a</link>
      <guid>https://dev.to/kayashaolu/what-an-anthropic-hiring-manager-stopped-asking-candidates-to-do-4l6a</guid>
      <description>&lt;p&gt;Felix Rieseberg is an engineering manager at Anthropic. This month he wrote that he has stopped giving candidates the coding interview. His reason is short: AI can now handle the small coding challenges the interview was built from, so those challenges no longer tell him who will do well on his team.&lt;/p&gt;

&lt;p&gt;His post, &lt;a href="https://felixrieseberg.com/hunger-beats-tenure-advice-for-junior-engineers/" rel="noopener noreferrer"&gt;"Hunger beats tenure"&lt;/a&gt;, is advice for junior engineers. The line from it I keep coming back to is this one: "I'm seeing engineers who are comparatively new fly past people who are probably better coders and have been around much longer." It is one manager's observation, and he offers it as hopeful news. I read it as that, not as a rule. Then comes the part I find most honest. He says he has not yet found the replacement for the interview. For now he looks through resumes and portfolios for small prototypes that show taste, empathy and principled thinking.&lt;/p&gt;

&lt;p&gt;I commented on the Hacker News thread, because I think the interview was measuring something specific, and that something did not go away. Here is what I wrote, lightly tidied:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The heart of the coding interview is to get signal on a candidate's ability to solve a problem without all of the inputs given to them, and see how they explain their thought process as they do it.&lt;/p&gt;

&lt;p&gt;Because of AI, what it means to "not have all of the inputs" has changed as anyone can cut and paste a Leetcode problem to a chatbot and solve it.&lt;/p&gt;

&lt;p&gt;I think we are going to iterate a bit to figure out a better signal than the typical coding interview. For junior engineers, I think coding questions will move towards MBA style problems when someone is given more of an open ended question with a codebase and you see what the candidate does without context to reduce the problem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The word that matters there is reduce. A LeetCode problem arrives already reduced: the inputs are named, the goal is stated, and only the code is left. A real ticket arrives as a sentence from a person, sitting on top of a codebase you did not write. Somebody has to decide what the problem actually is, what can be ignored, and what has to be true when it is done. Then they have to explain those choices to someone else. An agent cannot do that part for you, because it does not know which parts of your situation matter.&lt;/p&gt;

&lt;p&gt;That is a judgment test, and you do not need an interviewer to practice it. Take any ticket you have this week, or any feature in a side project, and do two things before the agent writes a line.&lt;/p&gt;

&lt;p&gt;First, write the plan. A few sentences: what is being asked, what you are leaving out, and how you will know it works. Hand the plan to the agent, and build from that.&lt;/p&gt;

&lt;p&gt;Second, name the blocks before you name a technology. The seven building blocks are the small set of parts that almost every software system is made from: a service that answers requests, a worker that does jobs in the background, a queue that holds work waiting its turn, and four other places to keep data. Ask which of those your ticket touches and what moves between them. Only then ask whether the answer is Postgres or Redis or something else. Doing it in that order shows you whether you understood the problem, and it gives you words to explain the reduction to a teammate.&lt;/p&gt;

&lt;p&gt;Here is the practice version. The free five-day course walks through the first habit, writing the plan before the agent builds, one email a day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://systemthinkinglab.ai/five-day/" rel="noopener noreferrer"&gt;https://systemthinkinglab.ai/five-day/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reducing the problem was what the interview was always trying to see. So is the next thing you build.&lt;/p&gt;

&lt;p&gt;Kay&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This letter goes out by email every Saturday. &lt;a href="https://systemthinkinglab.ai/newsletters/" rel="noopener noreferrer"&gt;Subscribe here&lt;/a&gt; or read the full archive at &lt;a href="https://systemthinkinglab.ai/newsletters/" rel="noopener noreferrer"&gt;systemthinkinglab.ai/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
    </item>
  </channel>
</rss>
