<?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>Forem: Kudzai Murimi</title>
    <description>The latest articles on Forem by Kudzai Murimi (@respect17).</description>
    <link>https://forem.com/respect17</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F981638%2F1394703d-8965-4066-99cd-a7a85d1f41ec.png</url>
      <title>Forem: Kudzai Murimi</title>
      <link>https://forem.com/respect17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/respect17"/>
    <language>en</language>
    <item>
      <title>How I Use AI to Code 10x Faster (With Real Examples)</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Sat, 28 Mar 2026 11:28:25 +0000</pubDate>
      <link>https://forem.com/respect17/how-i-use-ai-to-code-10x-faster-with-real-examples-13fd</link>
      <guid>https://forem.com/respect17/how-i-use-ai-to-code-10x-faster-with-real-examples-13fd</guid>
      <description>&lt;p&gt;I'm not exaggerating when I say AI changed how I write code.&lt;/p&gt;

&lt;p&gt;Not because it writes everything for me — but because it eliminates the parts of coding that used to slow me down the most: staring at boilerplate, Googling the same errors, writing repetitive tests, and trying to understand unfamiliar concepts from scratch.&lt;/p&gt;

&lt;p&gt;I use four tools daily: &lt;strong&gt;GitHub Copilot, ChatGPT, Claude, and Cursor&lt;/strong&gt;. Each one has a specific role in my workflow. Here's exactly how I use them — with before/after examples.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Writing Boilerplate Code — GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;Boilerplate is the biggest time thief in any project. Form requests, controllers, service classes, migrations — it's all necessary but mentally draining to write from scratch.&lt;/p&gt;

&lt;p&gt;GitHub Copilot handles this inside my editor before I even finish typing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Before AI
&lt;/h3&gt;

&lt;p&gt;Writing a Laravel form request used to look like this: open a new file, remember the method names, type out every rule manually, look up validation syntax I half-remember…&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// I'd write this entirely by hand — slowly&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;StorePaymentRequest&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;FormRequest&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;rules&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;array&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'amount'&lt;/span&gt;    &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|numeric|min:1'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'reference'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|string|max:100'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'gateway'&lt;/span&gt;   &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|in:ozow,yoco'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  After AI (Copilot)
&lt;/h3&gt;

&lt;p&gt;Now I just type the class name and a comment describing what I want:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Form request for processing a payment — amount, reference, gateway&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;StorePaymentRequest&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;FormRequest&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Copilot fills in the rest instantly ✅&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot suggests the full class — rules, messages, even custom error messages — based on context from the rest of my project. I review, adjust, and move on in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Debugging Errors — ChatGPT
&lt;/h2&gt;

&lt;p&gt;When I hit an error I don't immediately understand, ChatGPT is the first place I go. Not Stack Overflow. Not Google.&lt;/p&gt;

&lt;p&gt;I paste the error + the relevant code and ask: &lt;em&gt;"What's causing this and how do I fix it?"&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Before AI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SQLSTATE[42S22]: Column not found: 1054 Unknown column
'payments.user_id' in 'where clause'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'd spend 10–20 minutes checking migrations, re-reading docs, and Googling the exact error hoping someone had the same setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  After AI (ChatGPT)
&lt;/h3&gt;

&lt;p&gt;I paste the error with my model and migration, and get a precise explanation back:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Your &lt;code&gt;payments&lt;/code&gt; table migration doesn't include a &lt;code&gt;user_id&lt;/code&gt; column, but your Eloquent model has a &lt;code&gt;belongsTo(User::class)&lt;/code&gt; relationship that's trying to query it. Add the column to your migration or check that you're running the latest migration."&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Fix: add this to your payments migration&lt;/span&gt;
&lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;foreignId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'user_id'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;constrained&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;cascadeOnDelete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What used to take 20 minutes now takes 2. The difference isn't just speed — it's that I understand &lt;em&gt;why&lt;/em&gt; something broke, not just how to patch it.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Writing Tests — Claude
&lt;/h2&gt;

&lt;p&gt;Writing tests is something most developers know they should do more of — and don't, because it's time-consuming and repetitive.&lt;/p&gt;

&lt;p&gt;I use Claude specifically for test generation because it's excellent at understanding context across a whole file and writing thorough, meaningful tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Before AI
&lt;/h3&gt;

&lt;p&gt;Writing a test for a payment controller meant manually thinking through every scenario:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// I'd write one test, maybe two, and move on&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;test_payment_is_processed_successfully&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/pay'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'amount'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'gateway'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'yoco'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertRedirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/success'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  After AI (Claude)
&lt;/h3&gt;

