<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mr. Stone</title>
    <description>The latest articles on DEV Community by Mr. Stone (@mr_stone).</description>
    <link>https://dev.to/mr_stone</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3102675%2F74fd563f-5569-46a6-9c91-5f655741df8d.png</url>
      <title>DEV Community: Mr. Stone</title>
      <link>https://dev.to/mr_stone</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mr_stone"/>
    <language>en</language>
    <item>
      <title>Stone.js: your app exists in every runtime, until you run it</title>
      <dc:creator>Mr. Stone</dc:creator>
      <pubDate>Wed, 22 Jul 2026 22:59:17 +0000</pubDate>
      <link>https://dev.to/mr_stone/stonejs-your-app-exists-in-every-runtime-until-you-run-it-2n8o</link>
      <guid>https://dev.to/mr_stone/stonejs-your-app-exists-in-every-runtime-until-you-run-it-2n8o</guid>
      <description>&lt;h2&gt;
  
  
  The rewrite tax
&lt;/h2&gt;

&lt;p&gt;Count the versions of your last real-world app. There is the Express or Nest version for the server. The handler you extracted and mangled for Lambda. The API routes you re-declared when the frontend moved to Next. And now someone is asking for an MCP server so agents can use it.&lt;/p&gt;

&lt;p&gt;Same domain logic. Four incarnations. Every framework you picked made you pay this tax, because every framework has a home runtime and your code belongs to it.&lt;/p&gt;

&lt;p&gt;Stone.js starts from the opposite premise: &lt;strong&gt;an application is not an object, it is an act&lt;/strong&gt;. &lt;code&gt;Application = Domain x Context&lt;/code&gt;. You write the domain once; the context (server, function, browser, agent) applies itself to your domain at runtime, not the other way around.&lt;/p&gt;

&lt;h2&gt;
  
  
  Show me
&lt;/h2&gt;

&lt;p&gt;A domain is just classes or functions. No base class, no framework import in your business logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Service&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@stone-js/core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;IncomingHttpEvent&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@stone-js/http-core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Post&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;EventHandler&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@stone-js/router&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Service&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tasks&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TaskService&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Task&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

  &lt;span class="nf"&gt;list &lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="nx"&gt;Task&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;items&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nf"&gt;add &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;Task&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="cm"&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;span class="nd"&gt;EventHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/tasks&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TaskController&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;TaskService&lt;/span&gt;
  &lt;span class="nf"&gt;constructor &lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;tasks&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;TaskService&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tasks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;tasks&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nf"&gt;list &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;IncomingHttpEvent&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;Task&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&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;p&gt;Where does it run? That is not the domain's problem. It is declared once, at the edge of the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;NodeHttp&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;       &lt;span class="c1"&gt;// a Node HTTP server&lt;/span&gt;
&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;AwsLambdaHttp&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;// an API Gateway handler&lt;/span&gt;
&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Routing&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;StoneApp&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tasks&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Application&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each decorator is an &lt;strong&gt;adapter&lt;/strong&gt;: it captures the platform's raw event (an &lt;code&gt;IncomingMessage&lt;/code&gt;, a Lambda payload), normalizes it into one &lt;code&gt;IncomingEvent&lt;/code&gt;, and turns your response back into whatever the platform expects. Your controller never learns which one ran. &lt;code&gt;stone run&lt;/code&gt; collapses the superposition into the target you deploy.&lt;/p&gt;

&lt;p&gt;Adapters today: Node HTTP, AWS Lambda, Azure Functions, GCP Cloud Functions, Tencent SCF, Alibaba FC, edge/fetch runtimes, browser, CLI, WebSockets. One domain, any of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Allergic to decorators? Same parity, no decorators
&lt;/h2&gt;

