<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Video Archives - ShiftMag</title>
	<atom:link href="https://shiftmag.dev/category/video/feed/" rel="self" type="application/rss+xml" />
	<link>https://shiftmag.dev/category/video/</link>
	<description>Insightful engineering content &#38; community</description>
	<lastBuildDate>Fri, 09 Oct 2026 12:55:02 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://shiftmag.dev/wp-content/uploads/2026/09/cropped-Shift-32x32.webp</url>
	<title>Video Archives - ShiftMag</title>
	<link>https://shiftmag.dev/category/video/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Voice AI Is an Infrastructure Problem, Not Just a Model Problem</title>
		<link>https://shiftmag.dev/voice-ai-is-an-infrastructure-problem-not-just-a-model-problem-12540/</link>
		
		<dc:creator><![CDATA[Marin Pavelić]]></dc:creator>
		<pubDate>Fri, 09 Oct 2026 10:37:21 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Infobip Shift 2026]]></category>
		<category><![CDATA[Kosta Pribić]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Voice AI]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=12540</guid>

					<description><![CDATA[<p>Voice AI may be sold as a model problem, but the real bottleneck is whether the system can survive real-time demands, stay reliable, and do it at a cost that makes sense.</p>
<p>The post <a href="https://shiftmag.dev/voice-ai-is-an-infrastructure-problem-not-just-a-model-problem-12540/">Voice AI Is an Infrastructure Problem, Not Just a Model Problem</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img fetchpriority="high" decoding="async" width="1200" height="720" src="https://shiftmag.dev/wp-content/uploads/2026/10/kosta-pribicevic-vocie-ai.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/10/kosta-pribicevic-vocie-ai.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/10/kosta-pribicevic-vocie-ai-300x180.png 300w, https://shiftmag.dev/wp-content/uploads/2026/10/kosta-pribicevic-vocie-ai-767x460.png 767w, https://shiftmag.dev/wp-content/uploads/2026/10/kosta-pribicevic-vocie-ai-1024x614.png 1024w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">&#8220;Voice AI is an infrastructure problem because <strong>voice itself is an infrastructure problem</strong>,&#8221; says Kosta Pribić, a Senior Principal Engineer at Infobip. </p>



<p class="wp-block-paragraph">He works with voice services &#8211; real-time communications across the globe, across multiple data centers, and for everyone reachable on the planet. Yep, it’s a lot.</p>



<p class="wp-block-paragraph">That scale makes voice AI a <strong>much more complex challenge than developers might initially expect</strong>.<br></p>



<h2 class="wp-block-heading"><span id="developers-can-take-control-of-the-call-in-real-time">Developers can take control of the call in real time</span></h2>



<p class="wp-block-paragraph">Kosta sees voice AI as a two-layer system. <strong>Smaller models built into phones can handle real-time issues</strong> like packet loss and background noise. They should do their work quietly in the background, so the device just feels like it works.</p>



<p class="wp-block-paragraph"><strong>Larger models</strong>, meanwhile, <strong>usually run in the cloud</strong> and need access to the audio being exchanged between devices. That’s where Infobip comes in: it provides the communications infrastructure developers need to process that audio in real time.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We give you control over the call. We enable you to interject, do something smart with the media.</p>
</blockquote>



<p class="wp-block-paragraph">He says a lot of the infrastructure behind this, from global data centers to enterprise deployments, was originally built for web pages. But <strong>web pages aren’t real-time communication</strong>.</p>



<p class="wp-block-paragraph">So when teams use that infrastructure for voice AI, they end up carrying over decisions that were made decades ago. Those systems weren’t built for a live AI-assisted call, which means developers are often stuck working around constraints they probably wouldn’t choose if they were starting from scratch today.</p>



<h2 class="wp-block-heading"><span id="biggest-challenges-are-real-time-performance-and-cost">Biggest challenges are real-time performance and cost</span></h2>



<p class="wp-block-paragraph">Developers entering <a href="https://www.infobip.com/blog/ai-voice-assistants" target="_blank" rel="noreferrer noopener">voice AI</a> <strong>often expect hallucinations to be the biggest challenge</strong>. But Kosta says they usually run into a different set of problems first, like custom signaling protocols, real-time delivery, and tricky networking edge cases. Networks aren’t built for this kind of traffic by default, so for developers without a voice background, it can feel like a completely new set of problems to learn.</p>



<p class="wp-block-paragraph">&#8220;The main problem is understanding all of this. It’s completely new,&#8221; he says. That’s why Infobip’s first internally built LLM-enabled application was a voice AI troubleshooter. <strong>Kosta sees troubleshooting as a practical place to start</strong>, because teams first need to understand the communication problems they’re actually dealing with.</p>



<p class="wp-block-paragraph">From there, model choice comes down to the <strong>business case and the margins</strong>. Kosta says a large model can make sense when latency isn’t a major concern and the economics work. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If your business case allows for using huge LLMs and you don’t care that much about latency, great, go for it.</p>
</blockquote>



<p class="wp-block-paragraph">But <strong>in most cases</strong>, he says, <strong>latency matters</strong>. Teams may need smaller LLMs to process calls, or fast, lightweight models to handle audio. Cost matters too, especially when a model is running on every call, because a large model can become expensive fast.</p>



<h2 class="wp-block-heading"><span id="voice-ai-has-to-be-private-reliable-and-real-time">Voice AI has to be private, reliable, and real-time</span></h2>



<p class="wp-block-paragraph">People expect voice-enabled communications to be private and confidential, Kosta says. They also expect calls to be as reliable as the telecom services they already use, which he describes as operating at &#8220;five nines.&#8221; <strong>Once that trust is lost, it’s much harder to win back</strong>.</p>



<p class="wp-block-paragraph">For developers who are new to voice, understanding those expectations is part of understanding the system they’re building.</p>



<p class="wp-block-paragraph">That becomes especially clear in <strong>assistive use cases</strong>. Kosta points to an Infobip customer using a generative model to create voices for people with damaged vocal cords:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">They can speak in a whisper while the person on the other end hears the generated voice. That’s, I think, the most heartwarming implementation I’ve ever done.</p>
</blockquote>



<p class="wp-block-paragraph">In the end, before choosing a model, developers need to understand how a call works, where it can break down, and how much delay and cost the application can handle. Even the best model won’t help if its response can’t make it back to the caller in time.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Inside an AI Phone Call" width="500" height="281" src="https://www.youtube.com/embed/xEWWc0tVPjY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<p>The post <a href="https://shiftmag.dev/voice-ai-is-an-infrastructure-problem-not-just-a-model-problem-12540/">Voice AI Is an Infrastructure Problem, Not Just a Model Problem</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OpenAI&#8217;s Luis Velasco: Code is very cheap to produce, but the system around it isn&#8217;t</title>
		<link>https://shiftmag.dev/openai-fde-code-is-very-cheap-to-produce-12341/</link>
		
		<dc:creator><![CDATA[Anastasija Uspenski]]></dc:creator>
		<pubDate>Fri, 02 Oct 2026 13:20:51 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Infobip Shift 2026]]></category>
		<category><![CDATA[Luis Velasco]]></category>
		<category><![CDATA[OpenAI]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=12341</guid>

					<description><![CDATA[<p>Luis Velasco works as a Forward Deployed Engineer at OpenAI. For him, code is becoming very cheap to produce, while building the system around the model is becoming critical.</p>
<p>The post <a href="https://shiftmag.dev/openai-fde-code-is-very-cheap-to-produce-12341/">OpenAI&#8217;s Luis Velasco: Code is very cheap to produce, but the system around it isn&#8217;t</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At the <a href="https://shiftmag.dev/tag/infobip-shift-2026/" target="_blank" rel="noreferrer noopener">Shift conference in Zadar</a> this September, we sat down with <a href="https://shiftmag.dev/openai-says-the-real-work-in-ai-coding-is-building-the-system-around-it-11976/" target="_blank" rel="noreferrer noopener">Luis Velasco, a Forward Deployed Engineer at OpenAI</a>, who describes his role simply:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We help companies put AI to work in real environments.</p>
</blockquote>



<p class="wp-block-paragraph">We spoke with him about what it takes to move AI agents into production, how developers can make them reliable and secure, and which skills will matter most as AI changes software development.</p>



<h3 class="wp-block-heading"><span id="production-starts-with-evals"><strong>Production starts with evals</strong></span></h3>



<p class="wp-block-paragraph">As Luis hinted in the intro, Forward Deploy Engineers (FDE) help companies turn AI demos into real products. So we asked him what developers most often underestimate when they make that jump.</p>


<figure class="wp-block-post-featured-image"><img decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/09/luis.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/09/luis.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/09/luis-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/09/luis-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/09/luis-768x403.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">According to him, <strong>the real challenge starts when a demo reaches production</strong>. A demo can work well in controlled conditions, but production forces teams to understand exactly what works, what does not, and why failures happen.</p>



<p class="wp-block-paragraph">That is where eval-driven (Evaluation-driven) development becomes important. He says OpenAI uses it extensively in its engagements to track and measure different workflows and tasks:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We have a scientific approach to measure the performance of the models doing a task. When, basically, you clear those benchmarks, those evals, you are good to go to production in a really good and safe way.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="the-deployment-gap-is-the-real-challenge"><strong>The deployment gap is the real challenge</strong></span></h3>



<p class="wp-block-paragraph">We wanted to understand what makes an AI agent reliable enough for production, rather than something that only works well in a controlled environment.</p>



<p class="wp-block-paragraph">Luis said<strong> it all comes down to “cracking the evals.”</strong> As he explained, today’s models already have impressive intelligence, but putting them to work in a company’s own environment requires giving them access to the company’s data, procedures, and tools:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You know, those three things, we kind of call the deployment gap, right? And this is what we&#8217;re trying to close as FD, basically.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="agents-went-from-six-minute-to-16-hour-tasks"><strong>Agents went from six-minute to 16-hour</strong> tasks</span></h3>



<p class="wp-block-paragraph">But what happens when an agent works on a task for hours rather than minutes? How should developers think about errors, memory, context, and human approval as those workflows become longer?</p>



<p class="wp-block-paragraph">Luis answered with an example from his own experience. While checking the latest data from METR’s long time horizon benchmark, he was surprised by how quickly agents had improved. In just over three years, they went from <strong>handling tasks that would take a human around six minutes to tasks that would take around 16 hours.</strong></p>



<p class="wp-block-paragraph">That represents a massive jump, he said:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">On one hand, you have the models getting better at long-term coherency and persistence, but on the other hand, you also have the harnesses improving a lot. Back in the days, a developer needed to care about context management, memory creation, and all of that. Right now, as I say, with harnesses such as Codex, all that is gone.</p>
</blockquote>



<p class="wp-block-paragraph">For Luis, that progress comes from combining more capable models with more powerful harnesses. Together, they allow engineers and developers to run increasingly complex workflows over much longer periods of time.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://shiftmag.dev/wp-content/uploads/2026/09/SHIFT_MAINSTAGE-19-1024x683.jpg?x32039" alt="" class="wp-image-12352" srcset="https://shiftmag.dev/wp-content/uploads/2026/09/SHIFT_MAINSTAGE-19-1024x683.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/09/SHIFT_MAINSTAGE-19-300x200.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/09/SHIFT_MAINSTAGE-19-768x512.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Credit: Filip Popović</figcaption></figure>



<h3 class="wp-block-heading"><span id="agents-should-follow-the-same-access-rules-as-employees"><strong>Agents should follow the same access rules as employees</strong></span></h3>



<p class="wp-block-paragraph">When it comes to security, we wanted to understand the safest way to connect AI agents to company data without creating new permission and access risks.</p>



<p class="wp-block-paragraph">Luis explained it through a familiar workplace example. When a company onboards someone who works in finance, it gives that person access to financial data, but not to HR data they do not need.</p>



<p class="wp-block-paragraph">He argues that companies can apply the same principle to AI agents, using the same access controls and permission rules they already use for employees:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">In the same way that when you onboard an employee into your company, and let&#8217;s say he or she is working in finance, you only give access to the finance data. You don&#8217;t give access to the HR data, right? So, in the same way, those same principles, those same ACLs, can also apply to AI agents, right?</p>
</blockquote>



<p class="wp-block-paragraph">For him, the principle comes down to giving agents access only to what they require to perform their tasks:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">So, in my view, it&#8217;s about having the roles, the permissions, and the setup for the agents to only see what they need to see for completing their workflow, basically.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="evals-are-fundamental-to-ai-development"><strong>Evals are fundamental to AI development</strong></span></h3>



<p class="wp-block-paragraph">Finally, we asked Luis what developers should test and measure before releasing an AI agent to real users.</p>



<p class="wp-block-paragraph">Once again, he came back to evals. He said he keeps returning to the concept because it remains critical and fundamental to AI development:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I think we go back to evals once again, right? And I keep coming back to that concept because it&#8217;s absolutely critical and fundamental for AI development, right? If you&#8217;re able to put together that representative eval set containing easy cases, medium cases, and also edge cases, and you&#8217;re able to highly lean on your skills, on your guardrails, on the prompts you send to the model, that will give you the guarantees that when you deploy to production, nothing will break.</p>
</blockquote>



<p class="wp-block-paragraph">He added that evals also give developers a way to test for regressions when they upgrade to a new model and make sure the change does not break existing workflows:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Furthermore, when you upgrade your model to a new one, you have a way to test regressions and make sure that that upgrade won&#8217;t break anything.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="system-design-taste-will-never-go-away"><strong>System design taste will never go away</strong></span></h3>



<p class="wp-block-paragraph">Before joining OpenAI, Luis also worked at Google, so over the years he has seen plenty of developers, roles, and career dilemmas up close. That is why, to close the interview, we asked him which skills developers should focus on today to stay relevant in the age of AI agents.</p>



<p class="wp-block-paragraph">He believes that, in this new era, engineers will no longer create code as their primary output, because <strong>code has become very cheap to produce</strong>.</p>



<p class="wp-block-paragraph">Instead, he sees much more value in everything developers build around the model:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I think now, in this new era we&#8217;re entering, the primary thing that engineers are creating is not code anymore. Code is very cheap to produce. It&#8217;s all about building the system around it, so the system of intent, the guardrails, the constraints for the agent to work reliably, right? So I think creating those harnesses around the model will be absolutely critical.</p>
</blockquote>



<p class="wp-block-paragraph">Luis ended our interview with a simple but sharp statement:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Plus, I always say, like, system design taste will never go away.</p>
</blockquote>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Open AI on Why AI Demos Break in Production" width="500" height="281" src="https://www.youtube.com/embed/wCiFGPgtQvw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<p>The post <a href="https://shiftmag.dev/openai-fde-code-is-very-cheap-to-produce-12341/">OpenAI&#8217;s Luis Velasco: Code is very cheap to produce, but the system around it isn&#8217;t</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Netlify CTO: &#8220;No longer should my developers be writing code&#8221;</title>
		<link>https://shiftmag.dev/netlify-cto-no-longer-should-my-developers-be-writing-code-12298/</link>
		
		<dc:creator><![CDATA[Anastasija Uspenski]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 06:42:17 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Dana Lawson]]></category>
		<category><![CDATA[Infobip Shift 2026]]></category>
		<category><![CDATA[Netlify]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=12298</guid>

					<description><![CDATA[<p>Dana Lawson leads R&#038;D at Netlify, overseeing engineering, product, and design. From where she sits, she sees the real shift clearly: one person or a tiny team can now cover far more ground.</p>
<p>The post <a href="https://shiftmag.dev/netlify-cto-no-longer-should-my-developers-be-writing-code-12298/">Netlify CTO: &#8220;No longer should my developers be writing code&#8221;</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We spoke with Dana at the <a href="https://shiftmag.dev/tag/infobip-shift-2026/" target="_blank" rel="noopener">Shift conference in Zadar</a>, where we discussed AI agents, the evolving role of developers, and the future of software teams.&nbsp;</p>



<h2 class="wp-block-heading"><span id="small-teams-are-taking-over-the-whole-build"><strong>Small teams are taking over the whole build</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">The structure of software teams is one area where Dana already sees a noticeable shift. Larger teams traditionally split these roles among several people, but much smaller groups can now handle them together:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The biggest difference is the empowerment that teams have. Before, you would have teams of 5, 6, 8, 10 people that all had very distinct roles in the software development life cycle, and I think the biggest shift is the enablement that people that are enabled solo, or two or three, can do everything end-to-end.</p>
</blockquote>



<p class="wp-block-paragraph">That shift has also influenced how Netlify organizes product development. Dana says the company no longer relies on sequential handoffs between product managers, designers, and engineers.</p>



<p class="wp-block-paragraph">Instead, Netlify gives teams more autonomy through a narrative-driven product roadmap. The company sets the broader direction, while individual teams decide how to shape what they build next.&nbsp;</p>



<p class="wp-block-paragraph">To stay aligned without introducing additional layers of coordination, Netlify combines familiar tools and routines with AI agents:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We really let our teams have some personal take on what they&#8217;re going to build next, but we utilize systems like Linear and stand-ups, and honestly agents to keep us all in line so that we can move at the speed of machines.&nbsp;</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2026/09/Dana1-1024x538.png?x32039" alt="" class="wp-image-12326" srcset="https://shiftmag.dev/wp-content/uploads/2026/09/Dana1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana1-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Credit: Filip Popović</figcaption></figure>



<h2 class="wp-block-heading"><span id="low-ego-leadership"><strong>Low-ego leadership</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">More autonomous teams also change what Netlify CTO expects from the people leading them.&nbsp;</p>



<p class="wp-block-paragraph">When asked which leadership lesson has stayed with her through roles at GitHub, Heptio, New Relic, and Netlify, Dana returned to two ideas, trust people and recognize expertise regardless of title:&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Low ego. You are going to have people smarter than you in the room just because you have the amazing title and you are marked the leader. Your job is to be humble, build connections, and really learn, and be a part of your team and not just mining your team, and I think the biggest lesson is to trust people and allow them to be adults.</p>
</blockquote>



<p class="wp-block-paragraph">That principle becomes even more relevant as the work itself changes and developers increasingly operate alongside AI agents.&nbsp;</p>



<h2 class="wp-block-heading"><span id="developer-experience-is-now-an-agent-experience"><strong>Developer experience is now an agent experience</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">When we asked Dana what a great developer experience looks like today, she framed the question around a different relationship between engineers and code.&nbsp;</p>



<p class="wp-block-paragraph">For her, the developer’s job is increasingly about enabling agents to act safely on their behalf:&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">A great developer experience is an agent experience. No longer should my developers be writing code. They should be enabling agents to do stuff safely and on their behalf.&nbsp;</p>
</blockquote>



<p class="wp-block-paragraph">That kind of environment also depends on developers being able to understand what those agents are doing.&nbsp;</p>



<p class="wp-block-paragraph">Dana points specifically to clarity, signals, and telemetry as the mechanisms engineers need both to help agents complete their work and to understand what they have done once changes reach production:&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">A good engineering experience is ensuring that we have clarity, signals, and telemetry so that their agents can get the job done, and so that they can know what the agents did in production.&nbsp;</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2026/09/Dana2-1024x538.png?x32039" alt="" class="wp-image-12331" srcset="https://shiftmag.dev/wp-content/uploads/2026/09/Dana2-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana2-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana2-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2026/09/Dana2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Credit: Filip Popović</figcaption></figure>



<h2 class="wp-block-heading"><span id="from-writing-code-to-system-design"><strong>From writing code to system design</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">If agents take on more of the direct implementation work, Dana sees engineers spending more of their attention at the system level.&nbsp;<br>&nbsp;<br>She describes that change as a move away from creating code itself and toward designing the environment in which software is built and operated:&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We&#8217;ve moved it from creating code to really architecting systems and allowing engineers to do what they do best, which is build trust within the systems.</p>
</blockquote>



<p class="wp-block-paragraph">In that framing, the impact of AI is not limited to making individual development tasks faster. It also changes where engineering judgment is applied.&nbsp;</p>



<h2 class="wp-block-heading"><span id="don%e2%80%99t-use-ai-agents-to-automate-bad-processes"><strong>Don’t use AI agents to automate bad processes</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">Dana is also cautious about one of the most straightforward ways companies can approach AI adoption,<strong> taking an existing process and simply inserting an agent into it</strong>.&nbsp;</p>



<p class="wp-block-paragraph">Instead, she argues that teams should reconsider the workflow itself:&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Agents can&#8217;t do everything. They can do everything, but they shouldn&#8217;t do everything, and it&#8217;s a trap. Don&#8217;t start building things on existing workflows. Change your workflows.</p>
</blockquote>



<p class="wp-block-paragraph">That becomes even more relevant as Dana expects engineering roles, tools, and workflows to change significantly over the next few years:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Enable an agent experience, because in two years, our jobs will significantly change, and some of the tools that we&#8217;ve been building and some of the workflows will be commoditized.&nbsp;</p>
</blockquote>



<h2 class="wp-block-heading"><span id="that-doesn%e2%80%99t-mean-replacing-every-existing-tool"><strong>That doesn’t mean replacing every existing tool</strong>&nbsp;</span></h2>



<p class="wp-block-paragraph">At the same time, Dana is not arguing that teams should replace technology simply because something newer exists.&nbsp;</p>



<p class="wp-block-paragraph">She specifically points out that tools such as Bash can still have a place when they remain appropriate for the problem.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Her advice is:&nbsp;“Keep it simple.”&nbsp;</strong></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Netlify CTO: Developer Experience Is Now Agent Experience!" width="500" height="281" src="https://www.youtube.com/embed/ivj64wMJc2E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/09/dana.naslovna.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/09/dana.naslovna.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/09/dana.naslovna-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/09/dana.naslovna-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/09/dana.naslovna-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/netlify-cto-no-longer-should-my-developers-be-writing-code-12298/">Netlify CTO: &#8220;No longer should my developers be writing code&#8221;</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI Is Only as Good as the Document Pipeline Behind It</title>
		<link>https://shiftmag.dev/ai-is-only-as-good-as-the-document-pipeline-behind-it-11538/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Thu, 20 Aug 2026 13:28:26 +0000</pubDate>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Apryse]]></category>
		<category><![CDATA[Data Pipelines]]></category>
		<category><![CDATA[Document Processing]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[OCR]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=11538</guid>

					<description><![CDATA[<p>Everyone is busy asking how big the model is, but the real question is what you fed it first - because if your PDFs are mangled and your OCR is sloppy, even the smartest LLM starts from the wrong answer.</p>
<p>The post <a href="https://shiftmag.dev/ai-is-only-as-good-as-the-document-pipeline-behind-it-11538/">AI Is Only as Good as the Document Pipeline Behind It</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At the WeAreDevelopers World Congress 2026 in Berlin, I spoke with <strong>Luca Mancinelli (Solutions Engineer, Apryse)</strong>, about a part of the AI stack that tends to receive far less attention than models themselves:<strong> </strong>the document pipeline.</p>



<p class="wp-block-paragraph">As companies move more of their knowledge into AI applications, PDFs, scans, reports, and invoices are becoming key data sources. The real challenge is <strong>preserving enough structure and context</strong> for AI systems to understand them properly.</p>



<h1 class="wp-block-heading"><span id="document-extraction-is-becoming-key-in-ai-applications">Document extraction is becoming key in AI applications</span></h1>



<p class="wp-block-paragraph">For much of the history of enterprise software, documents typically sat at the end of a process. An application generated a report, invoice, or contract, and the PDF was the finished product. Mancinelli believes AI is changing that relationship:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Documents used to be the output &#8211; for example, a PDF you’d print or send out. Now they’re also a structured input that powers AI systems.</p>
</blockquote>



<p class="wp-block-paragraph">More precisely, the challenge for developers is turning documents that are often unstructured or semi-structured into <strong>structured information that downstream systems can use</strong>.</p>



<p class="wp-block-paragraph">An LLM can ingest raw text, but simply extracting characters from a file does not always preserve what makes the original document meaningful. A heading has a different role from a paragraph. A value in a table depends on its row and column. A number beside “Total” means something different from the same number appearing somewhere else on the page.</p>



<p class="wp-block-paragraph">That is why document extraction is becoming an important preprocessing layer in AI applications. The goal is not just to recover text, but to give models cleaner, better-organized context.</p>



<h1 class="wp-block-heading"><span id="bad-pdf-parsing-can-lose-information-that-even-a-stronger-model-cannot-recover">Bad PDF parsing can lose information that even a stronger model cannot recover</span></h1>



<p class="wp-block-paragraph">Anyone who has tried to build a production pipeline around real-world PDFs quickly discovers that <strong>documents are far less predictable than API responses or database records</strong>. Mancinelli points to three recurring problems:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">First are complex layouts: you can have headers, tables, and different formats in the same document, and that creates a huge challenge for systems. Second is poor OCR, which can produce messy output. Third is the loss of context.</p>
</blockquote>



<p class="wp-block-paragraph">This distinction becomes especially important with RAG systems and other LLM-powered applications. If a document is badly parsed before it reaches a model, a more powerful model cannot necessarily recover information that was lost earlier in the pipeline.</p>



<p class="wp-block-paragraph">For developers, that means<strong> data quality becomes an architectural issue </strong>rather than simply an AI-model issue.</p>



<h1 class="wp-block-heading"><span id="document-processing-depends-on-the-use-case">Document processing depends on the use case</span></h1>



<p class="wp-block-paragraph">Where document processing happens is another architectural decision that becomes more important as AI moves into regulated and data-sensitive environments.</p>



<p class="wp-block-paragraph">Mancinelli argues against treating cloud and self-hosted processing as an either-or decision. <strong>The right model depends on the application, its infrastructure, and the type of data involved</strong>.</p>



<p class="wp-block-paragraph">For organizations working with particularly sensitive documents, processing files within their own environment can reduce the amount of data that has to move outside their infrastructure. Cloud services, meanwhile, can lower the infrastructure burden and make experimentation easier in some projects.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It&#8217;s not one or the other; each solution has its own merit. It depends on the use case.</p>
</blockquote>



<p class="wp-block-paragraph">That may sound obvious, but it becomes a meaningful engineering trade-off once document pipelines start handling contracts, financial records, healthcare documents, or other sensitive enterprise information. Privacy requirements, latency, scalability, and operational complexity <strong>all have to be considered alongside extraction accuracy</strong>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Why Documents Are the NEW AI Data Layer" width="500" height="281" src="https://www.youtube.com/embed/NKAbUc5s_BU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h1 class="wp-block-heading"><span id="a-powerful-sdk-is-useless-if-developers-struggle-to-integrate-it">A powerful SDK is useless if developers struggle to integrate it</span></h1>



<p class="wp-block-paragraph">There is also a more familiar developer problem: integration. No matter how sophisticated a document-processing engine is, developers eventually have to put it into a real application, maintain it, and debug it.</p>



<p class="wp-block-paragraph">For Mancinelli, good documentation is therefore <strong>one of the most important characteristics of a production-ready SDK</strong>. Practical examples matter as well: developers should be able to see realistic implementations and adapt them instead of building every integration from scratch.</p>



<p class="wp-block-paragraph">He also points to higher-level APIs as a way of reducing unnecessary implementation complexity:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The point is particularly relevant as AI infrastructure becomes more fragmented. Developers already have to connect models, vector databases, data sources, evaluation systems, observability tools, and application logic. Adding another complicated layer to the stack can quickly increase both development and maintenance costs.</p>
</blockquote>



<p class="wp-block-paragraph">A useful document SDK therefore has to solve two problems at once: the difficult underlying document-processing problem and the developer-experience problem surrounding it.</p>



<h1 class="wp-block-heading"><span id="data-pipelines-will-become-increasingly-important">Data pipelines will become increasingly important </span></h1>



<p class="wp-block-paragraph">Predicting what software development will look like several years from now is difficult, and Mancinelli avoids picking a single technology that will dominate.</p>



<p class="wp-block-paragraph">Instead, he expects data pipelines to become increasingly important as companies process larger and more complex collections of information.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">One thing is sure: the complexity of the data is going to increase, and the amount of data is going to increase as well. That means data management pipelines will become even more critical.</p>
</blockquote>



<p class="wp-block-paragraph">For developers working with AI, that may be the more practical takeaway.</p>



<p class="wp-block-paragraph">&#8220;The industry tends to focus heavily on what happens inside the model: larger context windows, new reasoning capabilities, faster inference, and increasingly capable agents. But production AI systems also depend on everything that happens before a prompt reaches the model&#8221;, Mancinelli said.</p>



<p class="wp-block-paragraph">If the input is incomplete, badly extracted, or stripped of its structure, <strong>even an advanced LLM starts from a disadvantage</strong>.</p>



<p class="wp-block-paragraph">As enterprise AI matures, document processing may become less a peripheral PDF problem&nbsp;and more&nbsp;<strong>a core part of the AI data stack</strong>, one where developers have to think carefully about structure, privacy, deployment, and, above all, context.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/08/luca_1_.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/08/luca_1_.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/08/luca_1_-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/08/luca_1_-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/08/luca_1_-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/ai-is-only-as-good-as-the-document-pipeline-behind-it-11538/">AI Is Only as Good as the Document Pipeline Behind It</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>We Usually Blame the AI Model, But the Harness Is What Breaks Production</title>
		<link>https://shiftmag.dev/we-usually-blame-the-ai-model-but-the-harness-is-what-breaks-production-11032/</link>
		
		<dc:creator><![CDATA[Ivan Pelivanovic]]></dc:creator>
		<pubDate>Thu, 06 Aug 2026 14:04:36 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Mike Chambers]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=11032</guid>

					<description><![CDATA[<p>Mike Chambers, Developer Advocate at AWS, says the real test of AI is not whether a demo looks smart, but whether the system around it can survive real-world use.</p>
<p>The post <a href="https://shiftmag.dev/we-usually-blame-the-ai-model-but-the-harness-is-what-breaks-production-11032/">We Usually Blame the AI Model, But the Harness Is What Breaks Production</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-10.jpg?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-10.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-10-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-10-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-10-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">A few years ago, building an AI app was hard. Today, anyone can put together an LLM, connect a few APIs, and build a strong demo in a day. But <strong>turning that demo into a production app is still much harder</strong>.</p>



<p class="wp-block-paragraph">At the AI Engineer World Fair, I talked with <strong>Mike Chambers</strong>, a Developer Advocate at AWS who focuses on generative AI, about what makes production AI systems different from conference demos. His answer kept coming back to one thing developers often overlook: everything around the model.</p>



<h2 class="wp-block-heading">It&#8217;s not AI, it&#8217;s harness</h2>



<p class="wp-block-paragraph">Developers spend a lot of time comparing models, tweaking prompts, and testing frameworks, but far less time on the infrastructure that keeps an AI app running. In his talk, Mike said many production failures don’t come from the model itself, they come from what he calls the <strong>harness</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">There&#8217;s two different types of agents: an agent that I&#8217;m using and an agent that I&#8217;m building, and we need to think about those very differently.</p>
</blockquote>



<p class="wp-block-paragraph"><br>For developers using coding assistants, the harness is mostly about standards, workflows, and how AI fits into the team’s development process. But for engineers building AI products, it means something completely different, as Mike put it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You have to think about how you&#8217;re actually going to deploy that out to infrastructure and deploy it at scale. And so doing that right and not just putting everything inside of one container, that&#8217;s the top tip here.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-8-1024x538.jpg?x32039" alt="" class="wp-image-11054" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-8-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-8-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-8-768x403.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-8.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: Ivan Pelivanović</figcaption></figure>



<p class="wp-block-paragraph">That distinction matters because a lot of AI talk treats every agent as the same, but Mike says the engineering challenges are very different depending on whether you’re using an AI tool or building one for other people.</p>



<h2 class="wp-block-heading"><span id="observability-needs-to-be-built-in-early">Observability needs to be built in early</span></h2>



<p class="wp-block-paragraph">Today’s AI world is full of impressive demos. They can write code, answer questions, and automate tasks well enough to impress a crowd. But production systems need much more, so I asked Mike what teams usually get wrong when they move from demo to production:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The number one thing is observability, followed closely by evaluations.</p>
</blockquote>



<p class="wp-block-paragraph">Mike said that used to be less important. Teams would build something cool, show it off, and stop there. Now, <strong>production AI needs much more discipline from the start</strong>.</p>



<p class="wp-block-paragraph">Modern AI systems, Mike says, work differently from traditional software. Their outputs can vary, their reasoning isn’t always easy to trace, and agents may take several steps to reach a result. That’s why observability needs to be built in early &#8211; so teams can understand what the system is doing before they try to ship it to production. </p>



<p class="wp-block-paragraph">Too often, AI projects are still judged mainly by model quality, when what really matters is whether the system is visible and controllable in practice.</p>



<h2 class="wp-block-heading">Memory doesn&#8217;t have to live inside the agent</h2>



<p class="wp-block-paragraph">Memory is one of the biggest topics in AI engineering, and it’s often treated as essential for useful agents. So I asked Mike what engineers misunderstand most about it.</p>



<p class="wp-block-paragraph">He said the biggest misconception is that an agent can’t work without memory. Short-term memory is just the current conversation, while long-term memory carries over into future interactions. The key question is where that processing happens:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">All of that memory extraction can happen outside of your agent somewhere else because you don&#8217;t need it today. You need it tomorrow when the user comes back to the agent again.</p>
</blockquote>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How AWS Thinks About Agent Harnesses" width="500" height="281" src="https://www.youtube.com/embed/ckZtEpZCkdA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Rather than making every agent responsible for managing its own knowledge, <strong>developers can separate those concerns into different systems</strong>. That keeps agents simpler while still allowing applications to remember previous interactions.</p>



<h2 class="wp-block-heading"><span id="are-multi-agent-systems-the-future">Are multi-agent systems the future?</span></h2>



<p class="wp-block-paragraph">Another topic attracting plenty of attention are <strong>multi-agent architecture</strong>. Conference demos often showcase teams of specialized agents working together on different tasks. I was curious whether Mike sees that as the future of AI systems, so I asked him directly.</p>



<p class="wp-block-paragraph">He said that he doesn&#8217;t dismiss that approach, but he sees a different reason for using multiple agents in production. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Multi-agent is super useful because you&#8217;re parallelizing the work. When developers build customer-facing AI systems, however, the motivation shifts. Often multi-agent is about separating out context. So it&#8217;s actually now becoming more of a context engineering conversation.</p>
</blockquote>



<p class="wp-block-paragraph">Instead of assigning agents to different jobs simply because it&#8217;s fashionable, teams should use them to <strong>isolate information and avoid overwhelming a single model</strong> with every piece of available context. The architecture becomes less about adding more intelligence and more about deciding which agent should see which information.</p>



<h2 class="wp-block-heading"><span id="engineers-need-to-build-a-strong-intuition-for-generative-ai-itself">Engineers need to build a strong intuition for generative AI itself</span></h2>



<p class="wp-block-paragraph">Mike’s most practical advice had little to do with frameworks or infrastructure. </p>



<p class="wp-block-paragraph">When I asked him what developers should focus on over the next few years, he didn’t point to another SDK or the latest model release. Instead, he argued that engineers need to build a strong intuition for generative AI itself &#8211; <strong>what large language models can do, and just as importantly, what they can’t</strong>. </p>



<p class="wp-block-paragraph">New models will keep arriving, but right now, he said, the biggest improvements are happening around the model, in the harness.</p>



<p class="wp-block-paragraph">His final observation neatly summarizes the <strong>engineering mindset</strong> he hopes developers adopt:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You want to be using this technology. You don&#8217;t want this technology to be using you.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-9-1-1024x538.jpg?x32039" alt="" class="wp-image-11058" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-9-1-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-9-1-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-9-1-768x403.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/07/New-ShiftMag-panel-interview-9-1.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: Ivan Pelivanović</figcaption></figure>
<p>The post <a href="https://shiftmag.dev/we-usually-blame-the-ai-model-but-the-harness-is-what-breaks-production-11032/">We Usually Blame the AI Model, But the Harness Is What Breaks Production</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Choose a Database Because It Fits the Workload, Not Because It’s Familiar</title>
		<link>https://shiftmag.dev/choose-a-database-because-it-fits-the-workload-not-because-its-familiar-11185/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Mon, 03 Aug 2026 13:47:02 +0000</pubDate>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Aerospike]]></category>
		<category><![CDATA[AI Infrastructure]]></category>
		<category><![CDATA[Database Architecture]]></category>
		<category><![CDATA[NoSQL Databases]]></category>
		<category><![CDATA[P99 Latency]]></category>
		<category><![CDATA[Zohar Elkayam]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=11185</guid>

					<description><![CDATA[<p>The fastest way to create technical debt in AI is still the oldest one: choosing a database because it feels comfortable.</p>
<p>The post <a href="https://shiftmag.dev/choose-a-database-because-it-fits-the-workload-not-because-its-familiar-11185/">Choose a Database Because It Fits the Workload, Not Because It’s Familiar</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At the WeAreDevelopers Conference in Berlin, I met with <strong>Zohar Elkayam</strong> (Principal Solutions Architect, Aerospike) to talk about one of the most common mistakes engineering teams still make: <strong>choosing a database because it’s familiar</strong>, instead of choosing it for the actual problem they need to solve. </p>



<p class="wp-block-paragraph">It sounds like a small decision at first, but as Zohar explains, it can become a costly one later when teams have to deal with scale, reliability, latency, and re-architecture. </p>



<p class="wp-block-paragraph">We also discussed what changes when you <strong>build for real-time AI workloads</strong>, and why predictable performance matters far more than averages when your users expect speed every time.</p>



<h2 class="wp-block-heading"><span id="when-teams-pick-a-database-today-what-do-they-most-often-get-wrong">When teams pick a database today, what do they most often get wrong?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: Most people start by thinking about the databases they already know and have used in previous roles, rather than what they actually need for the specific use case in front of them.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">As a result, we often see customers choose<strong> </strong>something familiar instead of evaluating variables such as latency, speed, scale, reliability, and consistency, and selecting the right solution for their particular problem.</p>
</blockquote>



<p class="wp-block-paragraph">That becomes a major issue when they later have to revisit their decision and re-architect or refactor the solution. It can be time-consuming, costly, and extremely difficult.</p>



<h2 class="wp-block-heading"><span id="as-ai-apps-get-more-real-time-and-data-heavy-how-should-developers-and-ctos-rethink-database-architecture">As AI apps get more real-time and data-heavy, how should developers and CTOs rethink database architecture?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: Traditional web applications focused on human interaction and often relied on caches and in-memory data. When we talk about real-time systems and AI, however, we are talking about high-throughput, low-latency workloads that <strong>consume large amounts of data and need it immediately</strong>.</p>



<p class="wp-block-paragraph">Because of this, teams sometimes use solutions that no longer fit their needs. They require systems that are reliable, predictable, fast, and scalable, which is something we see all the time. Aerospike was built for exactly that use case: real-time workloads, low latency, predictability, and high throughput.</p>



<p class="wp-block-paragraph">From my perspective, when CTOs evaluate this kind of solution, they need to think about the future. <strong>They should consider what they need today, but also where the product and its infrastructure will need to be at the next stage</strong>. That is especially important for AI applications and real-time applications in general.</p>



<h2 class="wp-block-heading"><span id="many-teams-are-adding-vector-search-graph-databases-and-real-time-pipelines-to-their-stack-when-is-that-the-right-choice">Many teams are adding vector search, graph databases, and real-time pipelines to their stack. When is that the right choice?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: When many customers think about AI, their first reaction is: &#8216;This is what my competitor is doing, so I need to do it too. Sometimes, when we examine the use case, we find it provides no real value. Teams choose to do it simply because everyone else is doing it.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">These solutions shine when they provide a competitive advantage, and AI can be integrated into the system in a way that creates long-term value. If you integrate a graph database or vector-search solution simply because someone else is doing it, you are going to have a very difficult time.</p>
</blockquote>



<p class="wp-block-paragraph">From that point onward, everything you do can become a technological hurdle, which is exactly where you do not want to be. You need to <strong>focus on what will create the most value</strong>. If AI is one of those things, go for it. If it is not, you should probably consider other solutions.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Zohar Elkayam on Building AI Systems That Scale" width="500" height="281" src="https://www.youtube.com/embed/ba070p2lzBo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading"><span id="what-should-engineering-teams-measure-if-they-really-want-to-understand-database-performance-at-scale">What should engineering teams measure if they really want to understand database performance at scale?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: When it comes to database performance, predictability is the number-one factor. It should be the industry standard for anything involving low latency and high throughput.</p>



<p class="wp-block-paragraph"><strong>Focusing on the average can put you in a dangerous position</strong>. Think of a swimming pool with an average depth of 30 centimeters: you can still drown in the deep end.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You need to think differently about performance. Focus on predictability and metrics such as P99 or even P99.9. Measure them at the application level, the database level, and across the overall user experience, because that is what will make your life easier later. </p>
</blockquote>



<p class="wp-block-paragraph">If you measure only the average, 50 percent of your users will experience latency worse than that figure. If you measure P99, the 99th percentile, only 1 percent of users will experience worse latency.</p>



<p class="wp-block-paragraph">A long performance tail can be highly problematic for some use cases. Our main focus is providing long-term predictability at the high end, including P99.9 and beyond.</p>



<p class="wp-block-paragraph">That predictability cannot depend on memory or caches. It needs to hold when reading from disk, NVMe, or other storage, without relying on prior activity, cache hits, or warming data into memory.</p>



<h2 class="wp-block-heading"><span id="what-do-teams-give-up-or-gain-when-they-move-fast-with-managed-tools-versus-building-something-custom">What do teams give up or gain when they move fast with managed tools versus building something custom?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: If you are a startup building a proof of concept or just getting started, using off-the-shelf tools is perfectly fine. Over the long term, however, those tools can impose strict limitations. They can be expensive, slow, or unreliable, and they may change without your consent or even your knowledge. They can help you build quickly and get to market fast. </p>



<p class="wp-block-paragraph">But once you reach a more established stage, you need to find a different way to handle things.</p>



<p class="wp-block-paragraph">That may mean <strong>building your own solutions, adopting a data platform, and unifying your stack</strong>. You look for ways to differentiate your product from competitors and make it more scalable, faster, and more valuable.</p>



<p class="wp-block-paragraph">It all comes down to value. If your solution provides something no one else can, and that differentiation comes from a different architecture or infrastructure, then it makes sense.</p>



<p class="wp-block-paragraph">Ultimately, it is not one approach or the other. You need to combine them: use common tools to solve common problems, while applying the right technologies to the uncommon, differentiating parts of each use case.</p>



<h2 class="wp-block-heading"><span id="what-database-and-infrastructure-skills-should-software-engineers-focus-on-to-stay-relevant-as-ai-changes-development">What database and infrastructure skills should software engineers focus on to stay relevant as AI changes development?</span></h2>



<p class="wp-block-paragraph"><strong>Zohar</strong>: I think <strong>AI is a major accelerator for developers, SREs, and DevOps teams</strong>, dramatically speeding up their work. Even so, people need to stay mindful and continue developing deep expertise in their field when working with AI.</p>



<p class="wp-block-paragraph">It is like generating an image with AI. You enter a prompt and get a result, but it may not be exactly what you wanted or imagined. To the human eye, the problem is often immediately obvious: the image may show six fingers, strange features, or something else you did not expect. The same applies when you are writing code or analyzing logs. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You need enough expertise to evaluate the response critically. You have to ask why: Why did the AI give me that answer? Where did it come from? What did I learn, and how can I improve my solution?</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Instead of using AI only to generate and build things,</strong> <strong>use it to learn</strong>. You can still use it to generate code or solve problems, but you need to be able to read the output, understand it, and guide the AI so that it produces results that make sense for you.</p>



<p class="wp-block-paragraph">When you build an agentic system, use multiple agents, and pass outputs from one to another, you can sometimes lose that visibility. But if you preserve it over the long term, CTOs, developers, newcomers, and junior engineers can go very far, provided they understand what is actually happening.</p>



<p class="wp-block-paragraph">From my perspective, <strong>AI is where the industry is heading</strong>. I use it every day and across many parts of my work, but I always remain critical. I plan before I act. It is not about wasting tokens; it is about creating value through my work.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/07/zohar_1.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/zohar_1.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/07/zohar_1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/07/zohar_1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/zohar_1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/choose-a-database-because-it-fits-the-workload-not-because-its-familiar-11185/">Choose a Database Because It Fits the Workload, Not Because It’s Familiar</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Real Source of Truth Is No Longer Code &#8211; It’s the Specifications</title>
		<link>https://shiftmag.dev/the-real-source-of-truth-is-no-longer-code-its-the-specifications-10863/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Wed, 22 Jul 2026 14:23:31 +0000</pubDate>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI-generated code]]></category>
		<category><![CDATA[Codeplain]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software developer career]]></category>
		<category><![CDATA[spec-driven development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10863</guid>

					<description><![CDATA[<p>AI can write the code. The harder question is whether anyone still understands what it was supposed to do six months later.</p>
<p>The post <a href="https://shiftmag.dev/the-real-source-of-truth-is-no-longer-code-its-the-specifications-10863/">The Real Source of Truth Is No Longer Code &#8211; It’s the Specifications</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Spec-driven development</strong> aims to change that: the source of truth is no longer the code itself, but a clearly defined intent that the code can be regenerated from, tested against, and maintained with.</p>



<p class="wp-block-paragraph">At WeAreDevelopers in Berlin, I spoke with <strong>Predrag Radenkovic</strong>, CTO at Codeplain, about why some developers are skeptical of &#8220;review the spec, not the code&#8221; &#8211; and where this approach works today, and where teams still need to be careful.</p>



<h2 class="wp-block-heading"><span id="what-is-the-main-shift-from-prompt-driven-coding-to-spec-driven-development">What is the main shift from prompt-driven coding to spec-driven development?</span></h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: Prompt-driven coding operates at the level of code. Every decision an engineer makes gets translated directly into the implementation. All the maintenance happens on the level of code, where the intent behind the original solution is no longer available to the coding agent.</p>



<p class="wp-block-paragraph">Spec-driven development raises the level of abstraction. <strong>You treat the spec as the only source of truth</strong>: you define the necessary detail in natural language, and the system is built and validated from that. The intent persists in a simpler, more readable form. So you&#8217;re maintaining specs instead of code, and regenerating the code from them.</p>



<p class="wp-block-paragraph"><strong>Agentic skills</strong> are what make that workable in practice. Developers don&#8217;t want to write specs from scratch, but they&#8217;re happy to read them, so the agent drafts the spec incrementally, and the developer reviews and shapes it.</p>



<h2 class="wp-block-heading"><span id="why-are-integrations-a-good-fit-for-ai-assisted-development-and-where-does-direct-llm-based-code-generation-usually-break-down">Why are integrations a good fit for AI-assisted development, and where does direct LLM-based code generation usually break down?</span></h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: With integration development, you&#8217;re essentially becoming an<strong> expert on third-party systems</strong> <strong>that LLMs already know better than any human</strong>. Agents are strong at researching the domain, understanding the APIs, checking implementations against the current documentation.</p>



<p class="wp-block-paragraph">Where classic AI-assisted development falls short is <strong>maintenance</strong>. Integrations break in production all the time, and once you have a large number of them, you’re constantly patching code against systems you don’t control.</p>



<p class="wp-block-paragraph">With spec-driven development, <strong>the intent lives in the spec</strong>. So, when a third-party system changes and breaks an integration, the fix is usually a very small edit to the spec, and then you regenerate the code from it.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="592" src="https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_1-1024x592.png?x32039" alt="" class="wp-image-10874" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_1-1024x592.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_1-300x174.png 300w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_1-768x444.png 768w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_1.png 1089w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: <a href="https://www.codeplain.ai/" target="_blank" rel="noreferrer noopener">Codeplai.ai</a></figcaption></figure>



<h2 class="wp-block-heading"><span id="codeplain-treats-reusable-specifications-as-the-source-of-truth-what-makes-a-good-spec-and-what-do-developers-often-get-wrong-when-writing-one">Codeplain treats reusable specifications as the source of truth. What makes a good spec, and what do developers often get wrong when writing one?</span></h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: Good specs are <strong>complete, precise, unambiguous, and free of conflicting requirements</strong>. Also, their functionality is split into smaller chunks of reasonable complexity. Free-form specs aren&#8217;t ideal because the agent has to process everything at once and validating the requirements gets hard. Structuring the spec into units is what makes it both readable and checkable.</p>



<p class="wp-block-paragraph">That&#8217;s why we built the ***plain language. It lets engineers express intent precisely and keep full control over the functionality that gets implemented from it.</p>



<p class="wp-block-paragraph">What we&#8217;ve noticed over 2.5 years of working on spec-driven development is that <strong>engineers aren&#8217;t especially good at writing precise specs, but AI agents are</strong>. And the other way around: engineers are willing to review a spec thoroughly. That’s the reason why we built agentic skills for writing and validating specs.</p>



<h2 class="wp-block-heading"><span id="if-implementations-can-be-checked-against-the-specification-how-does-that-change-testing-code-review-and-trust-in-ai-generated-code">If implementations can be checked against the specification, how does that change testing, code review, and trust in AI-generated code?</span></h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: The first premise of the SDD lifecycle is that <strong>engineers thoroughly review the specs</strong>. Once the specs are accurate, much of the work is done. Codeplain&#8217;s code generator then builds the code and, more importantly, validates that it conforms to the specs.</p>



<p class="wp-block-paragraph">We do this through black-box tests written entirely from the specifications and executed against the code that was built. In the end, it&#8217;s up to the engineer to do manual testing and, if they want, to check all the test scenarios our platform created.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How *codeplain Validates Third-Party APIs with Spec-Driven Agents" width="500" height="281" src="https://www.youtube.com/embed/kWg7s3JKkag?start=1&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading"><span id="from-your-experience-scaling-integrations-what-was-the-biggest-technical-lesson-about-using-structured-specs-instead-of-direct-code-generation">From your experience scaling integrations, what was the biggest technical lesson about using structured specs instead of direct code generation?</span></h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: When you develop integrations, you become an expert in someone else&#8217;s system without creating any additional value compared to your competitors. And it gets harder as the volume of integrations grows. The biggest issue, though, is maintaining them, because<strong> around 5% of integrations break each month due to changes in systems you can&#8217;t control</strong>.</p>



<p class="wp-block-paragraph">Coding agents are already great at researching and understanding external systems, and we use them to help us write the proper specifications. Once an integration is fully defined in a spec, it&#8217;s easier and faster to maintain, because the review cycle boils down to changes in the specs and the rest is automated.</p>



<h2 class="wp-block-heading">Some developers are skeptical of ideas like &#8220;review the spec, not the code&#8221;. Where does this approach work today, and where should teams still be careful?</h2>



<p class="wp-block-paragraph"><strong>Predrag</strong>: We picked integrations as the beachhead for our platform with exactly this question in mind. <strong>The approach works best where the implementation can be validated completely</strong>, where you can check the behavior against the spec without a human in the loop. Integrations fit that well, and we&#8217;ve seen the same hold in a couple of other verticals: scraper development and ETLs.</p>



<p class="wp-block-paragraph">Where teams should be careful is anywhere full validation isn&#8217;t possible. Anything with a user interface, for example, can&#8217;t be checked the same way today. But we see a solution on the horizon. The technology just needs to mature, and it&#8217;s moving quickly.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_main.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_main.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_main-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_main-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/codeplain_main-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/the-real-source-of-truth-is-no-longer-code-its-the-specifications-10863/">The Real Source of Truth Is No Longer Code &#8211; It’s the Specifications</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Developers are the reason behind best (and worst) parts of software development</title>
		<link>https://shiftmag.dev/developers-are-the-reason-behind-best-and-worst-parts-of-software-development-10670/</link>
		
		<dc:creator><![CDATA[Ivan Simic]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 13:53:00 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Developers Answer]]></category>
		<category><![CDATA[Engineer Explains]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10670</guid>

					<description><![CDATA[<p>Building software is full of ups and downs. Some days, you're working with the best team you can find, and others it's up to you to fix something with no idea how it works and no access to documentation.</p>
<p>The post <a href="https://shiftmag.dev/developers-are-the-reason-behind-best-and-worst-parts-of-software-development-10670/">Developers are the reason behind best (and worst) parts of software development</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In the latest edition of our <a href="https://www.youtube.com/@DevelopersAnswer" target="_blank" rel="noreferrer noopener">Developers Answer series</a>, we spoke with developers about their <strong>best and worst projects</strong>, the reasons behind the challenges, and the ways they&#8217;ve made it across the finish line regardless of the hardships.</p>



<h2 class="wp-block-heading">What&#8217;s the worst type of project?</h2>



<p class="wp-block-paragraph">Sure, the term &#8220;worst&#8221; means different things to different people, but most of the engineers agree: the worst types of projects are the ones that <strong>aren&#8217;t set up well by humans,</strong> not the ones that have big technical requirements. And, as you can probably guess, human-designed flaws are much more creative.</p>



<p class="wp-block-paragraph">For example, one engineer highlighted that the worst project for him was working with family members who were not familiar with software development at all, affecting expectations, realisations and everything in between.</p>



<p class="wp-block-paragraph">Another situation was a client project that took four months, with progress going smooth up until the last month. <strong>Nikola Buhiniček,</strong> Engineering Manager, said:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">The client changed the scope significantly without much warning. We had to abandon a lot of the work we’d already done and come up with new features and opportunities. It felt like compressing two and a half months of work into one month before the deadline.</p>
</blockquote>



<p class="wp-block-paragraph">Another type of projects that drive engineers crazy are legacy code projects without real instructions on how to approach them, as explained by<strong> Edvin Teskeredžić</strong>, Senior AI Software Engineer:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">We had this old legacy project, basically 10-year-old code which needed to be maintained. It was also all internal libraries but there was no documentation. The documentation simply lived in the heads of senior engineers, so you had to kind of figure it out yourself, and you couldn&#8217;t Google it because it was all internal libraries.</p>
</blockquote>



<h2 class="wp-block-heading">What&#8217;s the best, then?</h2>



<p class="wp-block-paragraph">In contrast, the best projects tend to be tied to others as well, only this time it&#8217;s about great teams and good colleagues. For some engineers, the best projects are those where leadership has a clear vision and that vision is clearly shown to the teams.</p>



<p class="wp-block-paragraph">Other engineeers, such as <strong>Filip Bolčić</strong>, Full-Stack Engineer, highlighted <strong>teamwork as the best part of the projects</strong> they&#8217;ve worked on. For example:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">Everybody&#8217;s insight was really valuable, and I had a great mentor from whom I learned a lot. It was just a really meaningful project for us, we felt really good working on it.</p>
</blockquote>



<p class="wp-block-paragraph">On the other hand, Nikola noted that sometimes, <strong>the best projects are the most challenging ones</strong>. He explained the process of adding the automations feature to Productive was one of the more challenging and interesting ones he worked on:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">It was such a different feature from what we used to do, and I was given the opportunity to build it. In the end it was one of the best features we have. The usage is growing up from month to month. I&#8217;m really happy that it was something that I built like two years ago, and it&#8217;s still growing so fast.</p>
</blockquote>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="20 Developers Share Their Best and Worst Projects" width="500" height="281" src="https://www.youtube.com/embed/kyjc9KEN6L4?start=165&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading"><span id="it-all-comes-down-to-the-human-factor">It all comes down to the human factor</span></h2>



<p class="wp-block-paragraph">The hardest thing to fix as an engineer might not even be software-related, according to <strong>Hrvoje Rančić, </strong>Senior Software Engineer:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">My posture. I had really terrible back pain from sitting too much during the COVID era. I think this is a very dangerous job because it involves a lot of sitting, and sitting is the new smoking, so I encourage everyone to move more if you&#8217;re a software engineer.</p>
</blockquote>



<p class="wp-block-paragraph">Ergonomics aside, Software Engineer <strong>Emin Mulaimović </strong>said that some of the biggest recent challenges he had were related to LLM&#8217;s:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">We had this unstable LLM prompt which basically means you ask the same question and it gives different answers, and the answers are not marginally different. To fix that you just need to rephrase the question over and over and over again until it worked. And then when it worked you didn&#8217;t learn anything, you didn&#8217;t have fun fixing it, you&#8217;re just glad it&#8217;s over. Some bugs are fun to fix; this one wasn&#8217;t.</p>
</blockquote>



<p class="wp-block-paragraph">On the other end of the spectrum, the toughness of a task comes down to a <strong>personal mistake by the engineer themselves</strong>, and there&#8217;s rarely anything you can do but to fix it. That&#8217;s exactly what happened to Filip:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">I remember working on a really big-scale production application and accidentally just deleting a lot of important stuff from the database. I was really young in my career and I remember being really stressed out about this, but the project manager protected me and we were able to restore a backup of this database, so in the end everything was good, but it was really stressful for me.</p>
</blockquote>



<p class="wp-block-paragraph">And to further drive the point home, sometimes the fix isn&#8217;t even tough, but so time-consuming you think you&#8217;re going crazy, as evidenced by <strong>Olga Koroleva</strong>, Engineering Manager:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size wp-block-paragraph">I made a bug in the code where entries to the database were written wrong, and I had to manually fix thousands of them. After that, I always double-checked and triple-checked everything.</p>
</blockquote>



<p class="wp-block-paragraph">Make sure to <a href="https://www.youtube.com/watch?v=kyjc9KEN6L4&amp;t=165s" target="_blank" rel="noreferrer noopener">check out the entirety of the video</a> to find more about the best and worst projects, and the challenges of software development!</p>



<p class="wp-block-paragraph"><em>Special thanks to our engineering colleagues at Infobip, Nikola Buhiniček (Engineering Manager, Productive) and Filip Bolčić, (Full-Stack Engineer, Ars Futura).</em></p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1365" height="768" src="https://shiftmag.dev/wp-content/uploads/2026/07/devs-answer-best-and-worst.png?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/devs-answer-best-and-worst.png 1365w, https://shiftmag.dev/wp-content/uploads/2026/07/devs-answer-best-and-worst-300x169.png 300w, https://shiftmag.dev/wp-content/uploads/2026/07/devs-answer-best-and-worst-1024x576.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/devs-answer-best-and-worst-768x432.png 768w" sizes="auto, (max-width: 1365px) 100vw, 1365px" /></figure><p>The post <a href="https://shiftmag.dev/developers-are-the-reason-behind-best-and-worst-parts-of-software-development-10670/">Developers are the reason behind best (and worst) parts of software development</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI Helps Ship Faster, But It Doesn’t Do the Thinking</title>
		<link>https://shiftmag.dev/ai-helps-ship-faster-but-it-doesnt-do-the-thinking-10555/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 13:33:35 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[AI coding]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[technical debt]]></category>
		<category><![CDATA[vibe coding]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10555</guid>

					<description><![CDATA[<p>We asked engineers how far AI can really go in software delivery, and their answer was simple: it can speed things up, but people still have to make the decisions.</p>
<p>The post <a href="https://shiftmag.dev/ai-helps-ship-faster-but-it-doesnt-do-the-thinking-10555/">AI Helps Ship Faster, But It Doesn’t Do the Thinking</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AI coding assistants have made it look dangerously easy to believe software can now be built by prompt alone. </p>



<p class="wp-block-paragraph">In a recent conversation with a few Infobip engineers, we asked whether that promise holds up in practice &#8211; and the answer was clear: <strong>AI can generate code fast, but it still cannot understand the problem</strong>, define the boundaries, or own the consequences. </p>



<p class="wp-block-paragraph">That part remains the developer’s job.</p>



<h2 class="wp-block-heading"><span id="ai-should-be-a-tool-for-accelerating-clearly-defined-tasks">AI should be a tool for accelerating clearly defined tasks</span></h2>



<p class="wp-block-paragraph">Better context and clearer specifications make useful, maintainable, and secure output far more likely. As <strong>Zvonimir Petković</strong>, Staff Engineer, explained:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The quality of the code ultimately depends on the context given to the GenAI agent and the model underneath. The software engineer is still the one writing the specifications, and the better the specification and context, the better the code produced.</p>
</blockquote>



<p class="wp-block-paragraph">To maintain quality, he says, we need to isolate the code into smaller segments and check each one. Effective work with coding agents is <strong>less about one large prompt and more about small, controlled iterations</strong>.</p>



<p class="wp-block-paragraph">That may mean changing the architecture, refactoring a component, or requesting a more precise implementation of a single interface. <strong>František Lučivjanský</strong>, Senior Principal Engineer, described a similar workflow:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I work with AI in smaller chunks. I give it a small part, review the result, and steer the agent: &#8220;This is not correct; do it this way.&#8221; I may also define the architecture differently &#8211; for example, by asking it to refactor one part first. These slow iterations help me maintain the same quality I would achieve manually.</p>
</blockquote>



<p class="wp-block-paragraph">Working in smaller chunks helps developers preserve a mental model of the system and review decisions while the code is still easy to change. AI serves as a tool for accelerating clearly defined tasks.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Why Great AI Code Still Needs Real Engineering" width="500" height="281" src="https://www.youtube.com/embed/wxWxsWqxZvI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">AI doesn&#8217;t create technical debt, people do</h2>



<p class="wp-block-paragraph">Faster code generation naturally raises questions about technical debt. Teams have more code to understand, test, and maintain, but AI did not create technical debt. <strong>Debt grows from deadlines, trade-offs, and decisions that prioritize short-term delivery over long-term maintainability</strong>.</p>



<p class="wp-block-paragraph">For <strong>Tvrtko Ivasić</strong>, Application Security Intern, the answer is not to relax established controls, but to reinforce them:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We should preserve the standards established in the past: the security pillars, the SDLC pipeline, code review, SAST, and the rest of the process. If anything, the bar should be even higher because the code is now generated by AI rather than written by an engineer.</p>
</blockquote>



<p class="wp-block-paragraph">AI-generated code should go through the same SDLC as human-written code: code review, automated tests, SAST, and dependency checks. </p>



<p class="wp-block-paragraph">František Lučivjanský notes that agents don’t remove the pressures behind technical debt, but <strong>they can help manage it more deliberately</strong>. They can also spot duplication, suggest refactors, write tests, or explain legacy code, but the value still depends on the engineer reviewing the output.</p>



<h2 class="wp-block-heading"><span id="vibe-coding-might-evolve-into-agent-engineering">Vibe coding might evolve into agent engineering</span></h2>



<p class="wp-block-paragraph">Vibe coding may be enough for a hobby project or proof of concept, but problems begin when the same workflow reaches production without additional controls. Engineers may not need to write or memorize every line, but they still <strong>need to understand the architecture, system boundaries, scalability, and failure modes</strong>, enough to delegate implementation without delegating responsibility.</p>



<p class="wp-block-paragraph">Asked whether vibe coding is a sustainable approach to software development or merely a short-term productivity boost, Zvonimir argued that it is likely to evolve:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Vibe coding is not just a short-term boost or a passing trend. &#8220;Dark factories&#8221; may represent the ultimate direction, with workflows that incorporate vibe coding and require us to look at the code less and less. I think it will evolve into agent engineering, and that is how software will be built in the future.</p>
</blockquote>



<p class="wp-block-paragraph">Companies that adopt this workflow may ship faster without sacrificing quality, spending less time on routine code and more on specifications, architecture, evaluation, and automated controls. The key is to understand where vibe coding creates speed, where it introduces risk, and how AI agents fit into proven software engineering principles &#8211; because <strong>responsibility for what reaches production remains unchanged</strong>.</p>



<p class="wp-block-paragraph"><em>Special thanks to our engineering colleagues from <a href="https://www.infobip.com/" target="_blank" rel="noreferrer noopener">Infobip</a>, the publisher of ShiftMag!</em></p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1280" height="720" src="https://shiftmag.dev/wp-content/uploads/2026/06/2_2.jpg?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/2_2.jpg 1280w, https://shiftmag.dev/wp-content/uploads/2026/06/2_2-300x169.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/2_2-1024x576.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/2_2-768x432.jpg 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></figure><p>The post <a href="https://shiftmag.dev/ai-helps-ship-faster-but-it-doesnt-do-the-thinking-10555/">AI Helps Ship Faster, But It Doesn’t Do the Thinking</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Future Where Nobody Writes Code Manually Might Be Closer Than It Seems</title>
		<link>https://shiftmag.dev/future-no-one-writes-code-manually-10471/</link>
		
		<dc:creator><![CDATA[Ivan Simic]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 13:35:45 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10471</guid>

					<description><![CDATA[<p>As AI tools reshape how software is built, the engineers in our new video say the job is shifting from writing every line by hand to guiding, reviewing, and orchestrating what AI produces.</p>
<p>The post <a href="https://shiftmag.dev/future-no-one-writes-code-manually-10471/">A Future Where Nobody Writes Code Manually Might Be Closer Than It Seems</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1280" height="720" src="https://shiftmag.dev/wp-content/uploads/2026/06/Thumb_2.jpg?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/Thumb_2.jpg 1280w, https://shiftmag.dev/wp-content/uploads/2026/06/Thumb_2-300x169.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/Thumb_2-1024x576.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/Thumb_2-768x432.jpg 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></figure>


<p class="wp-block-paragraph">Once again, we brought together some of the finest minds Infobip has to answer tricky questions about the future of software. </p>



<p class="wp-block-paragraph">This time around, we spoke to four Infobip engineers about <strong>how they use AI in their daily work</strong> and how they view the AI revolution happening now.</p>



<h2 class="wp-block-heading"><span id="research-plan-execute">Research, plan, execute</span></h2>



<p class="wp-block-paragraph">With rapidly changing AI infrastructure, the things that used to be normal in software development are getting different, but some things stay the same. </p>



<p class="wp-block-paragraph"><strong>Petar Dučić</strong>, Engineering Director, said that the company&#8217;s mantra <strong>&#8220;you build it, you own it&#8221; has remained the same in the AI era</strong>. This simply means that engineers are responsible for whatever they build.</p>



<p class="wp-block-paragraph">Senior IT Research Scientist <strong>Ante Kapetanović</strong>, added that engineers need to <strong>separate their work phases </strong>efficiently:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You have to separate your research phase, your planning phase, and your coding implementation, whatever phase. This ultimately means that you own each step of the way. And basically, it is not AI-assisted coding, it is more human-assisting AI.</p>
</blockquote>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="From Code Writers to Agent Managers" width="500" height="281" src="https://www.youtube.com/embed/KGTQ7vG6ofo?start=1&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Engineering is now becoming even more necessary&#8230;</h2>



<p class="wp-block-paragraph">It&#8217;s true that using AI tools is, in many cases, a cheaper alternative to real people, but Petar pointed out that engineering is now becoming even more necessary, because there&#8217;s so many things that can go wrong, and <strong>we need real people to check them</strong> and undestand what&#8217;s going on.</p>



<p class="wp-block-paragraph">Senior Software Engineer<strong> Rino Čala</strong> pointed out that there&#8217;s <strong>three types of mistakes agentic tools make</strong>: logical mistakes, code-based mistakes and security mistakes. The solution is, as Rino puts it, just more tests:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">So it is definitely important to run tests, to run some local tests, CI tests, and do some static checks as well.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Zvonimir Petković</strong>, Staf Engineer, then explained that <strong>security issues</strong> are the number one flaw with AI software tools:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Security is the main risk with deploying Gen-AI generated code. With the whole Vibe coding setup, nobody looks at the code, and oftentimes we have also non-engineers deploying code. The hiding sensitive data within the source code itself, this is the number one problem.</p>
</blockquote>



<p class="wp-block-paragraph">The second problem for Zvonimir is <strong>scalability</strong>. Something that is built in a couple days might work fine for a small team, but cannot be scaled to 5,000 people easily.</p>



<h2 class="wp-block-heading">&#8230; and engineers are now more orchestrators than code writers</h2>



<p class="wp-block-paragraph">A stark contrast to the narrative of AI taking away jobs for engineers is that, with more people actively using AI, there&#8217;s a <strong>bigger need for someone with a technical background </strong>to help with not just support, but education.</p>



<p class="wp-block-paragraph">&#8220;We&#8217;re slowly becoming context engineers&#8221;, added Ante, saying that engineers are now spending a lot of time managing their context in different AI tools. He is personally a big advocate for writing your own code and feels like this is a major part of being an engineer. Still, Ante admits that might not be the case in a couple years.</p>



<p class="wp-block-paragraph">Zvonimir, interestingly, had a take about exactly that:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The total trend is that in a few years&#8217; time, we&#8217;ll have the situation where nobody writes the code manually. Software engineers will be like persons who are the experts in that field, so they will be able to review what gen AI has generated.</p>
</blockquote>



<p class="wp-block-paragraph">In conclusion, as Rino puts it, engineers are now more in the role of orchestrators and organizers than they are code writes, since they spend a lot of time managing AI models to do things properly.</p>



<p class="wp-block-paragraph"><strong>Want to hear more? Check out the video.</strong></p>



<p class="wp-block-paragraph"><em>Special thanks to our fellow colleagues at Infobip, the publisher of ShiftMag!</em></p>
<p>The post <a href="https://shiftmag.dev/future-no-one-writes-code-manually-10471/">A Future Where Nobody Writes Code Manually Might Be Closer Than It Seems</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: shiftmag.dev @ 2026-10-14 04:22:42 by W3 Total Cache
-->