<?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: Ben Link</title>
    <description>The latest articles on Forem by Ben Link (@linkbenjamin).</description>
    <link>https://forem.com/linkbenjamin</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%2F859945%2Fb59c1854-a1cd-4ea5-abdf-33b0d7a92938.jpg</url>
      <title>Forem: Ben Link</title>
      <link>https://forem.com/linkbenjamin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/linkbenjamin"/>
    <language>en</language>
    <item>
      <title>The Adventures of Blink S5e10: Wrapping it All Up</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 07 May 2026 11:05:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e10-wrapping-it-all-up-dom</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e10-wrapping-it-all-up-dom</guid>
      <description>&lt;p&gt;Hey friends!  Today on The Adventures of Blink, we wrap up our our Breakout clone - we'll learn how to turn a python script into an executable and then how to post a project to &lt;a href="https://itch.io" rel="noopener noreferrer"&gt;itch.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you're the kind of person who waits to start a series until you can binge the whole thing... now is your moment! Come by, 👍🏻 and subscribe, and learn to build with me!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/6ftJEieoC-U"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The Adventures will return this Fall... but come back here next week for the usual offseason blog posts!  See ya 'round!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>buildinpublic</category>
      <category>python</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e9: Saving and Loading</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 30 Apr 2026 12:00:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e9-saving-and-loading-4gjf</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e9-saving-and-loading-4gjf</guid>
      <description>&lt;p&gt;Hey friends!  Today's adventure adds a key feature to our Breakout clone - the ability to save our progress, and load it back.  Thing is, we don't want to write those components from scratch on our own... so we're going to let the system help us.  &lt;/p&gt;

&lt;p&gt;Stop by the channel, 👍🏻 and subscribe... you know the drill.  Let's build together!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/0XAuhTqLUIQ"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>buildinpu</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e8: Special Bricks</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 23 Apr 2026 11:35:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e8-special-bricks-41o6</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e8-special-bricks-41o6</guid>
      <description>&lt;p&gt;Hey friends!  What a season it's been - This Adventure of Blink is flying right by.  We have a working game, but... we'd like to have a little something more.  What if we had special bricks in the game that, when you hit them, caused a second ball to enter the game?&lt;/p&gt;

&lt;p&gt;Stop by the channel and let's build together... and please leave me a 👍🏻, a 💬, and subscribe!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/NDsWvOueb4k"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>buildinpublic</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e7: Winning is Everything</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 16 Apr 2026 11:05:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e7-winning-is-everything-da3</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e7-winning-is-everything-da3</guid>
      <description>&lt;p&gt;Hey friends!  Season 5 of The Adventures of Blink continues - we have  a game that works, but we're missing something pretty important: the Win screen!  Come join me today as we make it possible to win our game.&lt;/p&gt;

&lt;p&gt;Leave me a 👍🏻 and a 💬 to help the channel, and subscribe so you won't miss future episodes!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/yKJFlozhIm0"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>beginners</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e6: On So Many Levels</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 09 Apr 2026 11:00:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e6-on-so-many-levels-1gf0</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e6-on-so-many-levels-1gf0</guid>
      <description>&lt;p&gt;Hey friends!  Today on The Adventures of Blink, we're making our game last longer... by adding different levels. In order to make them work, we're going to need a level loader...&lt;/p&gt;

&lt;p&gt;Come along and let's build together!  Leave me a 👍🏻 and a 💬 to help the channel!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/OGR5d9MWd34"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e5: Collisions!</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 02 Apr 2026 11:30:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e5-collisions-34k6</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e5-collisions-34k6</guid>
      <description>&lt;p&gt;Hey friends, welcome to The Adventures of Blink!  Today we continue our breakout clone build with some work on one of the key mechanics in the game: the ability for objects to collide with each other.  &lt;/p&gt;

&lt;p&gt;Make sure you leave a 👍🏻 and a 💬, and subscribe so you'll stay connected!&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/W4rh5-F_ncY"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e4: The Paddle and the Ball</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 26 Mar 2026 11:45:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e4-the-paddle-and-the-ball-2p41</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e4-the-paddle-and-the-ball-2p41</guid>
      <description>&lt;p&gt;Hey friends!  Today on The Adventures of Blink, we've finally got the foundation we need, and it's time to start working on some gameplay features!  We'll start with two key features: the Paddle and the Ball.&lt;/p&gt;