&lt;p&gt;Every single feature exists in two first-class forms, decorators or plain functions. Not a fallback, a parity contract:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;defineEventHandler&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;defineRoutes&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@stone-js/router&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;TaskController&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;tasks&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="na"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;routes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;defineRoutes&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;defineEventHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;TaskController&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;list&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/tasks&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&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;p&gt;The decorators are TC39 2023-11 stage 3 (&lt;code&gt;Symbol.metadata&lt;/code&gt;), not &lt;code&gt;experimentalDecorators&lt;/code&gt;, and there is no reflect-metadata anywhere. ESM only.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your domain, observable by machines
&lt;/h2&gt;

&lt;p&gt;Your app can expose itself to AI agents. In development, &lt;code&gt;stone mcp&lt;/code&gt; starts an MCP server that lets your coding agent introspect the app it is working on (routes, services, blueprint, framework knowledge). And the same adapter mechanism that serves HTTP can serve your domain to agents as tools. The fourth rewrite is the one you skip.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it real?
&lt;/h2&gt;

&lt;p&gt;Numbers you can verify, not adjectives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;40+ packages under &lt;code&gt;@stone-js/*&lt;/code&gt; (MIT), a micro-kernel that depends on exactly 3 of them&lt;/li&gt;
&lt;li&gt;99% test coverage, enforced per package; public quality gate on SonarCloud&lt;/li&gt;
&lt;li&gt;Zero known dependency vulnerabilities&lt;/li&gt;
&lt;li&gt;118 documentation pages, a generated API reference, 14 starters&lt;/li&gt;
&lt;li&gt;The docs site is itself a Stone.js app (SSG mode), dogfooding included&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What beta means here
&lt;/h2&gt;

&lt;p&gt;The API is settled enough that I document both paradigms for everything, and unstable enough that your feedback can still bend it. That is exactly the window where trying a framework is the most fun.&lt;/p&gt;

&lt;p&gt;I am looking for a dozen pilots: developers, architects, QA. Build something small, break it, tell me everything that hurts. You get direct access to me and founding-tester credit.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start here: &lt;a href="https://stonejs.dev" rel="noopener noreferrer"&gt;https://stonejs.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://stonejs.dev/docs" rel="noopener noreferrer"&gt;https://stonejs.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/stone-foundation/stone-js-framework" rel="noopener noreferrer"&gt;https://github.com/stone-foundation/stone-js-framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Feedback: GitHub Discussions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your app exists in every runtime. Until you run it.&lt;/p&gt;

&lt;p&gt;Happy Entanglement. 😎&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>serverless</category>
    </item>
    <item>
      <title>Cloud-native or cloud-naive ?</title>
      <dc:creator>Mr. Stone</dc:creator>
      <pubDate>Tue, 06 May 2025 18:50:57 +0000</pubDate>
      <link>https://dev.to/mr_stone/cloud-native-or-cloud-naive--43fi</link>
      <guid>https://dev.to/mr_stone/cloud-native-or-cloud-naive--43fi</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95" class="crayons-story__hidden-navigation-link"&gt;Cloud-Native: Are You Paying for What You Use… or for What You Provision?&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mr_stone" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3102675%2F74fd563f-5569-46a6-9c91-5f655741df8d.png" alt="mr_stone profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mr_stone" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Mr. Stone
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Mr. Stone
                
              
              &lt;div id="story-author-preview-content-2459829" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mr_stone" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3102675%2F74fd563f-5569-46a6-9c91-5f655741df8d.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Mr. Stone&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 6 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95" id="article-link-2459829"&gt;
          Cloud-Native: Are You Paying for What You Use… or for What You Provision?
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudnative"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudnative&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/finops"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;finops&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/architecture"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;architecture&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/microservices"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;microservices&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>cloudnative</category>
      <category>finops</category>
      <category>architecture</category>
      <category>microservices</category>
    </item>
    <item>
      <title>Cloud-Native: Are You Paying for What You Use… or for What You Provision?</title>
      <dc:creator>Mr. Stone</dc:creator>
      <pubDate>Tue, 06 May 2025 18:49:27 +0000</pubDate>
      <link>https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95</link>
      <guid>https://dev.to/mr_stone/cloud-native-are-you-paying-for-what-you-use-or-for-what-you-provision-4k95</guid>
      <description>&lt;p&gt;Everyone’s in the cloud.&lt;/p&gt;

&lt;p&gt;Stacks have migrated. Infrastructure is containerized. CI/CD pipelines are green.&lt;/p&gt;

&lt;p&gt;But behind the wave of “cloudification”, one question lingers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have we really changed the way we think?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because on the surface, everything looks modern. But underneath?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ Services running 24/7
&lt;/li&gt;
&lt;li&gt;💤 Containers sitting idle, waiting for traffic that never comes
&lt;/li&gt;
&lt;li&gt;💸 Bills growing, even when no one clicks “deploy”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And in every retro, every finance meeting, the same old line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“The cloud is expensive.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But is it really the cloud that’s expensive?&lt;br&gt;&lt;br&gt;
Or is it…  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The quiet luxury of feeding CPUs that are just bored?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Cloud-Native is a Mindset, Not a Tech Stack
&lt;/h2&gt;

&lt;p&gt;Let’s be honest.&lt;/p&gt;

&lt;p&gt;Cloud-native isn’t Docker. It’s not Kubernetes. It’s not Terraform, or some magic mix of YAML, containers, and CI/CD.&lt;/p&gt;

&lt;p&gt;Those are tools. Powerful ones. But tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud-native is a mental shift.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It’s about aligning your architecture with &lt;em&gt;reality&lt;/em&gt;, not just with best practices.&lt;/p&gt;

&lt;p&gt;It means building systems that respond to demand, not to fear, habits, or legacy reflexes.&lt;/p&gt;

&lt;p&gt;In a truly cloud-native system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nothing spins unless someone &lt;em&gt;needs&lt;/em&gt; it
&lt;/li&gt;
&lt;li&gt;The context triggers the system, not a clock
&lt;/li&gt;
&lt;li&gt;You don’t run “just in case”, you run with intention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s the difference between moving fast… and just moving your old thinking into someone else’s datacenter.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Overprovisioning" Paradox
&lt;/h2&gt;

&lt;p&gt;We’ve all heard it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“In the cloud, you only pay for what you use.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Except… that’s not how most systems are built.&lt;/p&gt;

&lt;p&gt;In reality?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Containers run 24/7, even when no one is using them
&lt;/li&gt;
&lt;li&gt;Functions are deployed, but never invoked
&lt;/li&gt;
&lt;li&gt;Databases sit there "just in case"
&lt;/li&gt;
&lt;li&gt;Logs accumulate endlessly, never queried, never archived&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ask yourself:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is that usage?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Or is it just a modern form of invisible technical debt?&lt;/p&gt;

&lt;p&gt;The real problem isn’t the cloud. It’s how much we cling to our comfort zone, by provisioning for fears instead of designing for reality.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We don’t measure.
&lt;/li&gt;
&lt;li&gt;We don’t turn things off.
&lt;/li&gt;
&lt;li&gt;We just leave everything on… “just to be safe.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Meanwhile, the meter runs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Microservices ≠ Files: They're Units of Value
&lt;/h2&gt;

&lt;p&gt;Somewhere along the way, “microservice” became synonymous with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;its own Git repo,
&lt;/li&gt;
&lt;li&gt;its own Dockerfile,
&lt;/li&gt;
&lt;li&gt;its own CI pipeline,
&lt;/li&gt;
&lt;li&gt;and… its own siloed confusion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But that’s not what a microservice &lt;em&gt;is&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A microservice is not a file structure. It’s not a DevOps checklist.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A microservice is a &lt;strong&gt;unit of responsibility&lt;/strong&gt; that delivers &lt;strong&gt;clear value&lt;/strong&gt; to a real actor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It knows what it does.
&lt;/li&gt;
&lt;li&gt;It aligns with a specific domain concept.
&lt;/li&gt;
&lt;li&gt;It evolves independently &lt;em&gt;because&lt;/em&gt; it has a distinct purpose.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Domain-Driven Design, we’d call that a &lt;strong&gt;bounded context&lt;/strong&gt;:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A functional boundary, aligned with business reality, not just code structure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When we break systems apart without that clarity, we don’t gain agility, we multiply complexity.&lt;/p&gt;

&lt;p&gt;We don’t build autonomy, we scatter responsibilities.&lt;/p&gt;

&lt;p&gt;Cloud-native thinking isn’t about &lt;em&gt;more microservices&lt;/em&gt;. It’s about &lt;strong&gt;just enough&lt;/strong&gt;, &lt;strong&gt;well-aligned&lt;/strong&gt;, and &lt;strong&gt;coherent&lt;/strong&gt; responsibilities.&lt;/p&gt;

&lt;p&gt;Because architecture isn’t about splitting things up. It’s about making sense of how they come together.&lt;/p&gt;

&lt;h2&gt;
  
  
  FinOps Is Not a Dashboard
&lt;/h2&gt;

&lt;p&gt;FinOps isn't a spreadsheet.&lt;br&gt;&lt;br&gt;
It’s not a quarterly report from the finance team.&lt;br&gt;&lt;br&gt;
It’s not a postmortem when the cloud bill explodes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;FinOps is an &lt;strong&gt;architectural responsibility&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It starts &lt;strong&gt;at design time&lt;/strong&gt;, not at invoice time.&lt;/p&gt;

&lt;p&gt;In a truly cloud-native system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Observability is built-in&lt;/strong&gt;, you measure before you guess
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resources are intentional&lt;/strong&gt;, you spin only what brings value
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waste is visible&lt;/strong&gt;, and temporary, not permanent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don’t leave zombie services alive “just in case.”&lt;br&gt;&lt;br&gt;
You don’t accumulate logs and metrics you'll never read.&lt;br&gt;&lt;br&gt;
You don't ignore your own cost structure because “S3 is cheap.”&lt;/p&gt;

&lt;p&gt;Every byte stored, every container idling, every unused feature?&lt;br&gt;&lt;br&gt;
That’s not neutral.&lt;br&gt;&lt;br&gt;
That’s a &lt;strong&gt;real architectural debt, with a running tab.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Being cloud-native means thinking cost the same way you think latency, UX, or security:&lt;br&gt;&lt;br&gt;
→ &lt;strong&gt;As a design constraint.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
→ &lt;strong&gt;As a quality signal.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
→ &lt;strong&gt;As a source of clarity.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts: The Architecture That Thinks
&lt;/h2&gt;

&lt;p&gt;An application only exists when it’s alive.&lt;br&gt;&lt;br&gt;
When it’s responding to a real demand.&lt;br&gt;&lt;br&gt;
When it has a purpose, and a pulse.&lt;/p&gt;

&lt;p&gt;Yet so many systems are designed to &lt;em&gt;exist&lt;/em&gt;, not to &lt;em&gt;respond&lt;/em&gt;. 😄&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They’re “always on.”
&lt;/li&gt;
&lt;li&gt;They’re provisioned in advance.
&lt;/li&gt;
&lt;li&gt;They consume power without context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But what if we built systems differently?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Systems that activate when the user calls
&lt;/li&gt;
&lt;li&gt;Systems that rest when they’re not needed
&lt;/li&gt;
&lt;li&gt;Systems that adapt based on actual usage, not hopeful guesses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s not magic. That’s not just serverless.&lt;/p&gt;

&lt;p&gt;That’s what it means to &lt;strong&gt;design for context&lt;/strong&gt;, to make your architecture aware of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;its environment&lt;/strong&gt;,
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;its triggers&lt;/strong&gt;,
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;its lifecycle&lt;/strong&gt;,
&lt;/li&gt;
&lt;li&gt;and &lt;strong&gt;its real value&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because in the end:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The cloud charges you for what you consume.&lt;br&gt;&lt;br&gt;
But only &lt;em&gt;you&lt;/em&gt; can decide what’s worth consuming.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Let’s Talk 👇
&lt;/h2&gt;

&lt;p&gt;Have you ever caught yourself "overprovisioning" &lt;em&gt;just to feel safe&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;Have you worked on a system that &lt;em&gt;looked&lt;/em&gt; modern… but under the hood, felt like legacy in a new wrapper?&lt;/p&gt;

&lt;p&gt;What trade-offs did you make?&lt;br&gt;&lt;br&gt;
What worked, or didn’t?&lt;/p&gt;

&lt;p&gt;I’d love to hear from engineers, architects, SREs, and cloud teams: How cloud-native is your stack, &lt;em&gt;really&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;Let’s compare notes. Let’s be honest.&lt;br&gt;&lt;br&gt;
The most valuable insights usually come from those weird edge cases we don’t put on slides.&lt;/p&gt;

</description>
      <category>cloudnative</category>
      <category>finops</category>
      <category>architecture</category>
      <category>microservices</category>
    </item>
    <item>
      <title>Coding is execution. Thinking is creation.</title>
      <dc:creator>Mr. Stone</dc:creator>
      <pubDate>Tue, 29 Apr 2025 05:19:07 +0000</pubDate>
      <link>https://dev.to/mr_stone/coding-is-execution-thinking-is-creation-28g9</link>
      <guid>https://dev.to/mr_stone/coding-is-execution-thinking-is-creation-28g9</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk" class="crayons-story__hidden-navigation-link"&gt;Coding faster is not building better: A reflection for developers in the AI era&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mr_stone" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3102675%2F74fd563f-5569-46a6-9c91-5f655741df8d.png" alt="mr_stone profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mr_stone" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Mr. Stone
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Mr. Stone
                
              
              &lt;div id="story-author-preview-content-2443873" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mr_stone" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3102675%2F74fd563f-5569-46a6-9c91-5f655741df8d.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Mr. Stone&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 29 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk" id="article-link-2443873"&gt;
          Coding faster is not building better: A reflection for developers in the AI era
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/softwaredevelopment"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;softwaredevelopment&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/futureofwork"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;futureofwork&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/developers"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;developers&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;29&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              22&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>futureofwork</category>
      <category>developers</category>
    </item>
    <item>
      <title>Coding faster is not building better: A reflection for developers in the AI era</title>
      <dc:creator>Mr. Stone</dc:creator>
      <pubDate>Tue, 29 Apr 2025 01:40:39 +0000</pubDate>
      <link>https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk</link>
      <guid>https://dev.to/mr_stone/coding-faster-is-not-building-better-a-reflection-for-developers-in-the-ai-era-34fk</guid>
      <description>&lt;p&gt;The rise of AI coding assistants like Claude, GitHub Copilot and ChatGPT has transformed the way we produce code.&lt;br&gt;
What once took hours can now be generated in seconds.&lt;/p&gt;

&lt;p&gt;This incredible acceleration raises an important question:&lt;br&gt;
&lt;strong&gt;Does generating code faster really mean we're building better solutions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Writing code has always been an act of execution.&lt;br&gt;
But real development goes far beyond producing lines of syntax.&lt;/p&gt;

&lt;p&gt;It’s about understanding the domain, anticipating the needs, structuring the context, designing for evolution and change.&lt;/p&gt;

&lt;p&gt;AI can assemble code snippets.&lt;br&gt;
AI can replicate existing patterns.&lt;br&gt;
But AI does not yet &lt;strong&gt;think&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It does not understand the causal link between a business need, a user expectation, and a software system designed to meet them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers who focus only on code production will be outpaced.&lt;br&gt;
Developers who can think, structure, and contextualize will stay essential.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the AI era, true software craftsmanship is not about typing faster.&lt;br&gt;
It's about &lt;strong&gt;thinking deeper.&lt;/strong&gt;&lt;br&gt;
As AI accelerates code generation, our true value as developers must evolve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think before you code.&lt;/li&gt;
&lt;li&gt;Design before you execute.&lt;/li&gt;
&lt;li&gt;Understand before you automate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the future, the real question won't be how fast you can ship code,&lt;br&gt;
&lt;strong&gt;but how well you understand what you are building&lt;/strong&gt; — and why?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>futureofwork</category>
      <category>developers</category>
    </item>
  </channel>
</rss>