&lt;p&gt;I paste my controller and ask: &lt;em&gt;"Write PHPUnit tests for this controller covering success, failure, validation errors, and invalid gateway."&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Claude generates full coverage automatically&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;test_payment_succeeds_with_valid_data&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/pay'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'amount'&lt;/span&gt;    &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'reference'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'INV-001'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'gateway'&lt;/span&gt;   &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'yoco'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertRedirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'payment.success'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertDatabaseHas&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'payments'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'reference'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'INV-001'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'status'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'paid'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;test_payment_fails_validation_without_amount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/pay'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'gateway'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'yoco'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSessionHasErrors&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'amount'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;test_payment_rejects_invalid_gateway&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/pay'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'amount'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'gateway'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'stripe'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSessionHasErrors&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'gateway'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;test_payment_handles_gateway_failure_gracefully&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;fake&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'online.yoco.com/*'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'error'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Declined'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/pay'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'amount'&lt;/span&gt;    &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'reference'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'INV-002'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'gateway'&lt;/span&gt;   &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'yoco'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertRedirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'payment.error'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Four solid tests in under a minute. Before AI, I might have written one and told myself I'd come back to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Understanding New Concepts — Cursor + ChatGPT
&lt;/h2&gt;

&lt;p&gt;Instead of reading through entire documentation pages, I use &lt;strong&gt;Cursor&lt;/strong&gt; (which has AI built directly into the editor) to explain code inline, and &lt;strong&gt;ChatGPT&lt;/strong&gt; to teach me concepts with examples tailored to my stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  After AI (ChatGPT)
&lt;/h3&gt;

&lt;p&gt;I asked: &lt;em&gt;"Explain Laravel Pipeline to me like I'm a developer who knows Laravel but has never used Pipeline. Show me a real example using payment processing."&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// ChatGPT explained it with an example I could use directly&lt;/span&gt;

&lt;span class="nv"&gt;$result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;app&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Pipeline&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$paymentData&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;through&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="nc"&gt;ValidatePaymentData&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nc"&gt;CheckForDuplicateTransaction&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nc"&gt;ChargeGateway&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nc"&gt;SendConfirmationEmail&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;thenReturn&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Understanding that took me 5 minutes instead of 45.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor — Inline Code Explanation
&lt;/h3&gt;

&lt;p&gt;When I open an unfamiliar file, I highlight confusing code in Cursor and ask it to explain inline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// I highlighted this line and asked Cursor: "what does this do?"&lt;/span&gt;
&lt;span class="nv"&gt;$order&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;loadMissing&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'payments'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;fn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$q&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$q&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'paid'&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;

&lt;span class="c1"&gt;// Cursor explained:&lt;/span&gt;
&lt;span class="c1"&gt;// "loadMissing() lazy-loads the 'payments' relationship only if it hasn't&lt;/span&gt;
&lt;span class="c1"&gt;//  been loaded already. The closure filters it to only load paid payments,&lt;/span&gt;
&lt;span class="c1"&gt;//  preventing unnecessary queries if the relation is already in memory."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No context switching. No browser tabs. The explanation comes to where I'm working.&lt;/p&gt;

&lt;h2&gt;
  
  
  How These Tools Fit Together
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Boilerplate&lt;/td&gt;
&lt;td&gt;GitHub Copilot&lt;/td&gt;
&lt;td&gt;Generating code &amp;amp; scaffolding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debugging&lt;/td&gt;
&lt;td&gt;ChatGPT&lt;/td&gt;
&lt;td&gt;Quick fixes &amp;amp; error explanations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing&lt;/td&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;Deep logic &amp;amp; edge case coverage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inline Help&lt;/td&gt;
&lt;td&gt;Cursor&lt;/td&gt;
&lt;td&gt;Understanding existing code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning&lt;/td&gt;
&lt;td&gt;ChatGPT&lt;/td&gt;
&lt;td&gt;Learning new concepts deeply&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ⚠️ The One Thing to Remember
&lt;/h2&gt;

&lt;p&gt;AI makes you faster, not infallible.&lt;/p&gt;

&lt;p&gt;I've had Copilot suggest code that looked right but had a subtle security flaw. I've had ChatGPT confidently give me outdated API syntax. Always review what AI generates — especially anything touching security, payments, or data.&lt;/p&gt;

&lt;p&gt;Use it as a &lt;strong&gt;fast, knowledgeable pair programmer&lt;/strong&gt; — not as the final word.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;If you're not using AI in your development workflow yet, you're spending time you don't need to spend.&lt;/p&gt;

&lt;p&gt;The developers who will stand out in the next few years aren't the ones who avoid AI. They're the ones who know how to use it well.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Working on an app and need help?
&lt;/h2&gt;

&lt;p&gt;I specialize in Laravel applications, API integrations, and payment gateway setups (Ozow, Yoco, and more).&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>githubcopilot</category>
      <category>ai</category>
    </item>
    <item>
      <title>hgtvrfc</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Fri, 27 Mar 2026 21:47:48 +0000</pubDate>
      <link>https://forem.com/respect17/hgtvrfc-3h4i</link>
      <guid>https://forem.com/respect17/hgtvrfc-3h4i</guid>
      <description>&lt;p&gt;vgrfcd&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Your AI Agent Demo Was Impressive. Your Production Deploy Was a Disaster. Here's Why.</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Fri, 27 Mar 2026 13:40:46 +0000</pubDate>
      <link>https://forem.com/respect17/your-ai-agent-demo-was-impressive-your-production-deploy-was-a-disaster-heres-why-o49</link>
      <guid>https://forem.com/respect17/your-ai-agent-demo-was-impressive-your-production-deploy-was-a-disaster-heres-why-o49</guid>
      <description>&lt;p&gt;The demo took me four hours to build and six minutes to present.&lt;/p&gt;

&lt;p&gt;The room loved it. My agent could browse the web, summarize documents, write follow-up emails, and update a Notion database, all from a single natural language prompt. Someone said it looked like "the future." A few people asked if it was for sale.&lt;/p&gt;

&lt;p&gt;Three weeks later, I tried to deploy a production version of it for a small internal team.&lt;/p&gt;

&lt;p&gt;It lasted two days before I quietly killed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happened
&lt;/h2&gt;

&lt;p&gt;On day one, it summarized the wrong document because the filename had an emoji in it.&lt;/p&gt;

&lt;p&gt;On day two, it sent a half-finished email because the LLM hit a rate limit mid-task, the retry logic didn't pick up where it left off, and nobody had built a way to detect &lt;em&gt;incomplete&lt;/em&gt; success.&lt;/p&gt;

&lt;p&gt;By day three, a team member asked it to "clean up the project folder." It deleted 11 files it had "decided" were duplicates. They were not duplicates. There was no undo.&lt;/p&gt;

&lt;p&gt;The demo had none of these problems because &lt;strong&gt;I was watching it the entire time.&lt;/strong&gt; I was the error handler. I was the safety check. I was the undo button.&lt;/p&gt;

&lt;p&gt;In production, I wasn't there. And the agent had no idea how to handle a world that doesn't behave like a demo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI Agent Demos Always Lie To You
&lt;/h2&gt;

&lt;p&gt;Here's the uncomfortable truth: demos are optimized for the happy path.&lt;/p&gt;

&lt;p&gt;You pick a clean input. You run it three times before presenting until you get the best output. You quietly skip the edge case that produces garbage. You're present to nudge it when it stalls.&lt;/p&gt;

&lt;p&gt;Production is &lt;em&gt;only&lt;/em&gt; edge cases. Real users have typos, weird file names, ambiguous instructions, slow internet connections, and zero patience for "the AI got confused."&lt;/p&gt;

&lt;p&gt;The gap between demo and production isn't a bug in your agent. It's a gap in the assumptions baked into how most of us build agents in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Things That Break Every Agent in Production
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;No concept of partial failure&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;LLM pipelines fail in partial, silent ways. Your API call times out after step 3 of 7. Does your agent know it didn't finish? Does it retry from step 3, or start over, or just... stop? Most demo agents have no answer to this. Build checkpointing from day one.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Tool trust without tool validation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Agents use tools, file systems, APIs, databases. In demos, those tools behave perfectly. In production, APIs return unexpected schemas, files don't exist where they should, and databases time out. If your agent doesn't validate tool outputs before acting on them, you will have a bad time.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Ambiguity without escalation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;LLMs are &lt;em&gt;great&lt;/em&gt; at filling in gaps with confident-sounding guesses. That's the magic of demos. In production, a confident wrong guess can delete files, send emails to the wrong person, or overwrite real data. Your agent needs a way to say &lt;em&gt;"I'm not sure, should I proceed?"&lt;/em&gt; instead of always charging forward.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;No observability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can't debug what you can't see. Most agents are black boxes — you know the input, you know the output, and you have no idea what happened in between. Add structured logging at every tool call and every LLM inference. When it breaks (and it will), you'll want a paper trail.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Memory that doesn't exist&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The demo runs in one shot. Production agents often work across sessions, users, or long time horizons. If your agent has no persistent memory, it will re-discover the same information, repeat the same mistakes, and feel frustratingly stateless to anyone using it more than once.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Works in Production
&lt;/h2&gt;

&lt;p&gt;After rebuilding (and breaking, and rebuilding) a few agents, here's the architecture shift that made the biggest difference:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop thinking "autopilot." Start thinking "co-pilot."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The agents that survive production aren't the ones that do everything autonomously, they're the ones that do the &lt;em&gt;tedious parts&lt;/em&gt; autonomously and hand off to a human at every decision point that matters.&lt;/p&gt;

&lt;p&gt;My most reliable agent today does exactly one thing: it reads my inbox, categorizes emails, drafts replies, and puts them in a queue. It sends &lt;em&gt;nothing&lt;/em&gt; without me clicking approve. That feels less impressive than the demo version. But it's been running for four months without incident.&lt;/p&gt;

&lt;p&gt;The most dangerous word in AI agent design is "automatically."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Industry Is Just Starting to Figure This Out
&lt;/h2&gt;

&lt;p&gt;You're not alone in this. Surveys consistently show that the vast majority of companies experimenting with AI agents haven't shipped them to production yet, not because the technology isn't there, but because &lt;strong&gt;production-readiness is a completely different engineering problem than demo-worthiness.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The companies that will win with agentic AI aren't the ones who built the flashiest demos in 2024. They're the ones who quietly invested in error handling, observability, and human-in-the-loop design through 2025 and into 2026.&lt;/p&gt;

&lt;p&gt;That's unsexy work. It doesn't make for a great conference talk. But it's the only version that actually ships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before You Build Your Next Agent, Ask Yourself:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What happens when a tool call fails halfway through?&lt;/li&gt;
&lt;li&gt;How does my agent signal uncertainty instead of guessing?&lt;/li&gt;
&lt;li&gt;Can I replay a failed run from the point of failure?&lt;/li&gt;
&lt;li&gt;Would I trust this agent to act without me watching?&lt;/li&gt;
&lt;li&gt;If the answer to that last one is "only in a demo", what would have to change?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;I'm still building agents. I'm just a lot more boring about it now.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have you shipped an AI agent to production? What broke first? I'd love to hear the horror stories, drop them in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Stopped Chasing Shiny Dev Tools — Here's What Actually Stuck in 2026</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Wed, 25 Mar 2026 19:50:59 +0000</pubDate>
      <link>https://forem.com/respect17/i-stopped-chasing-shiny-dev-tools-heres-what-actually-stuck-in-2026-2075</link>
      <guid>https://forem.com/respect17/i-stopped-chasing-shiny-dev-tools-heres-what-actually-stuck-in-2026-2075</guid>
      <description>&lt;p&gt;There's a specific kind of developer shame nobody talks about.&lt;/p&gt;

&lt;p&gt;It happens at 11pm. You're supposed to be finishing a feature. Instead, you're reading a Hacker News thread titled "Is Bun finally ready to replace Node?" and you have 14 tabs open — Bun's docs, a Reddit post comparing Deno vs Bun, a YouTube video you paused at 3 minutes, and a GitHub repo you starred but will never open again.&lt;/p&gt;

&lt;p&gt;Sound familiar?&lt;br&gt;
That was me. Every. Single. Month.&lt;/p&gt;

&lt;p&gt;I spent the better part of three years in what I now call the shiny tool loop,  a cycle of discovery, excitement, shallow learning, abandonment, and guilt. New framework drops? I'm on it. New AI coding assistant? Installed by lunch. New build tool that promises to be "10x faster"? Benchmarks read. Migration started. Migration abandoned.&lt;br&gt;
My GitHub graveyard is full of half-migrated "test projects" with commit messages like chasing bun again and trying out astro (again).&lt;/p&gt;

&lt;p&gt;Then, in late 2025, I burned out. Not dramatically, just quietly. I sat down to work one morning and couldn't remember why I'd started programming in the first place.&lt;br&gt;
So I stopped. And I made a rule.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Rule: Nothing New for 90 Days&lt;/strong&gt;&lt;br&gt;
No new frameworks. No new tools. No new AI assistants (yes, I had four installed at once). I would finish things with what I had.&lt;br&gt;
It was uncomfortable for about two weeks. Then it got very, very quiet.&lt;br&gt;
And in that quiet, I actually shipped things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Kept (And Why)&lt;/strong&gt;&lt;br&gt;
Here's my stack going into 2026, chosen not because it's trendy, but because I can build almost anything with it without Googling the basics:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. VS Code — still my main editor&lt;/strong&gt;&lt;br&gt;
I tried Cursor. I tried Zed. I tried going full Neovim for three weeks (don't). VS Code with a handful of extensions just works, has a massive plugin ecosystem, and I can pair it with any AI assistant I want. Stability &amp;gt; novelty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Next.js — for anything that ships to users&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, the App Router has rough edges. Yes, I understand the React Server Components discourse. But Next.js has a gigantic community, excellent docs, and Vercel's deployment story is nearly effortless. When I'm building a product, I want to think about the product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Claude / GitHub Copilot — as assistants, not crutches&lt;/strong&gt;&lt;br&gt;
This was the big mindset shift. I stopped using AI to write my code and started using it to review my code. I'll draft a function, then ask: "What edge cases am I missing?" or "How would you refactor this?" The quality of my output went up; the time I spent debugging AI-generated bugs went down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Supabase — for anything that needs a backend fast&lt;/strong&gt;&lt;br&gt;
Postgres with a nice dashboard, auth built-in, and real-time out of the box. Not glamorous. Incredibly useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Plain CSS + Tailwind — I stopped framework-hopping here too&lt;/strong&gt;&lt;br&gt;
I used to switch between styled-components, CSS modules, Vanilla Extract, and Tailwind every few months. I picked Tailwind, learned it properly, and now I write UI fast. That's the whole story.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Actually Learned&lt;/strong&gt;&lt;br&gt;
The tools were never the problem. The problem was that learning a new tool feels like progress. It triggers the same reward center as actually shipping something, but without the hard parts. It's the intellectual equivalent of rearranging your desk instead of doing your work.&lt;br&gt;
The developers I most admire aren't the ones using the newest stack. They're the ones who are dangerous with boring tools,  who can build something meaningful with Next.js + Postgres + a bit of CSS faster than I could set up my seventh new monorepo boilerplate.&lt;br&gt;
Mastery requires repetition. And repetition requires staying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Challenge for You&lt;/strong&gt;&lt;br&gt;
If you recognize yourself in that 11pm Hacker News tab spiral, try this: write down every tool you've "tried" in the last six months. Be honest. Now circle the ones you actually shipped something with.&lt;br&gt;
That gap? That's the shiny tool tax.&lt;br&gt;
Pick your core stack. Use it until it's boring. Then it gets interesting.&lt;/p&gt;

&lt;p&gt;What's in your "I'm actually shipping with this" stack? Drop it in the comments, I'm genuinely curious whether the community is converging or fragmenting in 2026.&lt;/p&gt;

&lt;p&gt;If this resonated, I write about developer productivity and building in public. Follow along, no newsletters, just posts when I have something real to say.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>discuss</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Just Earned the GitHub Copilot CLI Challenge Badge — And It Means More Than I Expected 🏅</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Wed, 11 Mar 2026 11:09:42 +0000</pubDate>
      <link>https://forem.com/respect17/i-just-earned-the-github-copilot-cli-challenge-badge-and-it-means-more-than-i-expected-mni</link>
      <guid>https://forem.com/respect17/i-just-earned-the-github-copilot-cli-challenge-badge-and-it-means-more-than-i-expected-mni</guid>
      <description>&lt;p&gt;I didn't expect to feel this way about a digital badge.&lt;/p&gt;

&lt;p&gt;But when I saw the notification — &lt;em&gt;"Congratulations, Kudzai Murimi! You received the **GitHub Copilot CLI Challenge Completion&lt;/em&gt;* badge!"* — I genuinely paused for a moment. Not because of the badge itself, but because of what it represented: proof that I had intentionally levelled up how I work in the terminal, with AI as a true co-pilot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Challenge Was About
&lt;/h2&gt;

&lt;p&gt;The GitHub Copilot CLI Challenge pushed developers to explore and demonstrate how GitHub Copilot can be used directly inside the terminal,  not just inside a code editor. We're talking about using &lt;code&gt;gh copilot suggest&lt;/code&gt; and &lt;code&gt;gh copilot explain&lt;/code&gt; to power up everyday shell workflows: writing commands, understanding cryptic outputs, fixing errors on the fly, and more.&lt;/p&gt;

&lt;p&gt;It sounds small. But once you try it, you realise how much mental overhead you've been carrying every time you've had to tab away to Google or Stack Overflow just to remember a &lt;code&gt;git rebase&lt;/code&gt; flag or an &lt;code&gt;awk&lt;/code&gt; one-liner.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Badge Matters to Me
&lt;/h2&gt;

&lt;p&gt;I've been on a deliberate journey to make my development environment smarter — not just faster, but &lt;em&gt;genuinely intelligent&lt;/em&gt;. This challenge was the perfect intersection of that goal and something I had already been thinking deeply about: &lt;strong&gt;AI-powered terminal workflows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In fact, just before taking on this challenge, I published an article exploring exactly that idea:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://dev.to/respect17/i-taught-my-terminal-to-predict-the-weather-ai-powered-development-environment-optimization-13a"&gt;&lt;strong&gt;I Taught My Terminal to Predict the Weather — AI-Powered Development Environment Optimization&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That piece was my way of showing how AI tools can do more than autocomplete code — they can reshape how your entire local environment &lt;em&gt;thinks&lt;/em&gt; and &lt;em&gt;responds&lt;/em&gt;. The Copilot CLI challenge brought that philosophy into a structured, community-wide conversation, and earning this badge feels like a stamp of validation on that path.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Took Away From This
&lt;/h2&gt;

&lt;p&gt;Here are a few honest reflections after completing the challenge:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The terminal is underrated as an AI interface.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Most AI tooling lives in GUIs. But the CLI is where developers actually &lt;em&gt;live&lt;/em&gt;. Bringing Copilot there removes friction from the most critical part of your workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. It changes how you learn commands.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Instead of memorising syntax, you describe intent. &lt;code&gt;gh copilot suggest "compress this folder and exclude node_modules"&lt;/code&gt; — and you get a working command, explained. That's not cheating. That's how experienced developers have always worked: knowing &lt;em&gt;what&lt;/em&gt; to do, and looking up &lt;em&gt;how&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Community challenges are underestimated.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Participating in a structured challenge — even one you could technically "do on your own" — adds accountability, momentum, and the thrill of knowing thousands of others are learning alongside you. That energy is real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Turn 🚀
&lt;/h2&gt;

&lt;p&gt;If you haven't explored DEV Community challenges yet, you're missing out on some of the best structured learning opportunities in the developer ecosystem.&lt;/p&gt;

&lt;p&gt;Check out what's currently running — and what's coming up — right here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://dev.to/challenges"&gt;dev.to/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whether it's an AI challenge, a writing sprint, or a build competition, there's always something to sharpen your skills and earn recognition for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay in the Loop 🔔
&lt;/h2&gt;

&lt;p&gt;Want to stay updated on new challenges, community highlights, and what's happening across DEV? Give &lt;strong&gt;&lt;a href="https://dev.to/jess"&gt;@jess&lt;/a&gt;&lt;/strong&gt; a follow — she's one of the best people to keep up with for all things DEV Community.&lt;/p&gt;

&lt;p&gt;To every developer who completed the GitHub Copilot CLI Challenge: well done. You didn't just earn a badge — you made a deliberate choice to evolve how you work. And in this industry, that habit matters more than any single tool.&lt;/p&gt;

&lt;p&gt;Now go check those challenges. Something good is waiting for you. 💪&lt;/p&gt;

</description>
      <category>github</category>
      <category>githubcopilot</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your Unfinished GitHub Projects Are More Valuable Than You Think</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Thu, 26 Feb 2026 14:29:29 +0000</pubDate>
      <link>https://forem.com/respect17/your-unfinished-github-projects-are-more-valuable-than-you-think-pdg</link>
      <guid>https://forem.com/respect17/your-unfinished-github-projects-are-more-valuable-than-you-think-pdg</guid>
      <description>&lt;p&gt;&lt;em&gt;And why that half-built todo app might land you your next job&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hey dev community 👋&lt;/p&gt;

&lt;p&gt;Let me ask you something uncomfortable.&lt;/p&gt;

&lt;p&gt;How many repos are sitting in your GitHub right now,  dusty, half-finished, last committed to "6 months ago",  that you're secretly ashamed of?&lt;/p&gt;

&lt;p&gt;A weather app that never got a UI. A CLI tool you built for a weekend, then forgot. A Discord bot that almost worked. A SaaS idea that made it to the landing page and then... nothing.&lt;/p&gt;

&lt;p&gt;Yeah. &lt;strong&gt;Me too.&lt;/strong&gt; We all have them.&lt;/p&gt;

&lt;p&gt;But here's the thing nobody talks about: &lt;strong&gt;those unfinished projects are not failures. They might actually be your most powerful asset.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let me explain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Graveyard" Problem
&lt;/h2&gt;

&lt;p&gt;Most developers have what I call a &lt;strong&gt;GitHub Graveyard&lt;/strong&gt;,  a collection of repos that were born with ambition and died with a half-written README.&lt;/p&gt;

&lt;p&gt;The reasons are always the same:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Life got busy&lt;/li&gt;
&lt;li&gt;The problem turned out to be harder than expected&lt;/li&gt;
&lt;li&gt;A shinier idea came along&lt;/li&gt;
&lt;li&gt;You learned what you needed and moved on&lt;/li&gt;
&lt;li&gt;The scope kept expanding and you never shipped&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sound familiar? Of course it does. Because &lt;strong&gt;this is just how developers learn.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The mistake is treating these repos as embarrassments to hide rather than evidence to showcase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Recruiters and Hiring Managers Actually Care
&lt;/h2&gt;

&lt;p&gt;Here's a secret from the other side of the hiring table: &lt;strong&gt;a thoughtful, incomplete project tells a better story than no project at all.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a recruiter or senior engineer looks at your GitHub, they're not checking if everything is polished and production-ready. They're asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Does this person write real code when nobody's watching?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An unfinished project that shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real problem-solving thinking&lt;/li&gt;
&lt;li&gt;Clean commit history with meaningful messages&lt;/li&gt;
&lt;li&gt;A proper README explaining the &lt;em&gt;why&lt;/em&gt;, not just the &lt;em&gt;what&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Honest documentation of where it stands and what's next&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...is worth &lt;strong&gt;10x more&lt;/strong&gt; than a repo with one commit that says &lt;code&gt;"initial commit"&lt;/code&gt; on a todo app copied from a tutorial.&lt;/p&gt;

&lt;h3&gt;
  
  
  What hiring managers actually look for:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;What it says about you&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Consistent commits over time&lt;/td&gt;
&lt;td&gt;You're a builder, not just a learner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multiple tech stacks explored&lt;/td&gt;
&lt;td&gt;Curiosity and adaptability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;README with context&lt;/td&gt;
&lt;td&gt;Communication skills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Issues / project boards&lt;/td&gt;
&lt;td&gt;Engineering maturity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Branches and PRs (even solo)&lt;/td&gt;
&lt;td&gt;You understand workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;An abandoned project with 47 commits, a proper README, and an open &lt;code&gt;TODO.md&lt;/code&gt; screams &lt;strong&gt;"this person builds things."&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Personal Project Angle: Ship the Damn Thing
&lt;/h2&gt;

&lt;p&gt;Now, let's flip this around.&lt;/p&gt;

&lt;p&gt;Some of your unfinished projects &lt;strong&gt;deserve to be finished.&lt;/strong&gt; Not because someone is watching,  but because the problem you were solving was &lt;em&gt;real.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ask yourself this about each repo in your graveyard:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Did I build this because I actually needed it?&lt;/strong&gt; → High potential.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Would I use it if it worked?&lt;/strong&gt; → Ship it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Did other people ask for it?&lt;/strong&gt; → Definitely ship it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Did I learn something that could help others?&lt;/strong&gt; → Write it up and open-source it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The bar for "launching" a personal project is lower than you think. You don't need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ A perfect UI&lt;/li&gt;
&lt;li&gt;❌ Full test coverage&lt;/li&gt;
&lt;li&gt;❌ A marketing strategy&lt;/li&gt;
&lt;li&gt;❌ A monetization plan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You just need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ It solves a real problem&lt;/li&gt;
&lt;li&gt;✅ A clear README&lt;/li&gt;
&lt;li&gt;✅ A way for someone to run it or use it&lt;/li&gt;
&lt;li&gt;✅ A &lt;code&gt;v0.1&lt;/code&gt; tag pushed to GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Done beats perfect. Every time.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Talk: How to Revive a Dead Project (Without Losing Your Mind)
&lt;/h2&gt;

&lt;p&gt;Before you doom-scroll through your repos feeling overwhelmed, here's a practical system:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: The Audit (30 minutes)
&lt;/h3&gt;

&lt;p&gt;Go through every repo. For each one, ask: &lt;strong&gt;"Is the core idea still interesting?"&lt;/strong&gt; If yes, add it to a shortlist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: The One-Line README Fix
&lt;/h3&gt;

&lt;p&gt;For every shortlisted repo, write &lt;em&gt;one sentence&lt;/em&gt; that explains what it does and why you built it. Add that to the README today. Just that. Nothing else.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Pick ONE to Finish
&lt;/h3&gt;

&lt;p&gt;Not five. Not two. &lt;strong&gt;One.&lt;/strong&gt; The one that's closest to done, or the one you'd actually use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Define "Done" (for real this time)
&lt;/h3&gt;

&lt;p&gt;Write down the three features that would make this thing &lt;em&gt;usable.&lt;/em&gt; Not impressive. Not scalable. Just &lt;strong&gt;usable.&lt;/strong&gt; That's your v1.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: 20 Minutes a Day
&lt;/h3&gt;

&lt;p&gt;Set a recurring calendar block. 20 minutes. No context switching. Just that project. You'll be amazed what happens in two weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community Power Move
&lt;/h2&gt;

&lt;p&gt;Here's something almost nobody does: &lt;strong&gt;talk about your unfinished projects publicly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Write a dev.to post that says &lt;em&gt;"I'm building X, here's where I am"&lt;/em&gt;. Post a thread on Twitter/X. Share in a Discord. Even just update your README with a "current status" badge.&lt;/p&gt;

&lt;p&gt;Why? Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Someone might offer to contribute&lt;/li&gt;
&lt;li&gt;Someone might tell you they have the same problem&lt;/li&gt;
&lt;li&gt;Accountability makes you actually ship&lt;/li&gt;
&lt;li&gt;The process story is often more interesting than the final product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dev community &lt;strong&gt;loves&lt;/strong&gt; a builder who shares their journey,  not just their wins.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mindset Shift
&lt;/h2&gt;

&lt;p&gt;Stop thinking of your GitHub as a &lt;strong&gt;portfolio of finished products.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start thinking of it as a &lt;strong&gt;log of your thinking and growth.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every repo, finished or not, represents a problem you cared about, a skill you were developing, a curiosity you followed. That's the resume. That's the story. That's what makes you interesting to work with.&lt;/p&gt;

&lt;p&gt;The developer with 50 half-finished repos who's constantly building and shipping things in public will &lt;strong&gt;always&lt;/strong&gt; outcompete the developer who's waiting until their code is "ready" to show anyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now I Want to Hear From You
&lt;/h2&gt;

&lt;p&gt;I'm genuinely curious about the dev community here on dev.to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What's sitting in YOUR GitHub graveyard that deserves to be finished?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Drop a comment with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The repo (or just describe it)&lt;/li&gt;
&lt;li&gt;What it does / was supposed to do&lt;/li&gt;
&lt;li&gt;Why you stopped&lt;/li&gt;
&lt;li&gt;Whether you think it's worth reviving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'll personally check out every project linked in the comments and leave feedback. Let's turn some of these graveyards into launch pads. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;And if this post helped you look at your old repos differently, give it a , share it with a dev friend who needs to hear it, and let's build more stuff in public.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>career</category>
      <category>github</category>
    </item>
    <item>
      <title>You Don't Need to Be an AI Expert BUT You Need to Be AI-Aware</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Fri, 13 Feb 2026 15:12:58 +0000</pubDate>
      <link>https://forem.com/respect17/you-dont-need-to-be-an-ai-expert-but-you-need-to-be-ai-aware-2402</link>
      <guid>https://forem.com/respect17/you-dont-need-to-be-an-ai-expert-but-you-need-to-be-ai-aware-2402</guid>
      <description>&lt;p&gt;&lt;strong&gt;The panic spreading through developer communities is creating more problems than it solves&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A recent industry survey revealed that 73% of developers now use AI tools daily. On the surface, this seems like a success story—a testament to rapid adoption and innovation. But beneath these numbers, a dangerous trend is emerging that threatens to derail countless careers.&lt;/p&gt;

&lt;p&gt;Developers are panicking.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fear That's Holding Developers Back
&lt;/h2&gt;

&lt;p&gt;Last month, a senior developer with eight years of solid experience sat across from me during a mentoring session. His voice cracked slightly as he confessed: "I feel worthless because I haven't built an AI chatbot yet."&lt;/p&gt;

&lt;p&gt;Here was a professional who had shipped production code serving millions of users, who had mentored junior developers, who had architected complex systems—convinced his career was over because he hadn't jumped on the AI bandwagon fast enough.&lt;/p&gt;

&lt;p&gt;He's not alone. After mentoring over 200 developers through career transitions, I've watched this fear create more problems than solutions. Talented professionals are abandoning their strengths, frantically trying to reinvent themselves overnight, convinced that unless they become AI experts immediately, they'll be obsolete by next quarter.&lt;/p&gt;

&lt;p&gt;This mindset is completely backwards.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Critical Distinction: AI Expert vs. AI-Aware
&lt;/h2&gt;

&lt;p&gt;You don't need to become an AI expert overnight. You need to become AI-aware. And there's a massive difference between the two.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An AI expert:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Builds neural networks from scratch&lt;/li&gt;
&lt;li&gt;Understands backpropagation algorithms&lt;/li&gt;
&lt;li&gt;Can explain transformer architectures in detail&lt;/li&gt;
&lt;li&gt;Spends years studying machine learning theory&lt;/li&gt;
&lt;li&gt;Publishes research papers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;An AI-aware developer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Knows when and how to leverage AI tools&lt;/li&gt;
&lt;li&gt;Understands which problems AI solves well (and critically, which it doesn't)&lt;/li&gt;
&lt;li&gt;Can integrate AI tools into existing workflows seamlessly&lt;/li&gt;
&lt;li&gt;Recognizes when human judgment beats algorithmic decisions&lt;/li&gt;
&lt;li&gt;Validates AI-generated code effectively&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The developers who are thriving right now? They're not the ones frantically watching TensorFlow tutorials at 2 AM. They're the ones who've taken a strategic approach to understanding AI's role in their work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Six-Month Trap
&lt;/h2&gt;

&lt;p&gt;I've watched talented developers waste six months trying to become "AI experts" when they could have spent six weeks becoming AI-literate and started adding value immediately.&lt;/p&gt;

&lt;p&gt;They fall into what I call the "deep learning rabbit hole"—convincing themselves they need to understand every mathematical formula behind neural networks before they can use GitHub Copilot effectively. It's like refusing to drive a car until you can rebuild an engine from scratch.&lt;/p&gt;

&lt;p&gt;The real skill isn't building AI. It's knowing how to work alongside it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Domain Expertise Doesn't Disappear—It Compounds
&lt;/h2&gt;

&lt;p&gt;Here's what many developers miss in their panic: Your years of experience don't evaporate because ChatGPT exists. They don't become worthless because AI can generate boilerplate code.&lt;/p&gt;

&lt;p&gt;In fact, they become MORE valuable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The unstoppable combination isn't:&lt;/strong&gt;&lt;br&gt;
AI replacing developers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's:&lt;/strong&gt;&lt;br&gt;
Domain expertise + AI tools = Amplified impact&lt;/p&gt;

&lt;p&gt;Your years of debugging production issues? That experience helps you spot the subtle bugs in AI-generated code that less experienced developers miss.&lt;/p&gt;

&lt;p&gt;Your system design knowledge? That guides you in architecting solutions where AI tools enhance rather than complicate your systems.&lt;/p&gt;

&lt;p&gt;Your problem-solving skills? Those help you frame problems in ways that AI tools can actually assist with effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AI-Aware Actually Looks Like in Practice
&lt;/h2&gt;

&lt;p&gt;Being AI-aware means developing a new set of meta-skills:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Pattern Recognition for AI Suitability&lt;/strong&gt;&lt;br&gt;
Knowing which tasks are AI-appropriate versus which require human expertise. Code generation for CRUD operations? Great use case. Debugging a complex race condition in a distributed system? You'll still need human insight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Effective Prompting&lt;/strong&gt;&lt;br&gt;
Learning to communicate with AI tools effectively—not as magic boxes, but as tools that require clear input to produce useful output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Critical Validation&lt;/strong&gt;&lt;br&gt;
Developing the discipline to review and test AI-generated code rigorously. AI can be confidently wrong, and catching those errors requires expertise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Workflow Integration&lt;/strong&gt;&lt;br&gt;
Understanding where AI tools fit in your development process without disrupting the practices that already work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Continuous Calibration&lt;/strong&gt;&lt;br&gt;
Keeping a pulse on AI capabilities as they evolve, without getting distracted by every new tool that launches.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Questions That Actually Matter
&lt;/h2&gt;

&lt;p&gt;Instead of asking "How do I become an AI expert?", ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which parts of my workflow could AI tools accelerate?&lt;/li&gt;
&lt;li&gt;Where does my human judgment add the most value?&lt;/li&gt;
&lt;li&gt;How can I validate AI outputs effectively in my domain?&lt;/li&gt;
&lt;li&gt;What problems am I solving that AI genuinely can't?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions lead to productive learning, not panic-driven credential collecting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving Forward Without Panic
&lt;/h2&gt;

&lt;p&gt;If you're feeling the pressure to master AI immediately, take a breath. You have permission to approach this strategically rather than frantically.&lt;/p&gt;

&lt;p&gt;Start small:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick one AI tool relevant to your daily work&lt;/li&gt;
&lt;li&gt;Use it for one specific task for two weeks&lt;/li&gt;
&lt;li&gt;Evaluate what worked and what didn't&lt;/li&gt;
&lt;li&gt;Adjust and expand gradually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your career won't end because you didn't learn PyTorch last month. But it might stagnate if fear drives you to abandon the expertise you've spent years building.&lt;/p&gt;

&lt;p&gt;The future belongs to developers who can blend human insight with AI capabilities—not to those who panic-learned the latest framework because a LinkedIn post made them feel inadequate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Conversation We Need to Have
&lt;/h2&gt;

&lt;p&gt;Rather than letting fear dominate the narrative around AI and development, we need honest conversations about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What's genuinely changing versus what's hype&lt;/li&gt;
&lt;li&gt;Which skills remain irreplaceable&lt;/li&gt;
&lt;li&gt;How to evaluate AI tools critically&lt;/li&gt;
&lt;li&gt;Where the real opportunities lie&lt;/li&gt;
&lt;li&gt;What we should be concerned about (and what we shouldn't)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The 73% of developers using AI tools daily didn't all become AI experts. They became AI-aware. They learned to work with these tools pragmatically, without abandoning the expertise that made them valuable in the first place.&lt;/p&gt;

&lt;p&gt;That's the path forward. Not panic. Not overnight transformation. Strategic awareness combined with the strengths you already have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's your biggest concern about AI in development right now? Where do you see the real opportunities versus the overblown hype? Let's have an honest conversation about navigating this shift without the panic.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Top 5 Developer Skills That Will Print Money in 2026 (And the Ones Bleeding Your Career Dry)</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Fri, 13 Feb 2026 14:25:03 +0000</pubDate>
      <link>https://forem.com/respect17/top-5-developer-skills-that-will-print-money-in-2026-and-the-ones-bleeding-your-career-dry-15b7</link>
      <guid>https://forem.com/respect17/top-5-developer-skills-that-will-print-money-in-2026-and-the-ones-bleeding-your-career-dry-15b7</guid>
      <description>&lt;p&gt;The gap between what boot camps teach and what CTOs actually hire for has never been wider. While junior devs grind LeetCode and memorize framework syntax, the market has fundamentally shifted. Here's what separates the $200K developers from the ones still fighting for $80K contracts.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Skills That Actually Matter
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;AI Integration Architecture (Not Just "Using ChatGPT")&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Every company is now an AI company, whether they admit it or not. But here's what matters: &lt;strong&gt;you need to architect systems that incorporate LLMs, not just use them as glorified autocomplete.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this actually means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing prompt chains and workflows that are deterministic and testable&lt;/li&gt;
&lt;li&gt;Building RAG (Retrieval-Augmented Generation) systems that don't hallucinate&lt;/li&gt;
&lt;li&gt;Understanding token economics and latency implications&lt;/li&gt;
&lt;li&gt;Managing context windows and implementing semantic caching&lt;/li&gt;
&lt;li&gt;Building guardrails and validation layers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why it prints money:&lt;/strong&gt; Every SaaS product, every enterprise tool, every consumer app is rushing to add AI features. The developers who can actually &lt;em&gt;ship&lt;/em&gt; reliable AI features (not just demos) are commanding 40-60% premiums.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trap to avoid:&lt;/strong&gt; Don't just become a "prompt engineer." That's the modern equivalent of being "good at Google searches." Build actual systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Platform Engineering (DevOps Grew Up)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you're still calling yourself a "DevOps engineer," you're already behind. The role evolved. Platform engineering is about building internal developer platforms that make your entire eng org 10x more productive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this actually means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating self-service infrastructure with Terraform/Pulumi&lt;/li&gt;
&lt;li&gt;Building internal developer portals (Backstage, Port)&lt;/li&gt;
&lt;li&gt;Implementing GitOps workflows that actually work&lt;/li&gt;
&lt;li&gt;Setting up observability that doesn't require a PhD to read&lt;/li&gt;
&lt;li&gt;Managing Kubernetes clusters that don't wake you up at 3 AM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Companies are desperate to reduce cognitive load on developers. A single platform engineer can unlock velocity for 50+ developers. The ROI is obvious, which is why these roles pay $180K-$250K.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real talk:&lt;/strong&gt; If your current company doesn't have a platform team, that's your opportunity. Build it and you'll either get promoted or have a killer portfolio.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;System Design (Not Algorithms, Not Syntax)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here's the uncomfortable truth: nobody cares if you can invert a binary tree in O(log n) time. They care if you can design a system that handles 10,000 requests per second without falling over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this actually means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding distributed systems patterns (event sourcing, CQRS, saga patterns)&lt;/li&gt;
&lt;li&gt;Knowing when to use queues vs. streams vs. CDC&lt;/li&gt;
&lt;li&gt;Designing for failure (circuit breakers, retries, idempotency)&lt;/li&gt;
&lt;li&gt;Database architecture decisions (SQL vs. NoSQL vs. NewSQL)&lt;/li&gt;
&lt;li&gt;Caching strategies that actually work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why senior engineers make $300K:&lt;/strong&gt; They don't write more code. They make architectural decisions that save millions in infrastructure costs or prevent catastrophic outages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The shortcut:&lt;/strong&gt; Read "Designing Data-Intensive Applications" by Martin Kleppmann. Then build something that breaks under load and fix it. Real experience trumps theory.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Security Engineering (Zero Trust is Now Table Stakes)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Every startup pitch deck now includes "enterprise-ready security." Every compliance checkbox (SOC 2, GDPR, HIPAA) requires developers who actually understand security beyond "sanitize your inputs."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this actually means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementing OAuth 2.0/OIDC correctly (shocking how few do)&lt;/li&gt;
&lt;li&gt;Understanding certificate management and mTLS&lt;/li&gt;
&lt;li&gt;Building zero-trust architectures with identity-based access&lt;/li&gt;
&lt;li&gt;Knowing the OWASP Top 10 beyond just XSS&lt;/li&gt;
&lt;li&gt;Implementing proper secrets management (Vault, AWS Secrets Manager)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt; Security breaches cost companies millions. Security-conscious developers become unfireable. Plus, "security engineer" roles start at $150K because there aren't enough of them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick win:&lt;/strong&gt; Get certified (CISSP, Security+, CEH) and immediately stand out from 90% of developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Technical Communication (The Skill Nobody Teaches)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The most underrated skill that separates IC4 from IC6 isn't technical at all. It's the ability to explain complex technical decisions to non-technical stakeholders and write documentation that doesn't suck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this actually means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Writing RFCs and design docs that get approved&lt;/li&gt;
&lt;li&gt;Creating ADRs (Architecture Decision Records) that explain the "why"&lt;/li&gt;
&lt;li&gt;Presenting to executives without making their eyes glaze over&lt;/li&gt;
&lt;li&gt;Mentoring junior developers through code reviews that actually teach&lt;/li&gt;
&lt;li&gt;Writing documentation that onboards new hires in days, not weeks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why this is a multiplier:&lt;/strong&gt; Staff+ engineers spend 60% of their time communicating. If you can't influence decisions through writing and speaking, you'll cap at senior engineer forever.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The hack:&lt;/strong&gt; Start a technical blog. Write one article per month. You'll simultaneously improve your communication skills, build your personal brand, and have a portfolio that proves your expertise.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Skills That Are Dying (Stop Wasting Time)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Memorizing Framework-Specific Syntax&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;jQuery is dead. Angular is legacy. Even React patterns from 2020 look ancient. Frameworks churn faster than you can learn them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do instead:&lt;/strong&gt; Learn the underlying patterns. Understanding closures, promises, and reactive programming transfers across frameworks. Syntax doesn't.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Pure Algorithm Grinding&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Yes, you'll still face LeetCode in FAANG interviews. But outside of that bubble, companies care about shipping products, not inverting trees.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do instead:&lt;/strong&gt; Learn algorithms &lt;em&gt;in context&lt;/em&gt;. When you need to optimize a slow query, then learn indexing strategies. When you're building a recommendation engine, then learn collaborative filtering.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Manual Testing and QA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you're manually clicking through your app to test it in 2026, you're doing it wrong. AI-powered testing tools are eating this space.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do instead:&lt;/strong&gt; Learn test automation, property-based testing, and chaos engineering. These skills actually scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Being a "X Language Expert"&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Nobody cares if you're a "Python expert" or "Java guru" anymore. Languages are tools. Companies hire problem solvers, not syntax memorizers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do instead:&lt;/strong&gt; Become polyglot. Learn one language from each paradigm (OOP, functional, systems). You'll adapt to any codebase.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Working in Isolation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The "10x engineer who works alone" is a myth from 2010. Modern software is too complex for solo heroes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do instead:&lt;/strong&gt; Learn to work asynchronously with remote teams, contribute to open source, and build your network. Your next job will come from connections, not cold applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Playbook: How to Actually Level Up
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;For Junior Devs (0-2 years):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pick one modern framework and build something real with it&lt;/li&gt;
&lt;li&gt;Deploy it to production (Vercel, Railway, Render)&lt;/li&gt;
&lt;li&gt;Add authentication, error handling, and logging&lt;/li&gt;
&lt;li&gt;Break it, monitor it, fix it&lt;/li&gt;
&lt;li&gt;Write about what you learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;For Mid-Level Devs (3-5 years):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Identify the biggest pain point in your current system&lt;/li&gt;
&lt;li&gt;Propose a solution with a proper RFC/design doc&lt;/li&gt;
&lt;li&gt;Get buy-in from stakeholders&lt;/li&gt;
&lt;li&gt;Implement it and measure the impact&lt;/li&gt;
&lt;li&gt;Give a tech talk about it internally&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;For Senior Devs (5+ years):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find a cross-team problem nobody's solving&lt;/li&gt;
&lt;li&gt;Build a coalition to support your solution&lt;/li&gt;
&lt;li&gt;Drive the technical decision while mentoring others&lt;/li&gt;
&lt;li&gt;Measure and communicate the business impact&lt;/li&gt;
&lt;li&gt;Share your learnings externally (blog, conference talk)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Uncomfortable Truth
&lt;/h2&gt;

&lt;p&gt;The skills that matter in 2026 aren't necessarily the skills you &lt;em&gt;want&lt;/em&gt; to learn. They're not as sexy as learning the latest JavaScript framework or as satisfying as solving algorithm puzzles.&lt;/p&gt;

&lt;p&gt;But here's the reality: &lt;strong&gt;the market doesn't care what you want to learn. It cares what problems you can solve.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The developers making $200K+ aren't necessarily the best coders. They're the ones who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ship AI features that users actually want&lt;/li&gt;
&lt;li&gt;Design systems that scale without constant firefighting&lt;/li&gt;
&lt;li&gt;Build platforms that make entire teams more productive&lt;/li&gt;
&lt;li&gt;Prevent security breaches before they happen&lt;/li&gt;
&lt;li&gt;Communicate technical decisions that influence millions in revenue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The choice is yours: keep collecting framework badges and algorithm medals, or start building skills that actually move the needle.&lt;/p&gt;

&lt;p&gt;The gap between "good developer" and "highly paid developer" isn't as wide as you think. It's just different skills than what everyone else is learning.&lt;/p&gt;

&lt;p&gt;And that's precisely why it's valuable.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Are We Actually Building Faster Websites, or Just Using Fancier Tools?</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Thu, 12 Feb 2026 14:23:37 +0000</pubDate>
      <link>https://forem.com/respect17/are-we-actually-building-faster-websites-or-just-using-fancier-tools-522</link>
      <guid>https://forem.com/respect17/are-we-actually-building-faster-websites-or-just-using-fancier-tools-522</guid>
      <description>&lt;p&gt;Let's talk about something that's been bugging me lately.&lt;/p&gt;

&lt;p&gt;Every few months, there's a new framework promising to make our websites faster. React Server Components. Astro. Svelte 5 with its new runes. Fresh. Qwik. The list keeps growing.&lt;/p&gt;

&lt;p&gt;And here's my question: &lt;strong&gt;Are our websites actually getting faster, or are we just moving complexity around?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Promise vs. The Reality
&lt;/h2&gt;

&lt;p&gt;These frameworks all sound amazing on paper:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Zero JavaScript by default!"&lt;/li&gt;
&lt;li&gt;"Instant page loads!"&lt;/li&gt;
&lt;li&gt;"Better developer experience!"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But then I look at real websites in the wild, and I still see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loading spinners everywhere&lt;/li&gt;
&lt;li&gt;Slow interactions&lt;/li&gt;
&lt;li&gt;Massive JavaScript bundles&lt;/li&gt;
&lt;li&gt;Sites that feel sluggish on mobile&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Actually Changed?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;React Server Components&lt;/strong&gt; - Mixing server and client code sounds great. But how many teams actually need this? Are we solving real problems or just adding complexity?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Astro&lt;/strong&gt; - The islands architecture makes sense. Send less JavaScript. But couldn't we have just... written less JavaScript in the first place?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Svelte 5&lt;/strong&gt; - Runes look cleaner than the old reactive syntax. But does cleaner code mean faster websites for users?&lt;/p&gt;

&lt;h2&gt;
  
  
  My Controversial Take
&lt;/h2&gt;

&lt;p&gt;Maybe the framework doesn't matter as much as we think. Maybe the real problem is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We're building bloated apps when simple pages would work&lt;/li&gt;
&lt;li&gt;We're not measuring real user performance&lt;/li&gt;
&lt;li&gt;We're optimizing for developer experience, not user experience&lt;/li&gt;
&lt;li&gt;We're adding frameworks when vanilla JS would be fine&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Questions I'm Wrestling With
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Have you actually measured performance improvements&lt;/strong&gt; after switching frameworks? What did you find?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When was the last time&lt;/strong&gt; a framework choice actually solved a real user problem vs. a developer problem?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Are we being honest&lt;/strong&gt; about whether we need all this tooling, or are we just chasing shiny new things?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What about the sites that are actually fast?&lt;/strong&gt; A lot of them use "boring" tech. WordPress sites with good caching. Static HTML. Simple server-rendered pages.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Let's Be Real
&lt;/h2&gt;

&lt;p&gt;I'm not saying these frameworks are bad. React Server Components are genuinely useful for certain apps. Astro is perfect for content sites. Svelte is a joy to write.&lt;/p&gt;

&lt;p&gt;But I wonder if we've lost sight of the fundamentals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Optimize images&lt;/li&gt;
&lt;li&gt;Lazy load what you don't need immediately&lt;/li&gt;
&lt;li&gt;Cache aggressively&lt;/li&gt;
&lt;li&gt;Ship less code&lt;/li&gt;
&lt;li&gt;Measure real-world performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These work regardless of your framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Challenge to You
&lt;/h2&gt;

&lt;p&gt;Next time you reach for a new framework, ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What problem am I actually solving?&lt;/li&gt;
&lt;li&gt;Will users notice the difference?&lt;/li&gt;
&lt;li&gt;Am I adding complexity just because it's trendy?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's Discuss
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What's your experience?&lt;/strong&gt; Have these new frameworks actually made your sites faster? Or are we just rearranging deck chairs?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What metrics matter to you?&lt;/strong&gt; Time to Interactive? First Contentful Paint? Or just "does it feel fast?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's working in production?&lt;/strong&gt; Forget the demos and benchmarks. What actually ships fast in real projects with real deadlines and real teams?&lt;/p&gt;

&lt;p&gt;Drop your thoughts below. Let's have an honest conversation about this.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What framework are you using right now, and why? Would you choose it again?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>javascript</category>
      <category>performance</category>
    </item>
    <item>
      <title>What's Your Superpower and How Can Teams Find You?</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Tue, 10 Feb 2026 14:47:39 +0000</pubDate>
      <link>https://forem.com/respect17/whats-your-superpower-and-how-can-teams-find-you-3k80</link>
      <guid>https://forem.com/respect17/whats-your-superpower-and-how-can-teams-find-you-3k80</guid>
      <description>&lt;p&gt;Hey! I'm a developer who writes about the messy reality of modern development—from AI-assisted coding to abstraction overload. I believe in learning fundamentals while embracing new tools, and I'm always curious about how others navigate this fast-changing field.&lt;/p&gt;

&lt;p&gt;I've noticed something: dev.to is full of incredibly talented developers sharing knowledge, but we don't always make it easy for opportunities to find us. Meanwhile, recruiters and CTOs are definitely browsing these articles looking for people who think clearly and solve real problems.&lt;/p&gt;

&lt;p&gt;So let's make this easier for everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  How This Works
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If you're a developer&lt;/strong&gt;, drop a comment sharing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your specialty&lt;/strong&gt; - What do you build best?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Your experience level&lt;/strong&gt; - Junior, mid-level, senior, or "it's complicated"?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your current focus&lt;/strong&gt; - What are you working on or learning?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What you bring to teams&lt;/strong&gt; - Your unique value (beyond just tech stack)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where to find you&lt;/strong&gt; - LinkedIn, GitHub, portfolio, Twitter/X&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your situation&lt;/strong&gt; - Open to work? Open to opportunities? Just networking?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;If you're hiring or recruiting&lt;/strong&gt;, feel free to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browse the comments&lt;/li&gt;
&lt;li&gt;Reach out to people directly&lt;/li&gt;
&lt;li&gt;Share what you're looking for&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No pressure, no sales pitches. Just real developers sharing what they're about.&lt;/p&gt;

&lt;h2&gt;
  
  
  I'll Start
&lt;/h2&gt;

&lt;p&gt;Here's my template (feel free to copy and adapt):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialty:&lt;/strong&gt; Full-stack web development with a focus on developer experience&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience:&lt;/strong&gt; 5+ years building production apps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔧 Current Focus:&lt;/strong&gt; Exploring how AI tools change development workflows while maintaining code quality&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Bring:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong fundamentals (can debug through any stack)&lt;/li&gt;
&lt;li&gt;Clear technical writing and documentation&lt;/li&gt;
&lt;li&gt;Balancing modern tools with pragmatic choices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Find Me:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="http://github.com/respect17" rel="noopener noreferrer"&gt;http://github.com/respect17&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LinkedIn: &lt;a href="https://dev.tourl"&gt;www.linkedin.com/in/kudzai-murimi-50b7262bb&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Portfolio: &lt;a href="http://bitwisesoftware.co.za/" rel="noopener noreferrer"&gt;http://bitwisesoftware.co.za/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Status:&lt;/strong&gt; Always open to interesting conversations&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Share This?
&lt;/h2&gt;

&lt;p&gt;Because visibility matters. Some of the best opportunities come from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Someone reading your comment&lt;/li&gt;
&lt;li&gt;A recruiter finding your GitHub through this thread&lt;/li&gt;
&lt;li&gt;Another developer reaching out for collaboration&lt;/li&gt;
&lt;li&gt;A connection that happens 3 months from now&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly? Sometimes you don't realize you're open to new opportunities until the right one finds you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ground Rules
&lt;/h2&gt;

&lt;p&gt;Let's keep this valuable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Be genuine about your skills and experience&lt;/li&gt;
&lt;li&gt;✅ Share actual profiles (not just "DM me")&lt;/li&gt;
&lt;li&gt;✅ Respect people's time and status&lt;/li&gt;
&lt;li&gt;✅ Network authentically&lt;/li&gt;
&lt;li&gt;❌ No spam or recruiting pitches in top-level comments&lt;/li&gt;
&lt;li&gt;❌ Don't oversell or misrepresent experience&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  For Recruiters
&lt;/h2&gt;

&lt;p&gt;If you're here looking for talent, that's great! Just remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;These are real people, not leads&lt;/li&gt;
&lt;li&gt;Read what they've written elsewhere on dev.to&lt;/li&gt;
&lt;li&gt;Personalize your outreach&lt;/li&gt;
&lt;li&gt;Respect their stated availability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Ask
&lt;/h2&gt;

&lt;p&gt;If you find this useful or connect with someone through this thread, come back and drop an update. Let's see if we can create some real opportunities here.&lt;/p&gt;

&lt;p&gt;Alright, your turn! Drop your details in the comments below. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Template for easy copy-paste:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🎯 Specialty: [What you build best]
💼 Experience: [Your level]
🔧 Current Focus: [What you're working on]
🌟 What I Bring: [Your unique value]
🔗 Find Me:
- GitHub: [link] (X followers)
- LinkedIn: [link]
- Portfolio/Twitter: [link]
🌍 Status: [Open to work / Open to opportunities / Just networking]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's make some connections! 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>discuss</category>
      <category>networking</category>
    </item>
    <item>
      <title>The Hidden Cost of 'Just Install This Library'</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Tue, 10 Feb 2026 14:31:28 +0000</pubDate>
      <link>https://forem.com/respect17/the-hidden-cost-of-just-install-this-library-3ga9</link>
      <guid>https://forem.com/respect17/the-hidden-cost-of-just-install-this-library-3ga9</guid>
      <description>&lt;p&gt;The Button That Taught Me a Lesson&lt;/p&gt;

&lt;p&gt;Last week, I needed a button. Just a simple button with rounded corners and a loading state.&lt;/p&gt;

&lt;p&gt;Old me would have written some HTML and CSS. Done in 15 minutes.&lt;/p&gt;

&lt;p&gt;New me, swimming in the modern ecosystem, did this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @radix-ui/react-button
npm &lt;span class="nb"&gt;install &lt;/span&gt;class-variance-authority
npm &lt;span class="nb"&gt;install &lt;/span&gt;clsx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two hours later, the button worked beautifully. Then I tried to add a custom style and... nothing. The styles just wouldn't apply. Turns out, the component library uses Shadow DOM, and now I'm reading documentation about CSS encapsulation at midnight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I saved myself from writing a button. I created a debugging adventure.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Abstraction Trade-Off
&lt;/h2&gt;

&lt;p&gt;Here's the thing: modern libraries solve real problems! They give us:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accessibility out of the box&lt;/li&gt;
&lt;li&gt;Cross-browser compatibility
&lt;/li&gt;
&lt;li&gt;Battle-tested patterns&lt;/li&gt;
&lt;li&gt;Beautiful defaults&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But they also come with a cost that's easy to miss: &lt;strong&gt;complexity debt&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every layer you add is another thing to understand when debugging. Your "simple" stack might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;variant&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"primary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Submit&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But under the hood, you've got:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your component library&lt;/li&gt;
&lt;li&gt;The primitive component it wraps&lt;/li&gt;
&lt;li&gt;The styling system&lt;/li&gt;
&lt;li&gt;The CSS framework&lt;/li&gt;
&lt;li&gt;The build tool processing everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When something breaks, you need to debug through all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Abstractions Stack Up
&lt;/h2&gt;

&lt;p&gt;I think about this as layers of trade-offs:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plain HTML/CSS/JS&lt;/strong&gt;: Total control, more code to write&lt;br&gt;
&lt;strong&gt;Utility libraries&lt;/strong&gt; (like lodash): One dependency, solves one problem&lt;br&gt;
&lt;strong&gt;Frameworks&lt;/strong&gt; (React, Vue): Learning curve, but gives you reactivity&lt;br&gt;
&lt;strong&gt;Component libraries&lt;/strong&gt;: Accessibility + UX, but harder to customize&lt;br&gt;
&lt;strong&gt;Full solutions&lt;/strong&gt; (Next.js, etc.): Everything integrated, lots of moving parts&lt;/p&gt;

&lt;p&gt;Each level up gives you more out of the box, but takes more effort to customize or debug.&lt;/p&gt;
&lt;h2&gt;
  
  
  My Simple Rules
&lt;/h2&gt;

&lt;p&gt;After getting burned a few times, here's what I ask before installing anything:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Do I understand the problem this solves?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If I can't explain why I need it, I probably don't need it yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Can I explain how it works in two sentences?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If not, I'm adding complexity I can't debug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. What's my escape hatch?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If this library gets abandoned or doesn't work, can I replace it without rewriting everything?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Am I choosing this because it's popular or because it fits?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Twitter hype is not a good reason to add a dependency.&lt;/p&gt;
&lt;h2&gt;
  
  
  Start Simple, Add Complexity When You Feel the Pain
&lt;/h2&gt;

&lt;p&gt;My favorite strategy now: start boring.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Start here&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"btn"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  Submit
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="c1"&gt;// Only upgrade when you actually need:&lt;/span&gt;
&lt;span class="c1"&gt;// - Complex keyboard navigation&lt;/span&gt;
&lt;span class="c1"&gt;// - Advanced accessibility&lt;/span&gt;
&lt;span class="c1"&gt;// - Loading states&lt;/span&gt;
&lt;span class="c1"&gt;// - Multiple variants&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let the pain guide you. If you find yourself writing the same button code 10 times, &lt;em&gt;then&lt;/em&gt; reach for a library.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Abstractions Are Worth It
&lt;/h2&gt;

&lt;p&gt;Don't get me wrong, I still use libraries! But now I'm more intentional:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Use them for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accessibility (screen readers, keyboard nav)&lt;/li&gt;
&lt;li&gt;Complex UI patterns (date pickers, modals)&lt;/li&gt;
&lt;li&gt;Things I'd likely get wrong (form validation, security)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ &lt;strong&gt;Skip them for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Styling simple components&lt;/li&gt;
&lt;li&gt;One-off features&lt;/li&gt;
&lt;li&gt;Things I understand well&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Real Lesson
&lt;/h2&gt;

&lt;p&gt;Every abstraction is a trade-off. You're borrowing time today and potentially paying debugging time later.&lt;/p&gt;

&lt;p&gt;That's not bad! Sometimes it's absolutely worth it. But we should make that choice consciously, not automatically reach for the shiniest tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The best developers I know aren't the ones using the most libraries. They're the ones who can explain why they chose each one.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Turn
&lt;/h2&gt;

&lt;p&gt;Before your next &lt;code&gt;npm install&lt;/code&gt;, pause and ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What problem am I solving?&lt;/li&gt;
&lt;li&gt;Can I start simpler?&lt;/li&gt;
&lt;li&gt;Do I understand how this works?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might still install the library. But you'll do it with your eyes open.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's your take? Do you prefer starting simple or using battle-tested libraries from the start? Let me know in the comments!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Junior Developer Paradox: Why AI Makes Fundamentals More Important, Not Less</title>
      <dc:creator>Kudzai Murimi</dc:creator>
      <pubDate>Sun, 08 Feb 2026 11:18:35 +0000</pubDate>
      <link>https://forem.com/respect17/the-junior-developer-paradox-why-ai-makes-fundamentals-more-important-not-less-3n6l</link>
      <guid>https://forem.com/respect17/the-junior-developer-paradox-why-ai-makes-fundamentals-more-important-not-less-3n6l</guid>
      <description>&lt;h2&gt;
  
  
  The Rote Work is Disappearing. Good.
&lt;/h2&gt;

&lt;p&gt;Let's address the elephant in the room: yes, AI is automating away many of the tasks that junior developers traditionally cut their teeth on. Boilerplate code, CRUD operations, simple API integrations, these are increasingly being handled by tools like Copilot, Cursor, and ChatGPT.&lt;/p&gt;

&lt;p&gt;And frankly? &lt;strong&gt;That's a good thing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The real question isn't whether junior developers are becoming obsolete. It's whether we're ready to redefine what it means to be one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Old Junior Developer Playbook is Broken
&lt;/h2&gt;

&lt;p&gt;For years, the junior developer journey looked something like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Spend months writing repetitive code&lt;/li&gt;
&lt;li&gt;Gradually understand patterns through repetition&lt;/li&gt;
&lt;li&gt;Eventually build enough context to understand &lt;em&gt;why&lt;/em&gt; things work&lt;/li&gt;
&lt;li&gt;Transition to more complex problems&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This worked when implementation was the bottleneck. But in 2025, implementation isn't the bottleneck anymore. &lt;strong&gt;Orchestration is.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The new junior developer faces a different challenge: learning to direct AI agents while building enough mental models to know when those agents are leading you astray.&lt;/p&gt;

&lt;h2&gt;
  
  
  Welcome to the Era of "Vibe Coding"
&lt;/h2&gt;

&lt;p&gt;We're seeing a new pattern emerge—what some call "vibe coding." Developers who can describe what they want, get AI to generate it, and ship quickly without necessarily understanding every line.&lt;/p&gt;

&lt;p&gt;This works great... until it doesn't.&lt;/p&gt;

&lt;p&gt;The problem? When you're vibing your way through code, you're building on a foundation of assumptions. And assumptions have a nasty habit of compounding:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// AI-generated code that "just works"&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleUserAction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`SELECT * FROM users WHERE id = &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// Wait, did we just open ourselves to SQL injection?&lt;/span&gt;
  &lt;span class="c1"&gt;// Why is this query slow with 10k users?&lt;/span&gt;
  &lt;span class="c1"&gt;// What happens if userId is null?&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can ship this. It might even work in production for a while. But without understanding the fundamentals—SQL injection, query optimization, null handling—you're accumulating technical debt you can't see.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Abstraction Paradox
&lt;/h2&gt;

&lt;p&gt;Here's the cruel irony: the more we abstract away complexity, the more important it becomes to understand what's beneath those abstractions.&lt;/p&gt;

&lt;p&gt;Consider the Shadow DOM drama. Developers choose React or Vue for convenience, add a component library for speed, then discover their styling is broken because of Shadow DOM encapsulation. The abstraction that was supposed to make things easier just made debugging exponentially harder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can't debug what you don't understand.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is why the new junior developer role isn't about writing less code—it's about developing a different kind of expertise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pattern recognition&lt;/strong&gt;: Knowing when AI-generated code smells wrong&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System thinking&lt;/strong&gt;: Understanding how components interact, even when you didn't write them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Debug fluency&lt;/strong&gt;: Tracing issues through layers of abstraction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fundamental literacy&lt;/strong&gt;: Grasping HTTP, databases, state management, security&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Mental Game Has Changed Too
&lt;/h2&gt;

&lt;p&gt;Let's talk about the psychological toll of this transition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Imposter syndrome hits different when AI can generate in seconds what took you hours to learn.&lt;/strong&gt; You watch your AI pair programmer spin up a complex auth flow while you're still Googling "how does JWT work" and think: "Am I even needed?"&lt;/p&gt;

&lt;p&gt;Then there's the Dunning-Kruger cliff. You can now ship features without understanding them, which creates a dangerous confidence. You feel productive—until you hit a bug that requires actual understanding to fix.&lt;/p&gt;

&lt;p&gt;The hardest part? &lt;strong&gt;Admitting what you don't know while surrounded by tools that make it seem like you should know everything.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So What Should Junior Developers Actually Learn?
&lt;/h2&gt;

&lt;p&gt;If you're entering the field in 2025, here's my honest advice:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Build Things That Break&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Don't just use AI to build things that work. Intentionally build things that break, then fix them without AI assistance. This is where learning happens.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Try this exercise&lt;/span&gt;
1. Ask AI to build a REST API
2. Deploy it
3. Load &lt;span class="nb"&gt;test &lt;/span&gt;it &lt;span class="k"&gt;until &lt;/span&gt;something breaks
4. Fix the bottleneck yourself
5. Understand why it broke
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;strong&gt;Learn to Read, Not Just Write&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Your most valuable skill will be reading and understanding code—including AI-generated code. Practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading open-source codebases&lt;/li&gt;
&lt;li&gt;Code reviews (even of your own AI-generated code)&lt;/li&gt;
&lt;li&gt;Debugging without Stack Overflow&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Master the Fundamentals That Don't Change&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;These are your leverage points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How databases actually store and retrieve data&lt;/li&gt;
&lt;li&gt;How networks transmit information&lt;/li&gt;
&lt;li&gt;How browsers render pages&lt;/li&gt;
&lt;li&gt;How operating systems manage resources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These concepts don't change every six months. They compound.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Develop "Smell Detection"&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Learn to recognize code smells:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;N+1 queries&lt;/li&gt;
&lt;li&gt;Memory leaks&lt;/li&gt;
&lt;li&gt;Race conditions&lt;/li&gt;
&lt;li&gt;Security vulnerabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI can generate vulnerable code convincingly. Your job is to catch it.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Build Without the Safety Net&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Regularly practice building features from scratch without AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement a basic router&lt;/li&gt;
&lt;li&gt;Write a simple state management system&lt;/li&gt;
&lt;li&gt;Create a mini ORM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need to use these in production, but you need to understand how they work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Junior Developer Advantage
&lt;/h2&gt;

&lt;p&gt;Here's what gives me hope: junior developers entering the field today have an unprecedented opportunity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You get to learn with a pair programmer that never gets tired, never judges, and can explain concepts a hundred different ways.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The seniors who spent years writing boilerplate? That muscle memory doesn't transfer to AI-assisted development. You're all learning this new paradigm together.&lt;/p&gt;

&lt;p&gt;Your advantage is adaptability. You're not unlearning old workflows. You're building mental models for a world where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementation is fast&lt;/li&gt;
&lt;li&gt;Orchestration is hard&lt;/li&gt;
&lt;li&gt;Understanding is everything&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Real Extinction Risk
&lt;/h2&gt;

&lt;p&gt;Junior developers aren't going extinct. &lt;strong&gt;Junior developers who refuse to understand fundamentals are.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The market will always need people who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debug complex systems&lt;/li&gt;
&lt;li&gt;Make architectural decisions&lt;/li&gt;
&lt;li&gt;Understand trade-offs&lt;/li&gt;
&lt;li&gt;Recognize when AI is confidently wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What's disappearing is the luxury of learning these things slowly through years of repetitive tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Training Ground Has Changed
&lt;/h2&gt;

&lt;p&gt;The rote work that used to be your training ground? It's gone. And that's fine, because it was never the point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point was always understanding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You just used to get there through repetition. Now you need to get there through curiosity, intentional practice, and yes—occasionally building things the hard way to understand why the easy way works.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;We're not moving from a world where developers write code to a world where AI writes code.&lt;/p&gt;

&lt;p&gt;We're moving from a world where developers implement features to a world where developers orchestrate systems.&lt;/p&gt;

&lt;p&gt;The developers who thrive will be those who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Direct AI effectively&lt;/li&gt;
&lt;li&gt;Recognize its mistakes&lt;/li&gt;
&lt;li&gt;Understand the systems they're building&lt;/li&gt;
&lt;li&gt;Debug across layers of abstraction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That requires deeper technical understanding, not less.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So if you're a junior developer worried about AI taking your job, I'll leave you with this: AI can generate code, but it can't (yet) develop the judgment to know which code to write, when to write it, and why it matters.&lt;/p&gt;

&lt;p&gt;That's still your job. Make sure you're ready for it.&lt;/p&gt;

&lt;p&gt;*What's your experience learning to code in the AI era? Are you finding the fundamentals more or less important?&lt;/p&gt;

&lt;p&gt;Let's discuss in the comments below.&lt;/p&gt;

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