&lt;p&gt;Make sure you leave a 👍🏻 and a 💬, and subscribe!&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/Tn1oF4dnYDs"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>buildinpublic</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e3: A Menu in Pygame</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 19 Mar 2026 11:30:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e3-a-menu-in-pygame-3d4m</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e3-a-menu-in-pygame-3d4m</guid>
      <description>&lt;p&gt;Hey friends!  Today on The Adventures of Blink, we're building a main menu for our Breakout clone using Pygame.  I know, I know... we don't have a game yet, but we're building a foundation here, gameplay's coming soon!&lt;/p&gt;

&lt;p&gt;Make sure you leave a 👍🏻 and a 💬, and subscribe!&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/-JmEl4cOkRw"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>buildinpublic</category>
      <category>programming</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e2: Logs and Configs</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 12 Mar 2026 11:30:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e2-logs-and-configs-olo</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e2-logs-and-configs-olo</guid>
      <description>&lt;p&gt;Hey friends! Today we continue building our Breakout clone with a look at how to set up logging, and how to build a configuration file for our game to use.&lt;/p&gt;

&lt;p&gt;Come hang out, leave me a 👍🏻 and a 💬, and subscribe to the channel so you'll get notifications when new episodes drop!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/lVXzmjRW37Y"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>programming</category>
      <category>buildinpublic</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Adventures of Blink S5e1: Kicking off the Build</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 05 Mar 2026 12:25:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e1-kicking-off-the-build-4lmg</link>
      <guid>https://forem.com/linkbenjamin/the-adventures-of-blink-s5e1-kicking-off-the-build-4lmg</guid>
      <description>&lt;p&gt;Hey friends, welcome to Season 5 of &lt;strong&gt;The Adventures of Blink&lt;/strong&gt;! Today we kick off the new season of Youtube videos with the setup work for a retro gaming build: We're writing Breakout in Python!&lt;/p&gt;

&lt;p&gt;Make sure to leave me a Like 👍🏻, a Comment 💬, and Subscribe to the channel.  It's free for you, but it helps me reach more people who can learn from our adventures together!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/EFJzkEHS57w"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>python</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Journal of a Half-Committed Vibe Coder</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 26 Feb 2026 12:15:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/journal-of-a-half-committed-vibe-coder-l3p</link>
      <guid>https://forem.com/linkbenjamin/journal-of-a-half-committed-vibe-coder-l3p</guid>
      <description>&lt;p&gt;As I'm prepping Season 5 of &lt;a href="https://www.youtube.com/@TheAdventuresOfBlink" rel="noopener noreferrer"&gt;The Adventures of Blink&lt;/a&gt;, I've been building the code for our Adventure ahead of time.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SIDE NOTE: Season 5 starts NEXT WEEK!!!! Episodes drop on Thursdays just like our Adventures here - make sure you come by &lt;a href="https://youtube.com/@TheAdventuresOfBlink" rel="noopener noreferrer"&gt;the Youtube channel&lt;/a&gt; and leave me a like, a comment, even just an emoji... and click subscribe.  It's free and it helps more people find our Adventures together!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the process of building our app, I've been using AI as a companion.  It's readily available, usually faster than me wading through the docs for whatever random thing I need to remember how to do, and, well, most of all... I'm curious about it.  There's tons upon tons of hype out there, and folks who've sold out to the idea that software engineers are going to be replaced next week.  Is it true?  One way to find out is to try it out and see... so the fact that I'm regularly building something for an education project is a really handy tool for experimentation.  (Ooh, we should talk sometime about the value of building in public and learning in this fashion...💡💡💡)&lt;/p&gt;

&lt;p&gt;Anyway... as I'm doing this, I thought I'd write down some things I learned from the process.  What follows are some observations from several weeks of coding work.&lt;/p&gt;

&lt;p&gt;You'll note that I call myself a "half-committed" Vibe Coder.  What I mean by this is that I'm not necessarily meeting the definition of VibeCoding - I don't just &lt;em&gt;yeet&lt;/em&gt; my requirements in there and tell the model to generate the code.  I'm working alongside it, writing as much code myself as I'm asking it to write, and using it for sounding board and exploration.&lt;/p&gt;

