<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Cloud Engineers]]></title><description><![CDATA[Every Wednesday, I share practical AWS projects, real-world cloud lessons, and actionable career strategies to help you land a $200K Cloud Engineer or Cloud Architect role.]]></description><link>https://blog.thecloudengineers.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Ka2m!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6f36c3-e29e-40f9-ab14-7fc0e81d82d9_759x759.png</url><title>The Cloud Engineers</title><link>https://blog.thecloudengineers.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 29 Oct 2026 05:05:37 GMT</lastBuildDate><atom:link href="https://blog.thecloudengineers.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Lefteris Karageorgiou]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thecloudengineers@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thecloudengineers@substack.com]]></itunes:email><itunes:name><![CDATA[Lefteris Karageorgiou]]></itunes:name></itunes:owner><itunes:author><![CDATA[Lefteris Karageorgiou]]></itunes:author><googleplay:owner><![CDATA[thecloudengineers@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thecloudengineers@substack.com]]></googleplay:email><googleplay:author><![CDATA[Lefteris Karageorgiou]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The 4 Skills That Can Make or Break Your Cloud Interview]]></title><description><![CDATA[What I&#8217;ve learned from conducting hundreds of interviews at AWS and what hiring managers really want to see.]]></description><link>https://blog.thecloudengineers.com/p/the-4-skills-that-can-make-or-break</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/the-4-skills-that-can-make-or-break</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 28 Oct 2026 10:31:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d7615628-a4a8-4a02-8967-a7ee53fef8a7_1733x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi Cloud fans &#128075;</p><p>I&#8217;ve conducted <strong>hundreds of interviews at AWS</strong>, so I know firsthand what companies look for when hiring Cloud Engineers and Cloud Architects.</p><p>In this article, I&#8217;ll break down the <strong>4 key skills you need to focus on</strong> to stand out and succeed in your next Cloud interview.</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/the-4-skills-that-can-make-or-break">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Lambda Web Functions: Is AWS Finally Making Lambda Web-Native?]]></title><description><![CDATA[How AWS is changing the way we build and run web applications on Lambda.]]></description><link>https://blog.thecloudengineers.com/p/lambda-web-functions-is-aws-finally</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/lambda-web-functions-is-aws-finally</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 21 Oct 2026 09:30:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9813f07e-8530-4803-8e3d-cae27556d0cf_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On October 12, 2026, AWS announced <strong><a href="https://aws.amazon.com/about-aws/whats-new/2026/10/aws-lambda-web-functions/">Lambda Web Functions</a></strong>, and it could be one of the more interesting changes to the Lambda programming model in years.</p><p>The idea is simple: instead of forcing a web application into the traditional Lambda handler model, you can now run a <strong>standard Node.js HTTP server directly on Lambda</strong>. Express, Hono, Fastify, and other frameworks can run without Lambda-specific adapters or wrappers.</p><p>For web developers, that distinction matters.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Cloud Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Traditional Lambda vs. Web Functions</h2><p>Traditional Lambda functions, now referred to as <strong>Lambda Event Functions</strong>, are fundamentally event-driven. AWS invokes your handler with an event, your code processes it, and the invocation finishes.</p><p>That model is excellent for workloads such as S3 events, SQS consumers, EventBridge automation, scheduled jobs, and asynchronous processing.</p><p>But building a traditional web application on Lambda often means adapting your application to that execution model.</p><p><strong>Lambda Web Functions flip the model around.</strong></p><p>Your application behaves like a normal web server: it listens on a port and handles HTTP requests. Lambda manages the infrastructure underneath it.</p><p>The other major difference is <strong>concurrency</strong>. Traditional Lambda execution is centered around individual invocations, while a Web Function execution environment can handle multiple HTTP requests concurrently. AWS says an environment can handle up to 128 concurrent requests, depending on workload and configuration.</p><p>That has an important consequence: a warm environment can serve many requests instead of requiring a separate execution environment for every request.</p><h2>The billing model is different too</h2><p>Traditional Lambda uses wall-clock execution time for billing.</p><p>Web Functions introduce <strong>active CPU billing</strong>. If your application is waiting on a database query or downstream API, it isn&#8217;t consuming CPU at the same rate, so you&#8217;re not paying for that waiting time as active CPU. Memory, requests, and data transfer are still billed.</p><p>For I/O-heavy APIs, this could make the economics particularly interesting.</p><h2>Where Web Functions fit</h2><p>This isn&#8217;t a replacement for traditional Lambda. It&#8217;s another tool in the serverless toolbox.</p><p>Use <strong>Event Functions</strong> when your workload is fundamentally event-driven.</p><p>Use <strong>Web Functions</strong> when you&#8217;re building HTTP-native workloads: REST or GraphQL APIs, server-side rendered applications, microservices, streaming endpoints, and AI inference APIs. Web Functions also support native HTTP streaming and can scale down to zero.</p><p>There&#8217;s another intriguing feature: <strong>multi-Region deployment</strong>. AWS can replicate a Web Function across selected Regions and use latency-based routing to send users to the closest deployment.</p><h3>The Bigger Picture</h3><p>For years, serverless developers have had to choose between the simplicity of Lambda and the programming model of a traditional web server.</p><p>Lambda Web Functions blur that boundary.</p><p>You get the familiar Node.js server model, but without managing servers, load balancers, or scaling infrastructure. For teams already building modern JavaScript applications, that could make Lambda considerably more attractive.</p><p>The key question now isn&#8217;t <em>&#8220;Can I run my web app on Lambda?&#8221; </em>It&#8217;s <strong>&#8220;Why wouldn&#8217;t I?&#8221;</strong></p><p>To see Lambda Web Functions in action, see the <a href="https://aws.amazon.com/blogs/aws/announcing-aws-lambda-web-functions-for-fast-consistent-web-app-performance-anywhere/">AWS News Blog announcement</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Cloud Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[10 Most Common Cloud Interview Questions (and How to Answer Them)]]></title><description><![CDATA[10 questions that can help you stand out in your next Cloud interview.]]></description><link>https://blog.thecloudengineers.com/p/10-most-common-cloud-interview-questions</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/10-most-common-cloud-interview-questions</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 14 Oct 2026 09:30:58 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5811e8d4-b4ae-4de9-91ea-2c1354213e7b_1733x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a <strong>Solutions Architect at AWS</strong>, I conduct many technical interviews every week, and I see the same pattern repeatedly: strong candidates rarely succeed because they can simply memorize cloud service definitions. They succeed because they can <strong>reason about real systems</strong>.</p><p>Whether you are interviewing for a <strong>Cloud Engineer, Solutions Architect, DevOps Engineer, Software Engineer, Cloud Architect, or Site Reliability Engineer</strong> role, interviewers want to understand whether you can reason about real systems.</p><p>They want to know whether you understand how cloud services fit together, how architectural decisions affect <strong>reliability, scalability, security, and cost</strong>, and what you would actually do when something breaks at 2 a.m.</p><p>That is why the strongest interview answers usually follow a simple pattern:</p><p><strong>Explain the concept. Explain why it matters. Give a practical example. Mention the trade-off.</strong></p><p>Based on the interviews I conduct every week, here are <strong>10 cloud interview questions that come up frequently</strong>, a&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/10-most-common-cloud-interview-questions">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AWS Lambda Functions vs MicroVMs: Which One Should You Use?]]></title><description><![CDATA[Same Firecracker engine underneath, two very different ways to build on it]]></description><link>https://blog.thecloudengineers.com/p/aws-lambda-functions-vs-microvms</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/aws-lambda-functions-vs-microvms</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 07 Oct 2026 09:31:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4792acd2-4cda-4a07-9f68-01936aca88cc_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For more than ten years, AWS Lambda has meant one thing to most of us: write a handler, attach a trigger, and let AWS take care of everything else. In July 2026, AWS launched <strong>Lambda MicroVMs</strong>, and &#8220;Lambda&#8221; now covers a second, quite different kind of compute.</p><p>So if you&#8217;re designing a new workload today, you&#8217;ll probably ask yourself: <em>should this be a Lambda function or a MicroVM?</em> In this post I&#8217;ll cover how each one works, where they differ, and a simple way to choose between them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Shared Foundation: Firecracker</h2><p>The two services have more in common than you might expect. Every Lambda function invocation already runs inside a <strong>Firecracker microVM</strong>. That&#8217;s the lightweight virtualization technology AWS open-sourced, and it gives you hardware-level isolation with very fast startup. Lambda SnapStart then used Firecracker&#8217;s snapshotting to restore pre-initialized environments instead of booting &#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/aws-lambda-functions-vs-microvms">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[I Built a Serverless Project with the Agent Toolkit for AWS in Minutes]]></title><description><![CDATA[A hands-on look at how the Agent Toolkit for AWS helped me build and deploy a serverless API.]]></description><link>https://blog.thecloudengineers.com/p/i-built-a-serverless-project-with</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/i-built-a-serverless-project-with</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 30 Sep 2026 09:30:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/db45b85a-6b6e-4597-87a3-b30b3ed92f6e_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve all been there. You start a coding agent, ask it to build a serverless API on AWS, and it confidently picks a deprecated Lambda runtime, comes up with an IAM policy that either doesn&#8217;t work or gives away too much access, and then spends the next few minutes retrying API calls that changed months ago.</p><p>The agent is fast, but if it doesn&#8217;t have the right information, it&#8217;s still guessing. And when you&#8217;re working with AWS infrastructure, those guesses can get expensive.</p><p>I ran into this recently while working with the <a href="https://aws.amazon.com/products/developer-tools/agent-toolkit-for-aws/">Agent Toolkit for AWS</a>. It gives coding agents access to current AWS documentation, predefined workflows, and controls around how they interact with AWS.</p><p>In this post, I&#8217;ll explain what the toolkit does, how the different pieces fit together, and how I used it to build a small serverless project in a few minutes.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why Your Agent Needs a Toolkit</h2><p>Most coding agents can create the b&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/i-built-a-serverless-project-with">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Day in the Life of a Solutions Architect at AWS]]></title><description><![CDATA[My personal experience after 4 years working as a Solutions Architect at AWS.]]></description><link>https://blog.thecloudengineers.com/p/a-day-in-the-life-of-a-solutions</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/a-day-in-the-life-of-a-solutions</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 23 Sep 2026 09:31:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fba540a8-9e42-4b8d-9c99-00bda388a7dc_1733x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When people hear &#8220;Solutions Architect at AWS,&#8221; they often picture someone hunched over a whiteboard drawing boxes and arrows all day. There&#8217;s some truth to that, but the reality is far more varied, more human, and honestly more interesting than the job title suggests. After 4 years in this role, I&#8217;ve come to see it less as &#8220;the person who designs cloud architectures&#8221; and more as a translator, a coach, and a trusted advisor who happens to speak fluent cloud.</p><p>In this article, I&#8217;ll walk you through what the Solutions Architect role at AWS actually looks like.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gl8B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gl8B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gl8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284268,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/216152879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gl8B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gl8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48d339a-bbe1-412c-9d31-fe64ca7733da_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Starting my first day at AWS as a Solutions Architect felt surreal. It was truly a dream come true!</figcaption></figure></div><h2>1. The Majority of Time Is With Customers</h2><p>The single biggest thing to understand is that most of my time is spent with customers. Not designing in isolation, but in the room (or on the call) with the people who actually run the business. That means nurturing relationships across the whole spectrum: <strong>earning the trust of C-level executives</strong> who care about outcomes, cost, and risk, and <strong>building deep credibility with the technical teams</strong> who will live with whatever we design.</p><p>A lot of that work is deceptively simple: asking the right questions. It&#8217;s tempting, especially early on, to hear &#8220;we want to build a data lake&#8221; and immediately start sketching S3 buckets and Glue jobs. But the good SAs slow down and ask <em>why</em>. What business outcome are they chasing? What does success look like in six months? What&#8217;s the team&#8217;s actual skill level? Everything a Solutions Architect does <strong>starts and ends with the customer&#8217;s problem</strong>. AWS has this deeply ingrained principle of <strong>&#8220;working backwards&#8221;</strong> from the customer, and as an SA you live it every single day.</p><p>From there, the days fill up with the fun stuff: sketching architectures on the whiteboard, putting together demos, spinning up proofs of concept to de-risk a big decision, and running workshops to level up a customer&#8217;s team. One morning I might be helping a fintech startup process payments at scale without falling over on Black Friday; that same afternoon I could be walking a CTO through a multi-year migration strategy. <strong>No two days look the same.</strong></p><p>Travel is a real part of the mix, too. Meeting customers where they are has taken me to London, Munich, Berlin, Barcelona, Amsterdam, Latvia, Las Vegas, Seattle, and plenty of places in between. There&#8217;s a lot you can accomplish over a video call, but <strong>nothing replaces sitting across a table from a team</strong>, sketching on their whiteboard, and building the kind of trust that only happens face to face.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fwat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fwat!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 424w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 848w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 1272w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fwat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png" width="1456" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4294455,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/216152879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fwat!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 424w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 848w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 1272w, https://substackcdn.com/image/fetch/$s_!Fwat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2ede0b3-9ccd-479b-9156-9db6b6dddc02_1956x1466.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I won this award in recognition of my contributions to helping customers build innovative solutions at AWS.</figcaption></figure></div>
      <p>
          <a href="https://blog.thecloudengineers.com/p/a-day-in-the-life-of-a-solutions">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Circuit Breaker Pattern with AWS Step Functions]]></title><description><![CDATA[A practical guide to implementing the circuit breaker pattern with AWS Step Functions.]]></description><link>https://blog.thecloudengineers.com/p/the-circuit-breaker-pattern-with</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/the-circuit-breaker-pattern-with</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 16 Sep 2026 09:31:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8fc3f527-0504-4e2d-bc37-dd37729b4297_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When you build serverless applications on AWS, your workflows rarely live in isolation. They call payment gateways, query third-party APIs, hit databases, and depend on downstream services you don&#8217;t control. And here&#8217;s the uncomfortable truth: sooner or later, one of those dependencies will fail. The real question isn&#8217;t <em>if</em> but it&#8217;s whether your architecture fails gracefully or takes everything down with it.</p><p>That&#8217;s where the circuit breaker pattern comes in. Let me break down what it is, why it matters, and how you can implement it elegantly with AWS Step Functions.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Is a Circuit Breaker, Really?</h2><p>Think of a circuit breaker in your home&#8217;s electrical panel. When there&#8217;s a surge, it trips and cuts the power to protect your appliances from frying. Once things are safe again, you flip it back on. The software version works exactly the same way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bGZ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bGZ0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 424w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 848w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 1272w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bGZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png" width="1456" height="595" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:595,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108836,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/215644630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bGZ0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 424w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 848w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 1272w, https://substackcdn.com/image/fetch/$s_!bGZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b240f23-f5c8-4d89-b148-f9544b69f8d9_2215x905.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When a downstream service starts failing, a soft&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/the-circuit-breaker-pattern-with">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Building a Multi-Step App with Lambda Durable Functions]]></title><description><![CDATA[A hands-on guide to building a resilient customer onboarding workflow with AWS Lambda durable functions.]]></description><link>https://blog.thecloudengineers.com/p/building-a-multi-step-app-with-lambda</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/building-a-multi-step-app-with-lambda</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 09 Sep 2026 09:31:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8acd13e6-d2f4-4f29-8b87-df06d6056678_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Building multi-step applications on AWS has always required careful thought around state management, error handling, and coordination between services. If you&#8217;ve built workflows before, you know the drill. You end up writing retry logic, checkpointing progress in DynamoDB, guarding against duplicate executions, and managing infrastructure that has nothing to do with your actual business logic.</p><p>AWS Lambda durable functions change that. Launched at re:Invent 2025, durable functions extend the familiar Lambda programming model with built-in capabilities to checkpoint progress, automatically recover from failures, and suspend execution for up to one year, all without incurring compute charges during waits.</p><p>In this post, I&#8217;ll walk you through building a real multi-step application using Lambda durable functions. We&#8217;ll build a <strong>customer onboarding workflow</strong> that validates user data, sends a verification email, waits for the user to confirm, and then provisions their account. By the end, you&#8217;ll &#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/building-a-multi-step-app-with-lambda">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Top 5 AI Coding Assistants for Building Cloud Projects]]></title><description><![CDATA[Choose one tool and it will turn you from a solo developer into an engineering team.]]></description><link>https://blog.thecloudengineers.com/p/top-5-ai-coding-assistants-for-building</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/top-5-ai-coding-assistants-for-building</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 02 Sep 2026 09:30:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/582796c0-20b9-429e-8a13-2ee82247bfcf_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The Shift You Can&#8217;t Ignore</h2><p>A year ago, AI coding assistants were autocomplete on steroids. You&#8217;d type a function signature, and the tool would guess the body. Useful but fundamentally passive.</p><p>That era is over.</p><p>The tools available today are <strong>agents</strong>. They don&#8217;t wait for you to type. They read your project, reason about what needs to happen, make a plan, write the code, run the tests, fix the failures, and come back with a working result. Some of them do this in cloud sandboxes while you&#8217;re reviewing a different feature.</p><p>If you&#8217;re building cloud projects, for example deploying infrastructure, writing Lambda functions, building APIs, configuring services, these tools don&#8217;t just save time. They change the kind of projects you can take on alone.</p><p>Here are five worth knowing, how they differ, and the protocol that connects them all.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>1. Claude Code</h2><p><strong>What it is</strong>: Anthropic&#8217;s agentic coding tool, available&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/top-5-ai-coding-assistants-for-building">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Build Real-World Cloud Experience Recruiters Actually Care About]]></title><description><![CDATA[Stop collecting certifications. Start building proof.]]></description><link>https://blog.thecloudengineers.com/p/how-to-build-real-world-cloud-experience</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/how-to-build-real-world-cloud-experience</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 26 Aug 2026 13:31:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a620ad6f-07a9-42a0-8734-894deceaf12f_1733x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every week I get some version of the same message:</p><blockquote><p>&#8220;I have three AWS certifications, but I keep getting rejected. What am I doing wrong?&#8221;</p></blockquote><p>Here&#8217;s the hard truth nobody tells you: <strong>certifications get you noticed, but they don&#8217;t get you hired.</strong> Recruiters and hiring managers have seen thousands of certified candidates who freeze the moment you ask them to design a real system or explain a decision they actually made.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>What separates the people who get offers from the people who get ghosted isn&#8217;t another badge. It&#8217;s <strong>real-world experience</strong> &#8212; proof that you can take a problem, build a solution, and make it production-ready.</p><p>The good news? You don&#8217;t need a job to build that experience. You can manufacture it yourself. And you only need to follow <strong>three steps</strong>.</p><h2>Step 1: Learn the Cloud Fundamentals</h2><p>Before you build anything, you need a strong foundation. Not a surface-level &#8220;I watched a course once&#8221; underst&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/how-to-build-real-world-cloud-experience">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Observability for Serverless Without the Bill Shock]]></title><description><![CDATA[How to actually see what your serverless app is doing without CloudWatch quietly becoming your biggest line item.]]></description><link>https://blog.thecloudengineers.com/p/observability-for-serverless-without</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/observability-for-serverless-without</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 19 Aug 2026 09:30:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d3a807d7-d6ba-4e0d-a9eb-4964d68adb67_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Here&#8217;s a story every serverless team eventually lives through. You ship a Lambda-based system, it works beautifully, and you feel great. Then the monthly bill arrives and there&#8217;s a line item that makes you squint: <strong>CloudWatch</strong>. Sometimes it&#8217;s bigger than the Lambda compute it&#8217;s supposed to be observing.</p><p>Observability is non-negotiable. You cannot run a distributed serverless system blind. But in serverless, the very thing that gives you visibility is metered, and the defaults are quietly expensive. The goal isn&#8217;t to log less and fly blind. It&#8217;s to be <strong>deliberate</strong>: capture what you need, drop what you don&#8217;t, and design your observability the same way you design everything else, with cost as a first-class constraint.</p><p>Let&#8217;s break down the three pillars &#8212; logs, metrics, and traces &#8212; where each one silently runs up the bill, and how to get production-grade visibility without the shock.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cl&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.thecloudengineers.com/p/observability-for-serverless-without">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[So You Want to Be a Solutions Architect: What the Role Really Involves]]></title><description><![CDATA[The skills, the day-to-day, and how to actually get there.]]></description><link>https://blog.thecloudengineers.com/p/so-you-want-to-be-a-solutions-architect</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/so-you-want-to-be-a-solutions-architect</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 12 Aug 2026 09:30:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2caea799-1803-4a06-a22f-e70b1d455710_1729x910.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Solutions Architect might be the most misunderstood title in tech. Ask ten engineers what an SA does and you&#8217;ll get ten answers: &#8220;they draw diagrams,&#8221; &#8220;they&#8217;re pre-sales,&#8221; &#8220;they&#8217;re just senior engineers who stopped coding.&#8221; None of these are quite right, and the gap between the perception and the reality is exactly why so many talented engineers either avoid the role or struggle when they step into it.</p><p>I&#8217;ve spent four years as a Solutions Architect at AWS, working alongside hundreds of customers. Before that, I was a Software Engineer building and shipping production systems. So I&#8217;ve lived on both sides of the whiteboard. This article is the honest breakdown I wish someone had given me: what the role actually involves, the skills that matter, and a practical path to get there.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What a Solutions Architect&#8230;</h2>
      <p>
          <a href="https://blog.thecloudengineers.com/p/so-you-want-to-be-a-solutions-architect">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Building Your First GenAI Serverless Project to Enhance Your CV]]></title><description><![CDATA[A weekend project that shows you can ship AI on AWS and makes your resume impossible to ignore.]]></description><link>https://blog.thecloudengineers.com/p/building-your-first-genai-serverless</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/building-your-first-genai-serverless</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 05 Aug 2026 09:30:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6b740f05-ae17-44bf-9fe2-412f2cecf83c_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Everyone tells you to &#8220;build projects&#8221; to stand out. But most portfolio projects are the same tired to-do app or a static site that says nothing about you as an engineer. In 2026, a fast way to make a hiring manager stop scrolling is to show you can <strong>ship a real-world project</strong>, like the serverless GenAI application we'll build in this article.</p><p>The good news: you don&#8217;t need a GPU cluster, an ML degree, or months of work. With <strong>AWS Lambda and Amazon Bedrock</strong>, you can build a genuinely useful GenAI app in an afternoon which is fully serverless, pay-per-request, and free-tier friendly.</p><p>So let&#8217;s design one. We&#8217;ll build a tool that <em>enhances your CV.</em> You give it a job description and your rough resume bullets, and the app rewrites them into sharp, tailored, results-oriented bullet points using a foundation model. It&#8217;s useful, it&#8217;s self-referential, and it demonstrates the full serverless-GenAI stack.</p><p>This article&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/building-your-first-genai-serverless">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How Writing in Public Accelerated My Cloud Career (And How to Start)]]></title><description><![CDATA[The highest-leverage career move most engineers never make.]]></description><link>https://blog.thecloudengineers.com/p/how-writing-in-public-accelerated</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/how-writing-in-public-accelerated</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 29 Jul 2026 09:30:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9e5547f5-7b49-4591-a6b8-9df9073cb97b_1734x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Here&#8217;s a career truth that took me too long to learn: <strong>being good at your job is necessary, but it isn&#8217;t enough to advance quickly.</strong> The engineers who move fastest aren&#8217;t always the most technically brilliant, they&#8217;re the ones whose work is <em>visible.</em> And the single highest-leverage way to make your work visible is to write about it in public.</p><p>I know, because it changed my trajectory. Writing this newsletter, publishing what I learn, and sharing it openly opened doors I didn&#8217;t know existed, such as speaking opportunities, connections with people I admired, and a reputation that arrives in the room before I do. This article is the practical case for doing the same, and a no-excuses playbook to start.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why Writing in Public Works (The Mechanics)</h2><p>This isn&#8217;t motivational fluff. There are concrete, compounding mec&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/how-writing-in-public-accelerated">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[DynamoDB Single-Table Design: The Pattern Everyone Fears (Explained Simply)]]></title><description><![CDATA[Why one table beats five and how to design it without losing your mind.]]></description><link>https://blog.thecloudengineers.com/p/dynamodb-single-table-design-the</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/dynamodb-single-table-design-the</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 22 Jul 2026 09:31:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6e80e50f-be02-494d-86f7-e2fec6d43ca0_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>The first time I saw a DynamoDB single-table design, I closed the tab.</p><p>One table holding users, orders, products, and reviews. All mixed together, with cryptic keys like <code>USER#123</code> and <code>ORDER#456</code> sitting in the same partition? It looked insane.</p><p>It looked insane because I was thinking in <strong>relational terms</strong>. Once I flipped the mental model, <em>design for access patterns, not entities,</em> it clicked. Here&#8217;s the version of this pattern I wish someone had shown me on day one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why We Fear It: The Relational Hangover</h2><p>SQL trains us to normalize. One table per entity, JOINs at query time, let the database figure out the rest. It&#8217;s a beautiful model and it&#8217;s the exact instinct that makes single-table design feel wrong.</p><p>DynamoDB has no JOINs. Every relationship you&#8217;d resolve with a JOIN in SQL becomes either multiple round-trips or a modeling decision you make <em>up front</em>. The fear isn&#8217;t irrational. It&#8217;s a paradigm mismatch. Name it, and it stops being scary.</p><h2>The One Rule That Changes Everything: Access Patterns First</h2><p>Here&#8217;s the shift: <strong>you list your queries before you design your table.</strong></p><p>In SQL you model the data and figure out queries later. In DynamoDB you do the opposite. Take a simple e-commerce app and write down what it needs:</p><ol><li><p>Get a user by ID</p></li><li><p>Get all orders for a user</p></li><li><p>Get a single order with its line items</p></li><li><p>Get all products in a category</p></li></ol><p>If you can&#8217;t list your access patterns, you&#8217;re not ready to model. That discipline is exactly what scares people but it&#8217;s also the superpower. You design for <em>what your app actually does</em>, nothing more.</p><h2>PK, SK, and the Item Collection</h2><p>Two concepts do most of the work:</p><ul><li><p><strong>Partition Key (PK):</strong> determines where an item lives.</p></li><li><p><strong>Sort Key (SK):</strong> orders items <em>within</em> a partition.</p></li></ul><p>The key insight: <strong>items sharing the same PK form an &#8220;item collection&#8221; and are stored together.</strong> One query can retrieve the whole collection. That&#8217;s how you replace a JOIN, you co-locate related data on purpose.</p><h2>A Worked Example</h2><p>Here&#8217;s an actual single-table layout for the e-commerce app:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O3AM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O3AM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 424w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 848w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 1272w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!O3AM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png" width="1366" height="530" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:530,&quot;width&quot;:1366,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/206408053?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!O3AM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 424w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 848w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 1272w, https://substackcdn.com/image/fetch/$s_!O3AM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2dc1f7e-05fd-411c-8cc3-602d54c6f03a_1366x530.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now watch the access patterns fall out:</p><ul><li><p><strong>Get user 123:</strong><br><code>PK = USER#123 AND SK = PROFILE</code></p></li><li><p><strong>Get all orders for user 123:</strong><br><code>PK = USER#123 AND begins_with(SK, "ORDER#")<br></code>One query, no JOIN, no second round-trip.</p></li><li><p><strong>Get order 555 with its items:<br></strong><code>PK = ORDER#555<br></code>The order and every line item come back together.</p></li></ul><p>The cryptic keys aren&#8217;t chaos. They&#8217;re a query language you designed on purpose.</p><h2>GSI Overloading: The Advanced Bit, Made Simple</h2><p>Some queries go against the grain of your PK/SK like &#8220;get all orders with status SHIPPED.&#8221; Your main keys can&#8217;t answer that.</p><p>The solution is a Global Secondary Index built on <strong>generic attributes</strong> (<code>GSI1PK</code>, <code>GSI1SK</code>) that you reuse across entities. Point <code>GSI1PK</code> at the status, and one index can serve several &#8220;sideways&#8221; queries. Don&#8217;t worry about mastering this on day one, it&#8217;s the last 20% you grow into once the basics feel natural.</p><h2>When NOT to Use Single-Table Design</h2><p>I draw boundaries, because the pattern isn&#8217;t free:</p><ul><li><p><strong>Evolving access patterns.</strong> Early-stage products whose queries change weekly,  multiple tables are easier to refactor.</p></li><li><p><strong>Ad-hoc analytics.</strong> DynamoDB is for known patterns. Offload analytics to S3 + Athena.</p></li><li><p><strong>Small apps.</strong> Sometimes the operational simplicity of separate tables beats query efficiency.</p></li><li><p><strong>Team unfamiliarity.</strong> The real cost is the learning curve, not the technology.</p></li></ul><h2>The Cost &amp; Performance Payoff</h2><p>This is where it earns its place in a scalable, cost-efficient stack:</p><ul><li><p><strong>Fewer tables</strong> to provision, monitor, and pay for.</p></li><li><p><strong>One query instead of N round-trips</strong> means lower latency <em>and</em> fewer read capacity units consumed.</p></li><li><p><strong>Item collections</strong> keep related data on one partition, giving you predictable single-digit-millisecond reads at scale.</p></li></ul><h2>Where to Start</h2><p>Don&#8217;t boil the ocean. Pick one feature in your app. List its queries. Model <em>just that</em> as a single table. Once you&#8217;ve watched a JOIN disappear into a single <code>Query</code> call, the fear is gone for good, and you&#8217;ll never look at those <code>USER#123</code> keys the same way again.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[I Asked 20 Hiring Managers What They Look For in Cloud Interviews - Here's What They Told Me]]></title><description><![CDATA[Why technical skill gets you into the room but storytelling and impact get you the offer.]]></description><link>https://blog.thecloudengineers.com/p/i-asked-20-hiring-managers-what-they</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/i-asked-20-hiring-managers-what-they</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 15 Jul 2026 09:30:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d8b0044-a174-4a8a-8b21-54b4db4eedc0_1733x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>If you&#8217;ve ever walked out of a cloud engineering interview thinking <em>&#8220;I answered everything correctly&#8230; so why didn&#8217;t I get the offer?&#8221;</em> then this article is for you.</p><p>Over the past few months, I spoke with 20 hiring managers across startups, scale-ups, and large enterprises who regularly interview for Cloud Engineer, DevOps, SRE, and Solutions Architect roles. I asked them a simple question: <strong>&#8220;When two candidates have the same technical skills, what makes you say yes to one and no to the other?&#8221;</strong></p><p>The answers were remarkably consistent. And almost none of them were about knowing more AWS services.</p><p>Here&#8217;s what they&#8217;re actually looking for.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The #1 theme: candidates who tell stories, not spec sheets</h2><p>Nineteen of the twenty managers used some version of the same phrase: <em>&#8220;I want to understand how they think.&#8221;</em></p><p>The weake&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/i-asked-20-hiring-managers-what-they">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Lambda Managed Instances: When Serverless Meets Steady-State Traffic]]></title><description><![CDATA[Same code, EC2 pricing, no cold starts. Here's the catch.]]></description><link>https://blog.thecloudengineers.com/p/lambda-managed-instances-when-serverless</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/lambda-managed-instances-when-serverless</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 08 Jul 2026 09:30:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4051667f-d49c-4b22-b7b7-a89be4fd5c14_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>For years, there&#8217;s been one pushback against Lambda that never fully went away: <em>&#8220;It gets expensive at scale.&#8221;</em></p><p>And honestly? For steady, high-volume workloads, that criticism held up. Standard Lambda gives you <strong>one request per execution environment</strong>. So a function that spends most of its time waiting on a database or downstream API is burning paid execution time doing nothing, and at thousands of requests per second, per-invocation billing adds up fast.</p><p>That&#8217;s exactly the gap <strong>AWS Lambda Managed Instances</strong> (announced at re:Invent 2025) is built to close. Let&#8217;s break down what it actually changes, and more importantly when you should reach for it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What it actually is</h2><p>You keep the Lambda programming model. Same handler, same event source mappings, same IAM roles, same CloudWatch. But instead of running on Lambda&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/lambda-managed-instances-when-serverless">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[My Insights After 10 Years of Serverless]]></title><description><![CDATA[Common mistakes, emerging tools, and architecture patterns from a decade in the trenches]]></description><link>https://blog.thecloudengineers.com/p/my-insights-after-10-years-of-serverless</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/my-insights-after-10-years-of-serverless</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 01 Jul 2026 09:30:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6fae255f-a356-4d62-bff5-b9a06f4d8309_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Ten years ago, I discovered Serverless and AWS Lambda, and it changed the way I build software forever.</p><p>What started as curiosity quickly turned into conviction. Over the past decade, I&#8217;ve designed and shipped production systems entirely on Serverless. I even built a startup from scratch, on a fully Serverless stack and took it to production in just 10 months.</p><p>In my four years at AWS, I&#8217;ve worked alongside hundreds of customers on their Serverless journeys, from first Lambda functions to complex event-driven architectures. Along the way, I distilled everything I&#8217;ve learned into my book, <a href="https://a.co/d/0ESOp5f">Mastering Event-Driven Microservices in AWS</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://a.co/d/0ESOp5f" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Fdy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Fdy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg" width="407" height="542.573489010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:407,&quot;bytes&quot;:1686995,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:&quot;https://a.co/d/0ESOp5f&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/202706159?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Fdy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Fdy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29eab5c3-6b40-4a12-8b69-2ac15fbeb9f1_2316x3088.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last month, Lee Gilmore, an AWS Hero, reached out and featured me in his Serverless Advocate newsletter, where he posed three thought-provoking questions about the state of Serverless. I&#8217;m sharing my answers here, because they touch on things I think every Serverless engineer&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/my-insights-after-10-years-of-serverless">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[API Gateway: Why Your Serverless API Costs More Than an ALB at Scale]]></title><description><![CDATA[REST vs. HTTP APIs vs. ALB. A real-world cost breakdown.]]></description><link>https://blog.thecloudengineers.com/p/api-gateway-why-your-serverless-api</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/api-gateway-why-your-serverless-api</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 24 Jun 2026 09:30:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/128821fe-a34d-4db0-8fc3-64040e5f059b_1200x632.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>You went serverless. API Gateway in front of Lambda, clean architecture, no servers to manage. It felt great at 10,000 requests a day. Then your product grew, and now you&#8217;re staring at a $2,000/month API Gateway bill wondering what happened.</p><p>Here&#8217;s the uncomfortable truth: API Gateway&#8217;s pricing model has a scaling cliff that nobody talks about during the honeymoon phase.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.thecloudengineers.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Cloud Engineers! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Math That Changes Everything</h2><p>API Gateway REST APIs charge $3.50 per million requests (after the first 333 million/month, it drops slightly). Sounds cheap in isolation. Let&#8217;s do the math for a moderately successful API:</p><ul><li><p>50 million requests/month</p></li><li><p>API Gateway cost: ~$175/month</p></li></ul><p>Now the same traffic through an Application Load Balancer:</p><ul><li><p>ALB fixed cost: ~$22/month (base + LCUs)</p></li><li><p>Per-request component: negligible at this scale</p></li></ul><p>That&#8217;s already an 8x&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/api-gateway-why-your-serverless-api">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The 4-Step Roadmap to Break Into Cloud (That Actually Works)]]></title><description><![CDATA[Stop Collecting Certifications. Start Building a Career.]]></description><link>https://blog.thecloudengineers.com/p/the-4-step-roadmap-to-break-into</link><guid isPermaLink="false">https://blog.thecloudengineers.com/p/the-4-step-roadmap-to-break-into</guid><dc:creator><![CDATA[Lefteris Karageorgiou]]></dc:creator><pubDate>Wed, 10 Jun 2026 09:31:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2d7b3d9b-f00d-42bc-993d-4b49f6186c82_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, it&#8217;s Lefteris &#128075; I&#8217;m the voice behind the weekly newsletter &#8220;The Cloud Engineers.&#8221;</em></p><p>Most people trying to break into cloud are stuck in an endless loop.</p><p>They watch tutorials. They collect certifications. They spin up a Lambda function, follow along with a YouTube video, tear it down, and call it &#8220;experience.&#8221;</p><p>Then they apply to 50, 100, maybe 200 jobs, and hear nothing back.</p><p>Here&#8217;s the uncomfortable truth: <strong>the market doesn&#8217;t reward what you know. It rewards what you can prove.</strong></p><p>Right now, thousands of professionals who want to switch to cloud careers are competing for the same roles with the same certifications, the same generic resumes, and zero evidence that they can build anything real.</p><p>The ones who break through do something different. They follow a system.</p><p>In this article, we&#8217;ll dive into that system, which consists of four steps.</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!01wT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 424w, https://substackcdn.com/image/fetch/$s_!01wT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 848w, https://substackcdn.com/image/fetch/$s_!01wT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 1272w, https://substackcdn.com/image/fetch/$s_!01wT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!01wT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png" width="592" height="231.75824175824175" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1456,&quot;resizeWidth&quot;:592,&quot;bytes&quot;:1712928,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.thecloudengineers.com/i/200731176?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!01wT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 424w, https://substackcdn.com/image/fetch/$s_!01wT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 848w, https://substackcdn.com/image/fetch/$s_!01wT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 1272w, https://substackcdn.com/image/fetch/$s_!01wT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3d5eb3-e864-4615-a17d-5709403bdbc0_1932x756.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></div></figure></div><h2>Step 1: Build Real-World Cloud Projects</h2><p>Not toy examples. Not tutorial clones.</p><p>Build production-style projects using industry best practices, the kind you can&#8230;</p>
      <p>
          <a href="https://blog.thecloudengineers.com/p/the-4-step-roadmap-to-break-into">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>