&lt;p&gt;Also, I do software work for a day job in addition to &lt;em&gt;The Adventures of Blink&lt;/em&gt;.  Some of my observations come from that work, too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watching a Bubble Pop In Real Time
&lt;/h2&gt;

&lt;p&gt;The longer I use it, the less I trust AI tooling to take on big things.  This is weird to me, because as I listen to the Hype Machine, &lt;em&gt;they're recommending the exact opposite approach&lt;/em&gt;.  "You need to give it &lt;strong&gt;more&lt;/strong&gt; freedom!  You need to write &lt;strong&gt;less&lt;/strong&gt; code yourself and get the bot to do more for you!" &lt;/p&gt;

&lt;p&gt;But literally every time I do this, it gets in over its head almost right away!  The project we're building for Season 5 is a game... so it has a couple basic patterns to consider:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The game Event Loop&lt;/li&gt;
&lt;li&gt;Screen painting logic&lt;/li&gt;
&lt;li&gt;Loading &amp;amp; Saving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's important to note that I'm not thoroughly designing every requirement and building a full project plan... because that's not usually how a hobbyist works.  We like to build some basics, get a couple things working, and then try to add features.  This isn't like a Waterfall shop where we have a couple of weeks of design phase to document every capability before anyone touches a keyboard.&lt;/p&gt;

&lt;p&gt;This brings me to my first point:&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Copilot will absolutely lead you down the Primrose Path
&lt;/h2&gt;

&lt;p&gt;When I said "I'm thinking about building a Breakout clone game"... the LLM started in the middle.  It began responding to the idea of building a Pygame-based application and constructed a main loop that initialized the game right in the window.&lt;/p&gt;

&lt;p&gt;I had to stop it and say, "Hey, wouldn't the game's user experience be better if we had a main menu before just dropping you into the game?"&lt;/p&gt;

&lt;p&gt;&lt;em&gt;record scratch&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqelvyb45x5v7p2r07qk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqelvyb45x5v7p2r07qk.png" alt="David Schwimmer screaming PIVOT on Friends" width="259" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It immediately built out the main menu code in our chat.  But then I had to stop it again, and point out that I had an empty project structure - how am I going to organize the code files?  Where will my art assets live?  What about the app's configuration file, so that I'm not hard-coding all my variables into it?  Automated tests?&lt;/p&gt;

&lt;p&gt;My point in all of this is that you can't eliminate the human developer from this conversation.  In its eagerness to please, AI completely bypasses the design thinking and decisions that make the project maintainable.  It doesn't stop to ask questions about the big picture, it &lt;em&gt;just builds&lt;/em&gt;...&lt;/p&gt;

&lt;p&gt;...Like a brand-new junior developer.&lt;/p&gt;

&lt;p&gt;Would you just turn a fresh-out-of-school new hire loose on your company's mission-critical applications with minimal guidance?  If not... why would you ever do it with an AI?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Token Consumption Loop
&lt;/h2&gt;

&lt;p&gt;I gave my copilot a task to build a function with a very simple calculation in it that I didn't feel like doing (fight me, Trigonometry class was 2 &lt;em&gt;decades&lt;/em&gt; ago 😏).  &lt;/p&gt;

&lt;p&gt;SIX ITERATIONS LATER, we have something that I'm still not completely happy with, but it's kinda functional.  My copilot and I have argued over how this works for a couple hours at this point, and I'd be embarrassed to find out how many tokens I burned on the problem.  I'm frustrated with it and at the point where I'm most likely going to pitch the whole thing out and rewrite from scratch.  My "time-saving" vibe-coding prompt has cost me more time than stopping to figure it out by hand.&lt;/p&gt;

&lt;p&gt;That wasn't a one-off situation, either; I've had the same experience &lt;em&gt;repeatedly&lt;/em&gt;.  &lt;/p&gt;

&lt;p&gt;Another observation I've had in this space is that when I ask it to do something, it... talks.  A LOT.  I can ask a question that should resolve to a one-liner, and it feels the need to explain the whole history of the process of getting that to a one-liner. Even when I ask it to be terse, it still tries to explain itself more.  &lt;/p&gt;

&lt;p&gt;In a world where tokens-per-invocation is highly monetized (and therefore, tightly controlled by budget), it's just not cost-effective... and even borderline suspicious.  If you're selling tokens, it certainly makes sense that you'd squeeze as many as you can out of every invocation...&lt;/p&gt;

&lt;h2&gt;
  
  
  Ensloppification
&lt;/h2&gt;

&lt;p&gt;At work, I picked up a story to do some refactoring on a 1,000-line python module. The signs of vibe-coding are there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One file, a thousand lines long.&lt;/li&gt;
&lt;li&gt;Three different classes declared in it.&lt;/li&gt;
&lt;li&gt;The core functionality in the module wasn't even part of any of the classes, it was just riding along in the file.&lt;/li&gt;
&lt;li&gt;No organization to the code - just a plate of 🍝 to try to trace my way through.&lt;/li&gt;
&lt;li&gt;Circular import logic.&lt;/li&gt;
&lt;li&gt;Minimal documentation / comments, and what was there didn't really explain anything.&lt;/li&gt;
&lt;li&gt;Files were opened and read and their content was never used before the variable was used to open a different file and read it in.&lt;/li&gt;
&lt;li&gt;Our static analysis tool had a stroke - one method scored 211 on the cognitive complexity calculator.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, it's important to realize:&lt;/p&gt;

&lt;p&gt;The code &lt;em&gt;works&lt;/em&gt;.  The outputs match the inputs.  If someone who's never done coding work before picked this up, they'd be excited by it (and that's kinda the story-- the business execs saw it run and were &lt;em&gt;thrilled&lt;/em&gt; with how fast we delivered).&lt;/p&gt;

&lt;p&gt;But this module is the first use case in what we anticipate will be a &lt;em&gt;family&lt;/em&gt; of use cases... each of which will need a customized version of this module that plugs into the overall application frame.&lt;/p&gt;

&lt;p&gt;In its current state, this code can't be an example to another developer of how to build your use case.&lt;/p&gt;

&lt;p&gt;Think about it: the new requirement comes in to build the second use case, and what's the developer going to do?  LOOK at the first one!  And he'll spend &lt;em&gt;days&lt;/em&gt; unraveling the spaghetti.&lt;/p&gt;

&lt;h2&gt;
  
  
  And now the arguers appear
&lt;/h2&gt;

&lt;p&gt;A lot of you reading this will probably want to correct me, to explain why I'm being unfair to our new AI overlords, why my opinions are invalid.&lt;/p&gt;

&lt;p&gt;That's totally cool.  We should be debating these kinds of things, and we should do it in a civil manner.  So here are some of the things I've already thought of as counterarguments to this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The "Junior Dev" Analogy is a Feature, Not a Bug&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Blink, you should be scaling up so you have a collection of a hundred Junior Devs doing your bidding, while you're the Architect!&lt;/p&gt;

&lt;p&gt;This feels compelling, and on the surface it seems like it should be empowering... but it doesn't reconcile with what we hear in the hype, does it?  I just refreshed my LinkedIn feed and the first 3 posts were people telling me how AI Agents have ended software engineering, we just don't know it yet... how the AI-pocalypse is upon us and our entire profession is on the chopping block.  So which is it?  Are we being empowered or destroyed?  Can't really be both.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The "Vibe Coding" vs. "Agentic Workflows" Gap&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Blink, you're just doing it wrong.  These problems exist because you aren't using &lt;code&gt;$SOME_FRAMEWORK&lt;/code&gt;, or &lt;code&gt;$SOME_MODEL&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I find it highly suspicious when anyone promises that I'll get all the benefits, as long as I just add this one other thing... because it becomes a perpetual "you need one more thing".  I feel the ick, like when a pyramid marketing scheme person comes after me.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"Ensloppification" is a Human Discipline Issue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Blink, you could actually &lt;em&gt;cure&lt;/em&gt; ensloppification with AI if you just prompt it to produce clean code...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtzj78vy7di40lpvezhc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtzj78vy7di40lpvezhc.png" alt="Tony Stark rolling eyes" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's the problem with this line of reasoning:  AI is being marketed as a way to make it possible for ANYONE to build an app.  And it's being used by ANYONE, regardless of their knowledge level, to build apps.&lt;/p&gt;

&lt;p&gt;You're not wrong: the human is absolutely responsible for the quality of their code.  &lt;em&gt;But many of them probably don't know that yet.&lt;/em&gt; And they're going to put things out into the world that &lt;em&gt;look like good apps&lt;/em&gt;... that &lt;em&gt;work&lt;/em&gt;... that might even &lt;em&gt;generate revenue&lt;/em&gt;... yet they're buggy and full of security holes and &lt;strong&gt;dangerous to use&lt;/strong&gt; but there's no way to tell them apart from well-engineered production-quality systems.&lt;/p&gt;

&lt;p&gt;We saw this just a couple weeks ago, when someone vibe-coded a platform that hit 1.5M users in 4 days.  And then 3 days after that, the entire production database was accessed and leaked - API keys, emails, private messages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Y'all.&lt;/strong&gt; We have enough trouble keeping the bad guys out in traditional software engineering, and this vibe-into-production model &lt;em&gt;is over here leaving the key in the doorknob&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I'm excited about new tech... it's a major reason why I'm in the field. What I'm not excited for is irresponsible uses of new tech. Our planet has enough problems already without us destroying the software that runs it.&lt;/p&gt;

&lt;p&gt;All I'm asking for is a little caution and thoughtfulness.  Is that too much?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>career</category>
      <category>development</category>
    </item>
    <item>
      <title>You Don't Need Anyone's Permission To Make Life Better: A Blink Fairy Tale</title>
      <dc:creator>Ben Link</dc:creator>
      <pubDate>Thu, 19 Feb 2026 12:30:00 +0000</pubDate>
      <link>https://forem.com/linkbenjamin/you-dont-need-anyones-permission-to-make-life-better-a-blink-fairy-tale-4293</link>
      <guid>https://forem.com/linkbenjamin/you-dont-need-anyones-permission-to-make-life-better-a-blink-fairy-tale-4293</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;REMINDER:&lt;/strong&gt; We're TWO weeks away from Season 5 on &lt;a href="https://www.youtube.com/@TheAdventuresOfBlink" rel="noopener noreferrer"&gt;The Adventures of Blink&lt;/a&gt; over on Youtube! If you haven't done it yet, stop by the channel and click subscribe so you'll get alerts when new episodes drop each week - I'd love for you to come on an adventure with me!  This season is going to hit you right in the nostalgia with a retro game build - just something fun to work on to keep those coding skills sharp!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once upon a Time, there was a magical kingdom that produced the best software known to all mankind.  When villagers requested things, their needs were fulfilled quickly and generously.  When things went wrong, the King's Guard (and often even the King himself) would come and set things right. Everyone lived in harmony.&lt;/p&gt;

&lt;p&gt;But the kingdom had grown to the point that it was no longer possible for the king to manage it on his own.&lt;/p&gt;

&lt;p&gt;He decided to appoint his two most senior noblemen, each of whom would administer half the kingdom on his behalf:  The Duke of Development and the Earl of Operations.  Unfortunately, these two noblemen were at odds with each other, and the king's meetings with the nobles were contentious and stressful.  In his desire to have a little peace and quiet, the king built a wall right down the middle of the castle - the western tower was for Development and the eastern tower was for Operations.  Now he could have some quiet... the two nobles couldn't interact any longer!&lt;/p&gt;

&lt;p&gt;Interestingly enough, the villagers weren't moved around at all.  When you left the castle, you'd find developer teams and operations teams living near each other and traveling freely through each other's lands.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Kingdom Was Very Serious About Rules, though
&lt;/h2&gt;

&lt;p&gt;When the castle was split, the king was adamant that the nobles would not encroach on each other's responsibilities, and he issued an edict titled "A Separation of Duties":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Duke was responsible for ALL Development; no one in Operations could do that.
&lt;/li&gt;
&lt;li&gt;The Earl was responsible for ALL Operations; no one in Development could do that.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The two sides began to bicker and argue &lt;em&gt;constantly&lt;/em&gt; over whether some specific task belonged to one side or the other... and &lt;strong&gt;&lt;em&gt;large&lt;/em&gt;&lt;/strong&gt; contractual agreements -- "Memoranda of Understanding", if you will -- were created to ensure that everyone in the realm KNEW unequivocally whose role any given task was.  &lt;em&gt;Entire Departments&lt;/em&gt; of the lesser nobility were ordered to manage all of these agreements and maintain them meticulously.&lt;/p&gt;

&lt;p&gt;Changing anything required extensive permissions and approvals from people who lived in faraway villages.  Entire &lt;em&gt;committees&lt;/em&gt; had to convene, bringing in nobles from across the whole realm, any time anything needed to get done.&lt;/p&gt;

&lt;p&gt;And if something went wrong, a special committee would gather to rewrite the rules "so this will never happen again".&lt;/p&gt;

&lt;p&gt;And... nothing got better.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The rules were meant to prevent mistakes, but they mostly just prevented improvement.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Subtlety That Was Destroying the Kingdom
&lt;/h2&gt;

&lt;p&gt;The King wasn't some evil fiend.  The Duke and Earl were well-meaning nobles.  Yet everything went wildly off the rails.  How did things become so argumentative?&lt;/p&gt;

&lt;h3&gt;
  
  
  The Process became a substitute for critical thinking.
&lt;/h3&gt;

&lt;p&gt;A common trap of designing large organizations is that we believe we can codify &lt;em&gt;everything&lt;/em&gt;.  "Write a manual that explains everything that happens in our Company, and then just use that." This seems logical enough on the surface, but as the philosopher 😏 &lt;a href="https://en.wikipedia.org/wiki/Mike_Tyson" rel="noopener noreferrer"&gt;Mike Tyson&lt;/a&gt; famously said, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Everybody has a plan until they get punched in the mouth."&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfhd52qi2f27s417yjeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfhd52qi2f27s417yjeb.png" alt="Mike Tyson's Punch-Out!" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our need to control every outcome will &lt;em&gt;always&lt;/em&gt; prove our undoing... because while you might be able to make your Process comprehensive, it will only succeed at &lt;em&gt;enforcing obedience&lt;/em&gt;.  Creativity, thinking on-the-fly, and making adjustments will be labeled negatively: first, as "out of Process", but then "noncompliant" or even "dangerous".&lt;/p&gt;

&lt;p&gt;The act of improving things will be reserved for a few... and that will be perceived as 'privilege' rather than 'responsibility'.  Don't you want everyone to feel &lt;em&gt;responsible&lt;/em&gt; to make things better???&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mysterious Traveler
&lt;/h2&gt;

&lt;p&gt;One day a traveler from a faraway land arrived at the gates of the realm.  He set up his shop in the market and became part of the community.  As a newcomer, he listened intently to the kingdom's rules - not that he had to do anything to hear them, as they were shouted from the parapets of the castle every day: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Follow the Process!"&lt;/li&gt;
&lt;li&gt;"Separate the Duties!"&lt;/li&gt;
&lt;li&gt;"That's Development Work! Send it to them!"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The voices were loud, and they were insistent.  But the Earldom of Operations was suffering: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Duke of Development was constantly making changes that no one in the other Duchy understood, and he was constantly pushing for changes to be made even faster and more frequently, beyond what anyone in Operations could do.  There were never enough villagers in Operations.&lt;/li&gt;
&lt;li&gt;Every time something broke, someone from an Operations village had to reach out for a senior nobleman from Development to come and assist.  That meant things were broken for a lot longer, since the travel time was long between the two villages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The traveler also heard that things weren't going well for the Duke of Development, either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"The Kingdom's Treasury will be empty unless we make this change by next week!"&lt;/li&gt;
&lt;li&gt;"Villagers are suffering; we can help them but things move too slowly through Operations!"&lt;/li&gt;
&lt;li&gt;"We have a way to alert the King's Guard to problems faster, but we can't make the change until next summer according to the Roadmap!"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Something in particular gnawed at the traveler, however: in all his visiting and interacting with both sides of the kingdom, he &lt;em&gt;never once&lt;/em&gt; heard anyone say, “You are forbidden from making this better.”&lt;/p&gt;

&lt;p&gt;The only thing holding either side back from success was the wall that ran through the castle.&lt;/p&gt;

&lt;h3&gt;
  
  
  The difference between permission denied and permission never requested
&lt;/h3&gt;

&lt;p&gt;The traveler, who had lived in both development and operations villages in other kingdoms, recognized that many of the problems faced in both villages could easily be solved by the other.  So he decided to do something about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The First Small, Unapproved Good Deed
&lt;/h2&gt;

&lt;p&gt;Late one night in his small house on the outskirts of the Operations village, he ran into someone who had been assigned a task.  The person was planning to be up all night, because that's how long this task usually took.  But this time, the traveler opened his Development toolbox and used the tools to solve it.&lt;/p&gt;

&lt;p&gt;It wasn't much - a tiny fix, a small script that automated the task.  It cut the time from hours down to seconds.  He gave his fix to the villager and disappeared into the night.&lt;/p&gt;

&lt;p&gt;The next night, he did it again - he wasn't rewriting all the Company's software, just connecting a couple of dots in a small, reversible, safe, and (most importantly) helpful manner.&lt;/p&gt;

&lt;p&gt;He wasn't holding meetings.  He didn't have a project on the Duke of Development's ledger.  Nobody was signing off on these small fixes.  Just empathy and skill, intersecting in an Operations village.&lt;/p&gt;

&lt;p&gt;Amazingly, the world... &lt;em&gt;didn't end&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Quiet Magic of Small Improvements
&lt;/h2&gt;

&lt;p&gt;Usually we refer to this kind of work as &lt;a href="https://dev.to/linkbenjamin/the-first-rule-of-shadow-tooling-3oki"&gt;"Shadow Development"&lt;/a&gt;... but maybe that's giving it too "spooky" a name.&lt;/p&gt;

&lt;p&gt;What if instead we decided to call this "stewardship"?  Or "empathy"?&lt;/p&gt;

&lt;p&gt;One small improvement makes another possible.  And then another.  And then another.  Pain decreases, confidence increases.&lt;/p&gt;

&lt;p&gt;Over time, we'll see others begin copying this behavior... just looking out for their brethren in Development and Operations... and even more interestingly, they're now treating &lt;em&gt;BOTH&lt;/em&gt; Development &lt;em&gt;AND&lt;/em&gt; Operations as brethren!&lt;/p&gt;

&lt;p&gt;"Shadow Tooling" conjures a mental image of "The Resistance"... "The Rebellion"... but nothing could be further from the reality.  When we engage in these kinds of improvements, we're trying to make it &lt;em&gt;better&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fate of the Traveler
&lt;/h2&gt;

&lt;p&gt;Gradually, the Operations village came to understand the Development village... and Development came to understand Operations.  Through small acts of kindness (and dare I say, love?) the villages partnered again, each bringing their individual skills and talents to bear solving problems for the other.&lt;/p&gt;

&lt;p&gt;At first, the Nobles didn't even know it happened.&lt;/p&gt;

&lt;p&gt;But eventually, the change in posture was so striking that everything came to light. All the rule-bending, all the work done in the shadows... everything.  &lt;/p&gt;

&lt;p&gt;Leadership didn’t reward the change. But they also didn’t punish it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Fairy Tale Is (And Is Not) Saying
&lt;/h2&gt;

&lt;p&gt;First, let me tell you what this is NOT:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Ignore security”&lt;/li&gt;
&lt;li&gt;“Break production”&lt;/li&gt;
&lt;li&gt;“Disrespect your teammates”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it IS, though:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Make small things better"&lt;/li&gt;
&lt;li&gt;"Reduce suffering where you stand"&lt;/li&gt;
&lt;li&gt;"Act within your competence"&lt;/li&gt;
&lt;li&gt;"Leave things better than you found them"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Note: The Cost of Waiting for Permission
&lt;/h2&gt;

&lt;p&gt;Collectively, we seem to think that "waiting for approvals" (waiting for permission) is a means of safety.  Let's think about what it means in reality, though:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broken systems stay broken&lt;/li&gt;
&lt;li&gt;People disengage as their attention span expires&lt;/li&gt;
&lt;li&gt;Good engineers become caretakers of misery&lt;/li&gt;
&lt;li&gt;Organizations confuse &lt;em&gt;compliance&lt;/em&gt; with &lt;em&gt;safety&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They get so caught up in &lt;strong&gt;following the rules&lt;/strong&gt; that they don't stop to think about &lt;strong&gt;whether the rules make sense&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Wrap-up
&lt;/h2&gt;

&lt;p&gt;You don’t need anyone’s permission to make life better.&lt;/p&gt;

&lt;p&gt;You just need to start small,&lt;br&gt;
act carefully,&lt;br&gt;
and care more about outcomes&lt;br&gt;
than appearances.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>developers</category>
      <category>devex</category>
      <category>devrel</category>
    </item>
  </channel>
</rss>
