<?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>Marko Crnjanski, Author at ShiftMag</title>
	<atom:link href="https://shiftmag.dev/author/markocrnjanski/feed/" rel="self" type="application/rss+xml" />
	<link>https://shiftmag.dev/author/markocrnjanski/</link>
	<description>Insightful engineering content &#38; community</description>
	<lastBuildDate>Wed, 08 Jul 2026 13:33:35 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://shiftmag.dev/wp-content/uploads/2024/08/cropped-ShiftMag-favicon-32x32.png</url>
	<title>Marko Crnjanski, Author at ShiftMag</title>
	<link>https://shiftmag.dev/author/markocrnjanski/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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[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 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 fetchpriority="high" decoding="async" width="1280" height="720" src="https://shiftmag.dev/wp-content/uploads/2026/06/2_2.jpg?x94846" 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="(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>Let&#8217;s Take A Look Inside Adobe&#8217;s Complete Career Ladder</title>
		<link>https://shiftmag.dev/lets-take-a-look-inside-adobes-complete-career-ladder-9464/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Mon, 25 May 2026 13:22:14 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[career ladder]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Software Engineer]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9464</guid>

					<description><![CDATA[<p>Adobe doesn't publish its engineering career ladder, but we've gathered the data to give you a clear picture.</p>
<p>The post <a href="https://shiftmag.dev/lets-take-a-look-inside-adobes-complete-career-ladder-9464/">Let&#8217;s Take A Look Inside Adobe&#8217;s Complete Career Ladder</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We pulled data from job postings, <a href="https://www.levels.fyi/en-gb/companies/adobe/salaries" target="_blank" rel="noreferrer noopener">Levels.fyi</a>, <a href="https://www.glassdoor.com/Salary/Adobe-Salaries-E1090.htm?utm_source=chatgpt.com" target="_blank" rel="noreferrer noopener">Glassdoor</a>, and <a href="https://www.teamblind.com/post/adobe-p50-scope-jpemyuvz?utm_source=chatgpt.com" target="_blank" rel="noreferrer noopener">Blind</a>. </p>



<p class="wp-block-paragraph">Put together, they form a consistent picture &#8211; not an official ladder, but a very real one that shows how engineers grow, gain influence, and move from writing code to shaping entire systems.</p>



<h2 class="wp-block-heading"><span id="compensation-reveals-the-real-hierarchy">Compensation reveals the real hierarchy</span></h2>



<p class="wp-block-paragraph">At its core, Adobe uses a <strong>P-level system (Professional levels)</strong> that maps engineering growth from entry-level roles to company-wide technical leadership.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="462" src="https://shiftmag.dev/wp-content/uploads/2026/04/adobe_1-1024x462.png?x94846" alt="" class="wp-image-9519" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/adobe_1-1024x462.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_1-300x135.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_1-768x347.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_1.png 1143w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Adobe <strong>doesn&#8217;t hand out impressive titles quickly</strong>. But behind the modest titles, what&#8217;s actually expected of you keeps growing at every level. The ladder looks flat from the outside. From the inside, the gap between levels is real.</p>



<p class="wp-block-paragraph">If titles are understated, compensation isn’t: across multiple sources, total compensation for software engineers at Adobe ranges <strong>from roughly $150K </strong>at the entry level<strong> to well above $500K</strong> at the top of the individual contributor track.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="475" src="https://shiftmag.dev/wp-content/uploads/2026/04/adobe_2-1024x475.png?x94846" alt="" class="wp-image-9520" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/adobe_2-1024x475.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_2-300x139.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_2-768x357.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/adobe_2.png 1133w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The numbers matter, but so does the curve. Pay grows steadily through early and mid-level roles and then <strong>jumps sharply after senior</strong>. That&#8217;s where Adobe starts paying for influence, not just output.</p>



<h2 class="wp-block-heading"><span id="senior-level-where-leverage-begins">Senior level: where leverage begins</span></h2>



<p class="wp-block-paragraph">At <strong>P10 and P20</strong>, the job is straightforward: ship code, learn the systems, and figure out how Adobe builds and scales things. The goal is to become someone the team can rely on.</p>



<p class="wp-block-paragraph">By <strong>P30</strong>, something shifts. Engineers stop executing tasks and start owning problems (taking a feature end-to-end), making real technical calls, and thinking about why something should be built, not just how.</p>



<p class="wp-block-paragraph">At <strong>P40</strong>, the job changes for real. Senior engineers design systems, not just features. They cross team boundaries, shape architectural decisions, and lead bigger initiatives. For many, this is a long-term home &#8211; the next step demands a fundamentally different kind of growth.</p>



<h2 class="wp-block-heading"><span id="staff-the-real-career-breakpoint">Staff: the real career breakpoint</span></h2>



<p class="wp-block-paragraph">The <strong>jump from Senior (P40) to Staff (P50)</strong> is the most important one on the ladder. Same title family, completely different job.</p>



<p class="wp-block-paragraph">Staff engineers operate as technical leaders without formal authority. They define architecture, guide technical direction, and shape roadmaps across teams. At Staff, you&#8217;re measured by what others can build because of you and compensation starts to reflect that.</p>



<p class="wp-block-paragraph">Beyond Staff, engineering becomes increasingly strategic. <strong>Senior Staff engineers (P55)</strong> operate across domains, aligning engineering efforts with business goals and driving initiatives that span multiple teams.</p>



<p class="wp-block-paragraph"><strong>Principal engineers (P60)</strong> move to a company-wide level of influence. They define technical vision, tackle ambiguous problems, and shape decisions that impact entire product lines. At this level, engineering is less about building and more about direction-setting.</p>



<h2 class="wp-block-heading"><span id="cross-company-level-mapping">Cross-company level mapping</span></h2>



<p class="wp-block-paragraph">One useful way to understand Adobe’s ladder is to map it against more transparent systems at companies like <a href="https://shiftmag.dev/microsofts-software-engineering-career-ladder-9318/" target="_blank" rel="noreferrer noopener">Microsoft</a>. While titles and expectations vary slightly, <strong>the underlying progression is broadly aligned across Big Tech</strong>. Adobe’s levels tend to appear slightly compressed in naming, but comparable in scope, especially from Staff level onward.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="458" src="https://shiftmag.dev/wp-content/uploads/2026/05/adobe_3-1024x458.png?x94846" alt="" class="wp-image-9521" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/adobe_3-1024x458.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe_3-300x134.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe_3-768x343.png 768w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe_3.png 1150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The important nuance is that while the mapping is directionally accurate, <strong>scope matters more than exact title equivalence</strong>. A P50 at Adobe may operate closer to a strong L6 at Google or even edge into L7 territory, depending on the organization, reinforcing the idea that Adobe’s ladder is less about labels and more about impact.</p>



<h2 class="wp-block-heading"><span id="what-adobe-actually-values">What Adobe actually values?</span></h2>



<p class="wp-block-paragraph">One pattern runs through the whole ladder: <strong>scope drives everything</strong>.</p>



<ul class="wp-block-list">
<li>Early levels &#8211; Can you execute?</li>



<li>Mid levels &#8211; Can you own?</li>



<li>Senior &#8211; Can you design systems?</li>



<li>Staff+ &#8211; Can you influence outcomes across teams?</li>
</ul>



<p class="wp-block-paragraph">That&#8217;s the real progression. The ladder feels invisible from the outside because titles aren&#8217;t the point — expanding impact is.</p>



<p class="wp-block-paragraph">Adobe&#8217;s ladder stands out for how quietly it operates. No playbook, no loud framing, just one consistent logic:<strong> as you grow, you move from writing code to shaping systems to shaping decisions</strong>. At the top, one question defines everything: how much of the company changes because of your 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/05/adobe-career-ladder-n4-1200x630-1.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/adobe-career-ladder-n4-1200x630-1.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe-career-ladder-n4-1200x630-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe-career-ladder-n4-1200x630-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/adobe-career-ladder-n4-1200x630-1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/lets-take-a-look-inside-adobes-complete-career-ladder-9464/">Let&#8217;s Take A Look Inside Adobe&#8217;s Complete Career Ladder</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What 4 engineers with 10+ years of experience say about staying relevant in the AI era</title>
		<link>https://shiftmag.dev/what-4-engineers-with-10-years-of-experience-say-about-staying-relevant-in-the-ai-era-9309/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 13:58:54 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Developer Experience]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[career advice]]></category>
		<category><![CDATA[development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9309</guid>

					<description><![CDATA[<p>I spoke with four veteran software engineers to explore how they’re approaching long-term career resilience and adapting their skills to stay effective in the field.</p>
<p>The post <a href="https://shiftmag.dev/what-4-engineers-with-10-years-of-experience-say-about-staying-relevant-in-the-ai-era-9309/">What 4 engineers with 10+ years of experience say about staying relevant in the AI era</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Let’s start with a cliché: AI has quickly become part of everyday work in tech, reshaping what it means to be a developer.</p>



<p class="wp-block-paragraph">A field that, just a few years ago, felt stable and full of opportunity now comes with more uncertainty -breaking in is harder, and <strong>staying relevant takes constant effort</strong>.</p>



<p class="wp-block-paragraph">We spoke with software engineers who have more than 10 years of experience to hear how they’re navigating these changes.</p>



<h2 class="wp-block-heading"><span id="thinking-back-on-your-career-what%e2%80%99s-helped-you-stay-relevant-as-technologies-and-trends-kept-evolving">Thinking back on your career, what’s helped you stay relevant as technologies and trends kept evolving?</span></h2>



<p class="wp-block-paragraph"><strong>Denis</strong>:<strong> </strong>&#8220;I was always looking for ways to improve my workflow, so I could spend more time on the interesting, creative parts of the job and less on repetitive, routine tasks. I focused on really understanding problems and possible solutions, which meant <strong>building deeper knowledge rather than relying on quick fixes from the internet</strong>. I read books, followed blogs, attended both live and online conferences, and learned from experienced people in the industry to get different perspectives and form my own conclusions.</p>



<p class="wp-block-paragraph">To stay relevant, I focused on real user use cases and the problems behind them, building solutions that create real value. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I also made a point of staying close to the products, users, and solutions over time to see what actually works and what doesn’t, regardless of hype or trends.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="256" src="https://shiftmag.dev/wp-content/uploads/2026/04/denis-1024x256.png?x94846" alt="" class="wp-image-9339" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/denis-1024x256.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/denis-300x75.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/denis-768x192.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/denis.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Working in teams and collaborating closely helped a lot, as there are always tough questions and healthy discussions that lead to better decisions in the end.&#8221;</p>



<p class="wp-block-paragraph"><strong>Marina: </strong>&#8220;Staying relevant over the years came down to <strong>curiosity and hands‑on learning</strong>. I regularly read blogs and watch online conferences to keep up with&nbsp;new technologies, but I learned the most by trying things out through small POCs. Experimenting helped me understand problems more deeply and see what really worked.&nbsp;&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Changing teams also played&nbsp;a big role. Working with people who had&nbsp;different backgrounds&nbsp;and experiences exposed me to new ways of thinking and pushed me to grow.&nbsp;&nbsp;</p>
</blockquote>



<p class="wp-block-paragraph">Finally, <strong>working on real products in production environments</strong> (especially in larger teams) taught me lessons you simply&nbsp;can’t&nbsp;learn alone. Collaboration, shared ownership, and learning from others helped me continuously adapt as the industry evolved.&#8221;</p>



<p class="wp-block-paragraph"><strong>Marko</strong>: &#8220;For me it&#8217;s a <strong>combination of continuous learning and a strong focus on fundamentals</strong>. I always tried to explore&nbsp;new technologies&nbsp;and different domains, but with an emphasis on really understanding the core principles behind them. That way, the knowledge stays useful even if my career moves in a different direction, and it becomes much easier to build on top of it later.</p>



<p class="wp-block-paragraph">Just like for the other guys, another important factor was working on real products running in serious production environments, especially in larger teams. <strong>Collaboration, communication, and learning from others in a shared codebase</strong> bring insights you simply can’t get when working alone. Those experiences helped me grow not only technically, but also in how I approach problems and make decisions in the long run.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I’d&nbsp;describe myself as a cautious early adopter. I enjoy experimenting with&nbsp;new technologies, but I try to understand the fundamentals behind them first, so I can evaluate where they truly make sense and how they contribute real value rather than just following hype.</p>
</blockquote>



<p class="wp-block-paragraph">Finally, <strong>self-reflection played&nbsp;a big role</strong>.&nbsp;Regularly asking&nbsp;myself what skills&nbsp;I’m&nbsp;missing, how I can contribute more to my team or company, and then actively working towards that has led to many good long-term career decisions.&#8221;</p>



<p class="wp-block-paragraph"><strong>Mario</strong>: &#8220;Talking to other people, watching what others build, and experimenting myself plus exploring open source projects, YouTube videos, and Udemy courses on 2x speed to quickly understand what’s possible with unfamiliar tools. I also follow Hacker News and similar newsletters. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="256" src="https://shiftmag.dev/wp-content/uploads/2026/04/mario-1024x256.png?x94846" alt="" class="wp-image-9340" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/mario-1024x256.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/mario-300x75.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/mario-768x192.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/mario.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">But staying relevant isn’t just about knowing what’s new; it’s about knowing what’s actually worth adopting &#8211; and when.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Understanding the high-level concepts</strong> <strong>and the problem</strong> I’m trying to solve is what allows me to pick something that looks like the right tool. After that, trying it out and <strong>getting first-hand experience</strong>: how it feels under the fingers, and whether it really solves my problem and makes my life easier &#8211; is mostly the deciding factor for me, but not the only one. If I’m doing a quick throwaway POC, I can try anything and really find the best tool.</p>



<p class="wp-block-paragraph">But if&nbsp;I&#8217;m&nbsp;working in a team environment where cognitive load is already high,&nbsp;I&#8217;m&nbsp;careful <strong>not to introduce&nbsp;new technologies&nbsp;every other day</strong> just because&nbsp;it&#8217;s&nbsp;the new cool shiny thing &#8211; even if it&nbsp;actually is&nbsp;the best tool.&nbsp;It&#8217;s&nbsp;a&nbsp;tradeoff, and one that needs careful consideration. And sometimes the best&nbsp;isn&#8217;t&nbsp;even needed &#8211; something that works is good enough.&#8221;</p>



<h2 class="wp-block-heading"><span id="in-your-opinion-is-long-term-success-more-about-being-a-deep-specialist-or-a-broad-generalist-has-your-perspective-changed-over-time">In your opinion, is long-term success more about being a deep specialist or a broad generalist? Has your perspective changed over time?</span></h2>



<p class="wp-block-paragraph"><strong>Denis</strong>: For long-term success (whatever that is),&nbsp;it&#8217;s&nbsp;generally better&nbsp;to develop <strong>M-shaped skills</strong>. That will take some time, but only with great collaboration and multiple deep&nbsp;expertise&nbsp;areas can you be innovative and versatile, bringing measurable value and not be easily replaceable.</p>



<p class="wp-block-paragraph"><strong>Marina</strong>: Earlier in my career, I believed that being a T‑shaped developer was the ideal path and I assumed that trying to learn more than one thing deeply would only lead to superficial knowledge and that focusing on a single specialization was the safest way to grow.&nbsp;Over time, my view changed.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Through real-world experience, I realized it’s possible to build strong, meaningful expertise in multiple areas without losing depth. As systems became more complex, having deeper knowledge across several domains helped me understand the bigger picture better, make better technical decisions, and collaborate more effectively with others.</p>
</blockquote>



<p class="wp-block-paragraph">Today,&nbsp;I believe long‑term success&nbsp;comes from <strong>combining depth with breadth</strong> &#8211; developing strong&nbsp;expertise&nbsp;in more than one area and continuously expanding that range as technology evolves. This flexibility has helped me stay relevant and adapt as roles and technologies have changed.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="256" src="https://shiftmag.dev/wp-content/uploads/2026/04/marina_final-1024x256.png?x94846" alt="" class="wp-image-9342" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/marina_final-1024x256.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/marina_final-300x75.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/marina_final-768x192.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/marina_final.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Mario:</strong> I wonder if&nbsp;it&#8217;s&nbsp;possible to be M-shaped <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> For a long time, I was a firm believer that T-shaped is the way to go &#8211; a broad overview, but with at least one area of genuine deep&nbsp;expertise. And I still think&nbsp;that&#8217;s&nbsp;a solid foundation for any engineer.</p>



<p class="wp-block-paragraph">But over 20+ years, curiosity kept pulling me in different directions: low-level Linux internals, networking, compilers, containers, orchestration, and large-scale distributed systems, working at different layers of the stack. And each time, I went deep enough to solve a real problem. That <strong>experience adds up over time</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Understanding the problem and figuring out which layer it needs to be solved in matters more than the technology layer itself, and then it’s about stitching everything together.</p>
</blockquote>



<p class="wp-block-paragraph">Do that long enough, across enough domains, and you naturally grow more spikes.&nbsp;So&nbsp;my view has evolved &#8211; <strong>I started as a T-shaped believer, and somewhere along the way I became something closer to M-shaped</strong>. Not by design, but by following the problems. And if you ask me what&nbsp;I&#8217;m&nbsp;an expert at specifically,&nbsp;I&#8217;d&nbsp;say solving&nbsp;problems, if&nbsp;that counts as&nbsp;expertise.&nbsp;That&#8217;s&nbsp;at least what I currently strive for.</p>



<p class="wp-block-paragraph"><strong>Marko:</strong> Today,&nbsp;I’d&nbsp;describe myself as <strong>somewhere between T-shaped and M-shaped</strong>,&nbsp;maybe N-shaped, still evolving. Early in my career, the T-shaped model made perfect sense, broad knowledge with depth in one area. Over time, as access to knowledge became easier and technologies evolved faster, I realized how valuable it is to develop depth in multiple areas</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">What ties all of this together is problem-solving. Technologies change, but problems&nbsp;remain. Being able to learn continuously, adapt, and apply concepts from one domain to&nbsp;seemingly unrelated&nbsp;problems&nbsp;becomes&nbsp;incredibly valuable over the long term.</p>
</blockquote>



<p class="wp-block-paragraph">If I were to advise myself 10 years ago or to others today, it would be to <strong>stay curious, keep learning, and surround yourself with people you can both learn from and teach</strong>. Also,&nbsp;don’t&nbsp;be afraid to broaden your horizons, look for ways to contribute beyond your narrow specialization, pick up complementary skills, and take some risks. Growth often happens outside your comfort zone.</p>



<h2 class="wp-block-heading"><span id="how-do-you-see-ai-toolsimpactinglong-term-developer-careers">How do you see AI tools&nbsp;impacting&nbsp;long-term developer careers?</span></h2>



<p class="wp-block-paragraph"><strong>Mario:</strong> AI impact is real, especially in engineering. We’re much faster at writing code, and I can smart-search unfamiliar codebases and quickly understand how things work (something that used to take a huge effort). </p>



<p class="wp-block-paragraph">But there’s a price.</p>



<p class="wp-block-paragraph"><strong>The amount of generated code is huge, yet humans still need to review, understand, and own it</strong>. AI isn’t the one waking up when something breaks. Creating PRs with AI is easy, being responsible for them is another story.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Our role has shifted to making sure code that looks ok is actually ok &#8211; fits the intended architecture, the broader system, the business rules, all the things AI isn’t aware of. The value is the same: understanding whether the code works as intended and preventing it from degrading into a ball of mud nobody can understand or fix at 3am.</p>
</blockquote>



<p class="wp-block-paragraph">What’s changed is how much harder that challenge has become with code being generated at this speed. <strong>Young developers are in a tight spot</strong> &#8211; suddenly expected to skip writing code by hand but still have the same depth of understanding.</p>



<p class="wp-block-paragraph">And I’m not sure you can skip that part. There’s something about writing code by hand, hitting a wall, debugging it yourself, and feeling the pain of it not working that builds intuition you can’t shortcut. Even if AI is faster and easier. The best advice is to learn the concepts, fundamentals, and engineering best practices that hold regardless of AI.</p>



<p class="wp-block-paragraph">You need to be able to<strong> look at AI-generated code and know whether a for loop is acceptable or a dictionary lookup fits better</strong>, that’s software engineering 101. AI can generate the code, but we still need to understand whether it actually fits.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Write as much code by hand as you can. Use AI to review it, ask for other options, and have it challenge your approach, and then actually think through the answers. That way you learn faster while still building real understanding. </p>
</blockquote>



<p class="wp-block-paragraph">And <strong>don’t skip debugging AI-generated code step by step</strong>; I do it regularly. It’s how you move from just looking at code to actually feeling it. That difference becomes obvious once you try it.</p>



<p class="wp-block-paragraph">You’ll often be surprised how much you miss just by reading &#8211; sometimes it’s &#8220;this is not how I thought it worked&#8221;, sometimes it’s &#8220;I did not expect this at all.&#8221; Both are valuable, and both come from actually stepping through it.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="256" src="https://shiftmag.dev/wp-content/uploads/2026/04/marko-1024x256.png?x94846" alt="" class="wp-image-9341" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/marko-1024x256.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/marko-300x75.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/marko-768x192.png 768w, https://shiftmag.dev/wp-content/uploads/2026/04/marko.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Marko:</strong> AI tools already have&nbsp;a huge impact&nbsp;on my daily work, from writing code and understanding codebases to reviews, idea generation, debugging, and learning new topics. Overall, I see AI as a strong positive force for developers. It significantly reduces the time spent on repetitive or low-value coding tasks and frees up more space for thinking about architecture, system design, and solving complex problems that truly matter in production.</p>



<p class="wp-block-paragraph">That said, some things won’t disappear. Understanding the problem and broader context, making architectural trade-offs, communicating well, and taking ownership are still firmly human. When something breaks at 2 a.m., it’s still engineers who make decisions and take responsibility. AI is powerful, but only as effective as the person using it.</p>



<p class="wp-block-paragraph">For junior developers, don’t skip the fundamentals. Expectations are higher than ever, but strong foundations are key for a sustainable career. The good news is that access to knowledge and AI tools is better than ever. Use AI to accelerate learning, not replace understanding. Give yourself time, build experience, and master the basics—that investment pays off for decades.</p>



<p class="wp-block-paragraph"><strong>Marina: </strong>AI tools will significantly change how developers work, but I&nbsp;don’t&nbsp;see them replacing strong engineers. Instead, they will amplify those who understand what they are building. For younger developers, <strong>the key is to learn with AI, not just watch AI work</strong>.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">It’s important to <strong>question AI output</strong>, understand why it made certain changes, and how those changes affect the system. Treat AI as a learning partner rather than a shortcut. Blindly accepting generated code can limit growth, while actively analysing and improving it builds real&nbsp;expertise.&nbsp;&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Younger developers should also focus heavily on architecture and system design. When you understand how systems are structured, how components interact, and what trade‑offs exist, AI becomes far more powerful.&nbsp;It’s&nbsp;much easier to ask the right questions (and get useful results) when you already understand the problem space.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Denis</strong>: <strong>AI tools have made coding skills almost irrelevant</strong>. Still, other skills and practices related to quality, such as trunk-based development, TDD, continuous delivery, modularity, cohesion, DDD, etc., are more valuable than before. </p>



<p class="wp-block-paragraph">AI tools are a <strong>powerful amplifier</strong>, and they need guidance, so software engineers with those skills will remain relevant and in demand for a long time.&nbsp;Understanding of the (business) problem and the solution&nbsp;shouldn&#8217;t&nbsp;be outsourced to the AI. Software engineers still need to understand trade-offs,&nbsp;architecture,&nbsp;and code.&nbsp;</p>



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


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/04/shift_final.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/04/shift_final.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/04/shift_final-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/04/shift_final-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/04/shift_final-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/what-4-engineers-with-10-years-of-experience-say-about-staying-relevant-in-the-ai-era-9309/">What 4 engineers with 10+ years of experience say about staying relevant in the AI era</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Many Engineering Leaders Are Getting AI Adoption Wrong</title>
		<link>https://shiftmag.dev/ai-is-changing-development-8791/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 14:04:10 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Chris Parsons]]></category>
		<category><![CDATA[CTO]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=8791</guid>

					<description><![CDATA[<p>As AI tools become part of developers’ everyday workflows, a lot of engineering leaders assume that getting started is just a matter of buying the right software.</p>
<p>The post <a href="https://shiftmag.dev/ai-is-changing-development-8791/">Many Engineering Leaders Are Getting AI Adoption Wrong</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">But according to CTO and AI consultant <strong>Chris Parsons</strong>, the real challenge isn’t the tools themselves, it’s having the right mindset to use them effectively.</p>



<p class="wp-block-paragraph">Just introducing new tools isn’t enough to make a real impact. <strong>What truly matters is how teams work</strong> -how they build, collaborate, and keep learning along the way, says Parsons.</p>



<p class="wp-block-paragraph">He explained why many engineering leaders struggle with AI adoption, and how teams can move beyond just using AI tools to creating workflows where AI truly becomes a collaborator.</p>



<h2 class="wp-block-heading"><span id="ai-tools-can%e2%80%99t-be-treated-like-any-other-software">AI tools can’t be treated like any other software</span></h2>



<p class="wp-block-paragraph">Generative AI has sparked <strong>huge expectations across engineering teams</strong>. Many organizations assume that introducing tools like code assistants or LLM-powered platforms will instantly boost productivity. </p>



<p class="wp-block-paragraph">But Parsons argues that the real hurdle isn’t the technology itself, it’s how well the organization understands and adapts to using it.</p>



<p class="wp-block-paragraph">For CTOs and engineering leaders, this often leads to a common mistake: <strong>assuming developers can adopt AI tools as quickly and easily as they would a new IDE or software library</strong>. In reality, the shift goes much deeper:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It’s a fundamentally different way of working. You can’t simply give engineers an AI tool and expect them to start using it effectively right away. It requires time, experimentation, and a real shift in how teams approach development.</p>
</blockquote>



<p class="wp-block-paragraph">Unlike traditional software, <strong>AI is inherently non-deterministic</strong> &#8211; running the same prompt can yield different results. Teams may see promising outcomes in internal tests and assume it will behave consistently in production, only to find that real users often produce very different results.</p>



<h2 class="wp-block-heading"><span id="people-not-frameworks-drive-organizational-success">People (not frameworks) drive organizational success</span></h2>



<p class="wp-block-paragraph">Parsons’ perspective on AI adoption is also shaped by his experience scaling engineering teams. During his time at Gower Street, he helped grow a small team into an organization of more than 50 people.</p>



<p class="wp-block-paragraph">Early in that journey, he focused heavily on building the most efficient team structures and processes. Over time, however, he realized that organizational success depended much more on people than on frameworks:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If your engineering manager and product manager aren’t speaking to each other, introducing a weekly meeting won’t fix the problem.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-key-to-ai-success-track-everything">The key to AI success? Track everything</span></h2>



<p class="wp-block-paragraph">Parsons starts with a surprisingly simple recommendation for AI adoptation: <strong>log everything</strong>. Every interaction, every model response, and every step in the AI pipeline should be recorded. These logs form the backbone for understanding how the system really performs in the real world.</p>



<p class="wp-block-paragraph">From there, teams can go through the logs manually to see which responses are helpful, which are accurate, and which might cause problems.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">At the beginning, the responses are often not that good. Sometimes they’re okay, sometimes quite bad, and occasionally surprisingly bad.</p>
</blockquote>



<p class="wp-block-paragraph">This hands-on review helps teams refine prompts, tweak workflows, and boost successful responses. Parsons suggests <strong>tracking AI performance just like engineering efficiency</strong>, using metrics like positive interactions and fewer errors.</p>



<h2 class="wp-block-heading"><span id="you-should-explore-meta%e2%80%91prompting">You should explore meta‑prompting</span></h2>



<p class="wp-block-paragraph">One technique Parsons believes more leaders should explore is meta‑prompting &#8211; using AI to improve the prompts themselves.</p>



<p class="wp-block-paragraph">Rather than trying to write the perfect prompt from the start, Parsons recommends <strong>letting the AI lead the conversation</strong>, asking one clarifying question at a time. This lets the model gather context gradually and deliver much better results.</p>



<p class="wp-block-paragraph">Over time, teams can keep improving prompts by asking the AI what extra information it would have needed earlier, refining them step by step.</p>



<p class="wp-block-paragraph">Parsons sees this iterative approach as <strong>part of a bigger shift</strong>: AI is evolving from a simple assistant into a collaborator, increasingly guiding problem-solving and asking questions like a coach.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We’ll start giving AI tasks and letting it run for some time without us being involved.</p>
</blockquote>



<p class="wp-block-paragraph">That shift will mean rethinking how teams collaborate with machines. Parsons points out that even the communication tools teams rely on may need to evolve to accommodate AI as an active participant in discussions and workflows.<br></p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="720" src="https://shiftmag.dev/wp-content/uploads/2026/03/parsons_final_.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/03/parsons_final_.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/03/parsons_final_-300x180.png 300w, https://shiftmag.dev/wp-content/uploads/2026/03/parsons_final_-1024x614.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/03/parsons_final_-768x461.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<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="CTO&#039;s Honest Opinion on AI Development" width="500" height="281" src="https://www.youtube.com/embed/JYp8v65pGAg?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/ai-is-changing-development-8791/">Many Engineering Leaders Are Getting AI Adoption Wrong</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Forget the Model, It’s Workflows That Make LLM Products Run</title>
		<link>https://shiftmag.dev/llms-can-improve-customer-operations-7716/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Thu, 05 Feb 2026 14:18:39 +0000</pubDate>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[How to Web]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=7716</guid>

					<description><![CDATA[<p>Building with LLMs is nothing like traditional software. If we want something that actually works in production, we have to test it, monitor it, and keep iterating on real customer data.</p>
<p>The post <a href="https://shiftmag.dev/llms-can-improve-customer-operations-7716/">Forget the Model, It’s Workflows That Make LLM Products Run</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/02/New-ShiftMag-panel-interview.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/02/New-ShiftMag-panel-interview.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/02/New-ShiftMag-panel-interview-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/02/New-ShiftMag-panel-interview-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/02/New-ShiftMag-panel-interview-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">From his experience leading AI product teams, <strong>Andrew Mende</strong> (Senior Product Manager, Machine Learning at Booking.com) explained what it truly takes to ship LLM-based products in production.</p>



<h2 class="wp-block-heading"><span id="making-ai-products-reliable-requires-new-workflows">Making AI products reliable requires new workflows</span></h2>



<p class="wp-block-paragraph">For Mende, the buzz around AI is a rare shift, like the rise of smartphones. But what does it mean for product teams?</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This moment unlocks new ways of solving customer problems that were previously impossible due to technical constraints. </p>
</blockquote>



<p class="wp-block-paragraph">He was clear: <strong>traditional product management approaches often fail with AI-driven products</strong>. </p>



<p class="wp-block-paragraph">LLM-based systems behave differently, demand new workflows, and bring new types of risk. </p>



<p class="wp-block-paragraph">Unlike deterministic software, <strong>LLMs are probabilistic</strong> (identical inputs can produce different outputs), making experimentation easy but production readiness challenging, and forcing teams to rethink how they test, evaluate, and monitor features.</p>



<p class="wp-block-paragraph">One of the biggest traps, Mende explained, is <strong>confusing a successful prototype with a scalable solution</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It’s easy to paste a prompt into ChatGPT and see results; much harder to make it reliable across thousands of real customer inputs.</p>
</blockquote>



<p class="wp-block-paragraph">Teams need <strong>structured datasets</strong>, big tables of real customer examples, to track accuracy, spot regressions, and see if changes actually work. Without them, it’s all guesswork.</p>



<h2 class="wp-block-heading"><span id="focus-on-accuracy-cost-and-speed">Focus on accuracy, cost, and speed</span></h2>



<p class="wp-block-paragraph">Mende’s practical approach to model selection focuses on <strong>accuracy, cost, and latency</strong>: start with the most capable model to see if the problem can be solved, then move to smaller or faster models to optimize performance. </p>



<p class="wp-block-paragraph">This requires testing <strong>multiple configurations</strong> (context size, prompts, and parameters) since even small changes affect results. Beyond the model, context selection, prompt instructions, and external tools are critical:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">For example, when a customer asks about a specific order, the system should fetch real-time data instead of relying on static knowledge. This combination of LLMs and tools turns simple prompts into full systems, but also increases complexity and maintenance costs.</p>
</blockquote>



<h2 class="wp-block-heading">LLMs can transform how users interact &#8211; if teams build the right infrastructure</h2>



<p class="wp-block-paragraph">Mende concluded his How to Web lecture by saying LLMs shine by transforming user interaction: for the first time, <strong>digital products can understand plain language</strong>, turning customer requests directly into actions.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This shift brings digital experiences closer to human conversations and enables new product patterns that were out of reach just a few years ago.</p>
</blockquote>



<p class="wp-block-paragraph">The challenge now, Mende explained, is not whether LLMs work, but whether teams are willing to build the evaluation, monitoring, and infrastructure required to make them truly useful.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://shiftmag.dev/llms-can-improve-customer-operations-7716/">Forget the Model, It’s Workflows That Make LLM Products Run</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Andrej Karpathy Admits Software Development Has Changed for Good</title>
		<link>https://shiftmag.dev/llm-agents-claude-7751/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Thu, 29 Jan 2026 14:55:44 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<category><![CDATA[development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=7751</guid>

					<description><![CDATA[<p>Ex-Tesla AI director now programs mostly in plain English with AI, calling it the biggest workflow change in 20 years.</p>
<p>The post <a href="https://shiftmag.dev/llm-agents-claude-7751/">Andrej Karpathy Admits Software Development Has Changed for Good</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">When <strong>Andrej Karpathy</strong>, former director of AI at Tesla and one of the most influential voices in modern artificial intelligence, <a href="https://x.com/karpathy/status/2015883857489522876" target="_blank" rel="noreferrer noopener">casually admitted on X</a> that he now <strong>does most of his programming in English rather than code</strong>, it struck a nerve.</p>



<p class="wp-block-paragraph">Not because developers weren’t already sensing this shift, but because he said it, and because he revealed something many wouldn’t openly admit:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It hurts the ego a bit.</p>
</blockquote>



<p class="wp-block-paragraph">This wasn’t just another AI hot take. A top expert openly admitted that <strong>software development has changed in a fundamental way</strong>. Karpathy was clear:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This is easily the biggest change to my basic coding workflow in 2 decades of programming and it happened over the course of the few weeks. </p>
</blockquote>



<h2 class="wp-block-heading"><span id="karpathy-in-his-own-words"><strong>Karpathy, in his own words</strong></span></h2>



<p class="wp-block-paragraph">Karpathy explains how, over the course of just a few weeks coding in Claude, his workflow flipped almost entirely. <strong>What was once mostly handwritten code is now largely driven by LLMs</strong>, guided through natural language.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I really am mostly programming in English now, a bit sheepishly telling the LLM what code to write… in words. It hurts the ego a bit, but the power to operate over software in large &#8220;code actions&#8221; is just too net useful.</p>
</blockquote>



<p class="wp-block-paragraph">That sentence carries more weight than it first appears. It openly acknowledges the productivity gains while naming the quiet discomfort many developers feel but rarely articulate. Even for Karpathy, something is unsettling about no longer being the one writing the code line by line.</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="500" data-dnt="true"><p lang="en" dir="ltr">It feels like I’m cheating. Which is a very weird feeling to have. It takes a while to unpack. It’s because some code that used to be a point of pride and high IQ and knowledge is suddenly free and instant and it’s very disorienting.</p>&mdash; Andrej Karpathy (@karpathy) <a href="https://twitter.com/karpathy/status/2015895365674021136?ref_src=twsrc%5Etfw">January 26, 2026</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>



<p class="wp-block-paragraph">This shift isn’t about convenience or a slightly better tool. Karpathy describes it as a phase change, not an incremental improvement.</p>



<p class="wp-block-paragraph">The role of software engineers moves away from writing individual lines of code and toward orchestrating large code actions. LLMs don’t behave like perfect assistants; <strong>they act more like eager but sloppy junior developers: fast, capable, and occasionally careless</strong>. They don’t ask clarifying questions, they guess. And sometimes they guess wrong.</p>



<p class="wp-block-paragraph">The result is faster output, but also a different kind of responsibility. Less mechanical, more abstract. Less about syntax, more about judgment.</p>



<h2 class="wp-block-heading"><span id="community-reaction-and-a-bruised-identity">Community reaction and a bruised identity</span></h2>



<p class="wp-block-paragraph">The reaction to Karpathy’s post helps explain why it resonated so widely. Some developers see this evolution as liberating, with fewer repetitive tasks, more leverage, and more time spent on meaningful problem-solving. Others see something more troubling: a slow erosion of the craft that shaped their professional identity.</p>



<p class="wp-block-paragraph">A familiar split emerges: on one side are builders who embrace orchestration, prompting, and verification, on the other are developers who feel that if they’re not writing code, they’re not really programming anymore.</p>



<p class="wp-block-paragraph"><strong>That tension is emotional, not technical</strong>. Programming has never been just a job. For many, it’s a source of pride. When that pride is challenged, even by efficiency, it stings.</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="500" data-dnt="true"><p lang="en" dir="ltr">I let Claude Code turn <a href="https://twitter.com/karpathy?ref_src=twsrc%5Etfw">@karpathy</a>&#39;s post into agent skills. It first generated a bunch of skill files and around 800 lines of descriptions.<br><br>Then I let it use these agent skills to review itself. Boom, it cut itself down to 70 lines of clean, solid instructions.… <a href="https://t.co/YF7p6DpHe0">https://t.co/YF7p6DpHe0</a> <a href="https://t.co/W9MLoigt2R">pic.twitter.com/W9MLoigt2R</a></p>&mdash; Jiayuan (JY) Zhang (@jiayuan_jy) <a href="https://twitter.com/jiayuan_jy/status/2015998216517583211?ref_src=twsrc%5Etfw">January 27, 2026</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>



<p class="wp-block-paragraph">What makes this moment particularly interesting is that Karpathy <strong>hasn’t been blindly optimistic about AI agents</strong>. In the past, he’s openly questioned their maturity, arguing that today’s agents are unreliable and far from fully autonomous.</p>



<p class="wp-block-paragraph">This contrast is important. He’s saying these tools are too useful to ignore, but he’s also clear they’re still messy, fragile, and imperfect. This isn’t hype, it’s real challenges. And challenges are what spark meaningful discussion.</p>



<h2 class="wp-block-heading"><span id="am-i-really-a-developer-if-i%e2%80%99m-not-writing-code">Am I really a developer if I’m not writing code?</span></h2>



<p class="wp-block-paragraph">This conversation goes beyond the usual AI discourse cycle. If top engineers are moving from writing code to guiding systems, if success is measured by results rather than lines of code, and if pride, not skill, is the main barrier, then something bigger is happening.</p>



<p class="wp-block-paragraph">We’re not just changing tools, <strong>we’re renegotiating what it means to be a developer</strong>. </p>



<p class="wp-block-paragraph">The real question isn’t if this trend will keep going. It’s this: If programming becomes mostly about language, judgment, and style, what happens to being defined by code?</p>



<p class="wp-block-paragraph">Karpathy’s post doesn’t give answers but shows the tension. Is moving away from manual coding progress or loss? Empowerment or subtle deskilling? </p>



<p class="wp-block-paragraph">And if top engineers admit it &#8220;hurts the ego,&#8221; what does that mean for the future of the profession?</p>



<p class="wp-block-paragraph">By the end of 2025, LLM coding agents reached a level of coherence that triggered a shift in software engineering. <strong>Intelligence is now outpacing tools, workflows, and organizational structures</strong>. The industry is just starting to catch up, and 2026 is shaping up to be a fast-moving year as development learns to harness this new power.</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/01/claude_final.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/01/claude_final.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/01/claude_final-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/01/claude_final-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/01/claude_final-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/llm-agents-claude-7751/">Andrej Karpathy Admits Software Development Has Changed for Good</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Developers Can Leverage AI Today</title>
		<link>https://shiftmag.dev/its-not-the-ai-its-what-you-do-with-it-7060/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Fri, 28 Nov 2025 12:49:47 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[DevEx]]></category>
		<category><![CDATA[Shift Kuala Lumpur]]></category>
		<category><![CDATA[Tejas Kumar]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=7060</guid>

					<description><![CDATA[<p>As Tejas Kumar explains, AI isn’t about the tools themselves - it’s about reclaiming time, boosting creativity, and using what’s already at your fingertips in clever, unexpected ways.</p>
<p>The post <a href="https://shiftmag.dev/its-not-the-ai-its-what-you-do-with-it-7060/">How Developers Can Leverage AI Today</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Let’s draw a parallel between <strong>today’s software engineers and Renaissance painters.</strong></p>



<p class="wp-block-paragraph">For centuries, painters thrived because society depended on their ability to capture reality. But when a better tool arrived &#8211; the camera &#8211; <strong>the ground beneath them shifted</strong>. The craft didn’t disappear, but the meaning of value changed forever.</p>



<p class="wp-block-paragraph">&#8220;We’re facing something similar,&#8221; said <strong>Tejas Kumar</strong> (Developer Advocate, IBM) at the <a href="https://shiftmag.dev/tag/shift-kuala-lumpur/" target="_blank" rel="noreferrer noopener">Shift conference in Kuala Lumpur</a>. Citing tools like Cursor, Lovable, Bolt.new, Vero, and Windsor, he reminded developers that <strong>coding agents are already writing software faster</strong> (and often more reliably) than humans.</p>



<h2 class="wp-block-heading"><span id="developers-must-rely-on-first-principles-reasoning">Developers must rely on first-principles reasoning</span></h2>



<p class="wp-block-paragraph">The data backs this up. Job openings across S&amp;P 500 companies dropped sharply after ChatGPT’s release. Yes, market cycles and the zero-interest-rate hiring bubble played their part, but the trend points to something bigger: <strong>the profession is being reshaped</strong>, and developers need to understand how to stay relevant in the years ahead.</p>



<p class="wp-block-paragraph">To navigate this landscape, Kumar argued, developers need to lean on first-principles reasoning. The term gets tossed around often in tech circles, but it’s rarely defined clearly. He offered a straightforward explanation:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">First-principles reasoning means starting from what is invariant &#8211; the parts that never change &#8211; and building your understanding from there.</p>
</blockquote>



<p class="wp-block-paragraph">Invariants are the fundamental laws of reality &#8211; things like gravity, light, or the rising and setting of the sun. They remain constant, no matter what tools we create. </p>



<p class="wp-block-paragraph">Returning to the Renaissance analogy, Kumar explained that both painters and cameras are simply different ways of capturing the same invariant: light. <strong>The tools change, but the underlying truth stays the same</strong>.</p>



<p class="wp-block-paragraph">This approach, he argued, helps us understand the deep value of AI. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The goal isn’t to cling to the tools we’ve always used but to identify the underlying invariant that AI supports. In this case, it is reclaiming time and human agency &#8211; giving developers the freedom to focus on meaning while delegating repetitive work to machines.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-invariant-in-ai-it-gives-us-back-lost-time">The invariant in AI? It gives us back lost time</span></h2>



<p class="wp-block-paragraph">The point became unmistakable when Tejas demonstrated a <strong>multi-step AI agent in real time</strong>. Without typing a single keystroke, he watched as the agent opened Chrome, searched for the event schedule, parsed the results, and added the correct session to his calendar.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">While my hands were off, what could I have been doing? I could’ve been at the gym. Out on a run. Playing with children I don’t have yet &#8211; but pray for every day. I could have been doing something meaningful. Instead, I’ve outsourced this tedious work to my agent- and in return, I get back life.</p>
</blockquote>



<p class="wp-block-paragraph">AI does not simply automate tasks. It returns lost hours and makes room for creativity, rest, curiosity, and focus. That, he argued, is the true invariant AI addresses.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2025/11/tejas_2-1024x538.png?x94846" alt="" class="wp-image-7061" srcset="https://shiftmag.dev/wp-content/uploads/2025/11/tejas_2-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_2-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_2-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Tejas urged developers to embrace the moment &#8211; engineers have never had access to so many powerful open-source tools.</figcaption></figure>



<h2 class="wp-block-heading">Breakthroughs don’t need new toys &#8211; they need new tricks</h2>



<p class="wp-block-paragraph">As the keynote wrapped, Kumar recounted the telescope’s origins. In 1608, Dutch glassmakers used clear spyglasses horizontally to scan the horizon. A year later, Galileo pointed the same tool upward, unlocking new worlds. </p>



<p class="wp-block-paragraph">&#8220;He literally saw Jupiter. He saw Saturn,&#8221; Tejas said. &#8220;A tool used differently became the telescope we know today.&#8221;</p>



<p class="wp-block-paragraph">This story illustrates a timeless lesson: transformative breakthroughs often come not from inventing new tools, but from <strong>using existing ones in unexpected ways</strong>. In today’s era of open-source models, <a href="https://shiftmag.dev/how-infobips-mcp-enables-true-agentic-ai-5220/" target="_blank" rel="noreferrer noopener">MCP servers</a>, frameworks like LangFlow, and an unprecedented supply of freely accessible AI technologies, Kumar posed a question to developers that was simple, but profound:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">How are we using these tools and how might we use them differently to achieve more, or even discover entirely new possibilities?</p>
</blockquote>



<h2 class="wp-block-heading"><span id="in-the-age-of-ai-you-need-to-be-creative">In the age of AI you need to be CREATIVE</span></h2>



<p class="wp-block-paragraph">Tejas invited developers to embrace the moment rather than fear it. Never before have engineers had access to such a vast array of <strong>powerful open-source tools</strong>. LangFlow itself, he reminded the audience, is fully MIT-licensed and easy to self-host, letting anyone build scalable agents through a visual interface.</p>



<p class="wp-block-paragraph">But his message went beyond tools or licenses. It was a <strong>call to creativity, a call to agency</strong> &#8211; a reminder for developers to lift their gaze, imagine new possibilities, and see where these tools can take us when used in unexpected ways.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2025/11/tejas_1.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2025/11/tejas_1.png 1200w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/11/tejas_1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/its-not-the-ai-its-what-you-do-with-it-7060/">How Developers Can Leverage AI Today</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MCP Lets AI Actually Do Stuff Safely &#8211; But Only If You Watch It Like a Hawk</title>
		<link>https://shiftmag.dev/mcp-ai-developers-6943/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Fri, 14 Nov 2025 15:36:26 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Alex Shershebnev]]></category>
		<category><![CDATA[Infobip Kuala Lumpur]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[Shift Conference]]></category>
		<category><![CDATA[Shift Kuala Lumpur]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=6943</guid>

					<description><![CDATA[<p>As AI moves from generating code to taking real actions, MCP provides a crucial safety net - but only if developers enforce strict controls and monitor every move.</p>
<p>The post <a href="https://shiftmag.dev/mcp-ai-developers-6943/">MCP Lets AI Actually Do Stuff Safely &#8211; But Only If You Watch It Like a Hawk</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Although today’s LLMs are exceptional at recognizing linguistic patterns, they lack <em>grounding</em> in the physical and operational world. An LLM can generate meaningful text, but <strong>it does not truly understand the systems</strong>, <strong>data structures</strong>, or <strong>state behind that text</strong>.</p>



<p class="wp-block-paragraph"><strong>Alex Shershebnev</strong> (Head of ML/DevOps and DevRel, Zencoder) explains that this gap becomes obvious once developers try using AI in real production systems, where even a logical-sounding model output can trigger unexpected and potentially harmful effects if it interacts directly with live infrastructure.</p>



<p class="wp-block-paragraph">He warned that letting an LLM act without limits &#8211; like querying databases or deploying code &#8211; could cause serious damage, from wiping data to pushing faulty code. </p>



<p class="wp-block-paragraph">The key challenge, therefore, is to <strong>bridge this intelligence gap <em>safely</em></strong>.</p>



<h2 class="wp-block-heading">Enter MCP &#8211; a bridge between AI and infrastructure</h2>



<p class="wp-block-paragraph">To address this problem, the industry has turned to the <strong><a href="https://shiftmag.dev/how-infobips-mcp-enables-true-agentic-ai-5220/" target="_blank" rel="noreferrer noopener">Model Context Protocol (MCP)</a></strong>, introduced by Anthropic in late 2024. MCP standardizes how LLMs connect with external tools, APIs, and systems in a secure and transparent manner. The protocol defines two core entities:</p>



<ul class="wp-block-list">
<li><strong>MCP Client</strong> – usually the LLM or AI agent that determines which tools it needs to fulfill a task.</li>



<li><strong>MCP Server</strong> – the component that exposes a curated list of available tools and safely executes operations when requested.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This structure allows LLMs to extend their functionality beyond text generation, performing actions like fetching monitoring data from Grafana, reading error logs from Sentry, or triggering CI/CD pipelines without requiring unrestricted access.</p>
</blockquote>



<p class="wp-block-paragraph">Even major players like OpenAI have adopted MCP, underscoring its growing importance as an interoperability and safety standard.</p>



<h2 class="wp-block-heading"><span id="clear-parameters-drive-accurate-tool-execution">Clear parameters drive accurate tool execution</span></h2>



<p class="wp-block-paragraph">Shershebnev detailed how <strong>MCP servers present resources as</strong> <strong>tools</strong>, each defined by a name, parameters, and a clear description. The MCP client (LLM) can then select and execute the appropriate tool to retrieve or modify data.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This exchange follows a predictable, auditable flow: upon initialization, the server exposes a list of all available tools, and the LLM requests specific actions based on user input. The server executes the operation, returns the results in a standardized format, and the LLM incorporates them into its response.</p>
</blockquote>



<p class="wp-block-paragraph">Alex emphasized that MCP’s design makes it language-agnostic and easy to integrate. Developers can quickly<strong> connect their existing systems </strong>by importing a lightweight MCP library and defining tool endpoints. This opens a path for automating repetitive DevOps tasks such as branch creation, ticket management, and incident reporting.</p>



<p class="wp-block-paragraph">Through live examples, he showed how MCP agents can automatically handle Jira tickets, open branches, and even query Kubernetes clusters to diagnose pod issues, all without leaving the IDE. However, these same capabilities also amplify the potential for misuse if the setup is not properly secured.</p>



<h2 class="wp-block-heading"><span id="mcp-servers-inherit-all-the-vulnerabilities-of-traditional-servers">MCP servers inherit all the vulnerabilities of traditional servers</span></h2>



<p class="wp-block-paragraph">&#8220;Great power comes with great responsibility,&#8221; Alex noted when addressing MCP’s dual nature. MCP servers, while powerful, inherit all the vulnerabilities of traditional servers: package hijacking, malicious dependencies, open ports, and unpatched libraries. </p>



<p class="wp-block-paragraph">On top of that, they introduce new, <strong>AI-specific risks</strong>.</p>



<p class="wp-block-paragraph">The most prominent among them is <strong>prompt injection,</strong> a scenario in which a malicious payload hidden inside text, code, or a web page manipulates the LLM into performing unintended actions.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="628" src="https://shiftmag.dev/wp-content/uploads/2025/11/alex_3_-1024x628.png?x94846" alt="" class="wp-image-6949" srcset="https://shiftmag.dev/wp-content/uploads/2025/11/alex_3_-1024x628.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/11/alex_3_-300x184.png 300w, https://shiftmag.dev/wp-content/uploads/2025/11/alex_3_-768x471.png 768w, https://shiftmag.dev/wp-content/uploads/2025/11/alex_3_.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Alex also reminded the audience that the <strong>MCP represents a major leap forward for AI-driven automation</strong>. It allows LLMs to interact meaningfully with the real world, enabling developers to build more context-aware systems.</figcaption></figure>



<p class="wp-block-paragraph">Another class of attacks he called <strong>&#8220;shadow tools”</strong> exploits naming collisions: a malicious tool is registered under the same name as a legitimate one, tricking the LLM into executing unauthorized operations. These vulnerabilities highlight how tightly coupled AI logic and system control have become, and why simple sandboxing or API tokens are no longer enough.</p>



<p class="wp-block-paragraph">Alex also referenced industry data showing that even advanced AI providers detect only a portion of injection-based threats, meaning some attacks still slip through. The takeaway for developers: assume partial protection and plan defense in depth.</p>



<h2 class="wp-block-heading"><span id="deploying-mcp-safely-requires-careful-controls">Deploying MCP safely requires careful controls</span></h2>



<p class="wp-block-paragraph">Alex emphasized that deploying MCP safely requires careful planning and strict boundaries: &#8220;You can&#8217;t treat MCP as just another tool in your stack. Every action an agent takes must be controlled, monitored, and limited to what is strictly necessary.&#8221; </p>



<p class="wp-block-paragraph">According to him, <strong>developers should define precisely which tools are accessible to the LLM</strong>, ensuring that only allowed operations are permitted.</p>



<p class="wp-block-paragraph">Agents should operate with the principle of least privilege, confined to staging or read-only environments rather than production. He also mentioned the importance of input sanitization, explaining: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Never feed raw, unfiltered content directly to the model. Use intermediary layers to clean and summarize information before passing it along. Every MCP call and response should be fully auditable, with detailed logging of tool identifiers, inputs, outputs, and timestamps.</p>
</blockquote>



<p class="wp-block-paragraph">For critical operations, such as deployments or database changes, Alex recommended<strong> incorporating human approval steps</strong> to prevent unintended actions.</p>



<h2 class="wp-block-heading">MCP lets AI act in the real world &#8211; but only under controlled boundaries</h2>



<p class="wp-block-paragraph">Finally, Alex urged teams to <strong>combine traditional DevSecOps measures with MCP-specific precautions</strong>. </p>



<p class="wp-block-paragraph">Dependency scanning, code signing, and supply-chain verification remain essential, and simulation through red-team exercises can reveal vulnerabilities from prompt injections or shadow tools before they reach production. &#8220;These measures are not optional,&#8221; he said, &#8220;they are prerequisites for responsibly integrating AI into DevOps pipelines.&#8221;</p>



<p class="wp-block-paragraph">Alex concluded by reminding the audience that the <strong>MCP represents a major leap forward for AI-driven automation</strong>. It allows LLMs to interact meaningfully with the real world, enabling developers to build faster, smarter, and more context-aware systems. However, without strict governance and defensive design, the same flexibility can easily become a security liability.</p>



<p class="wp-block-paragraph">MCP is not just a technical framework; it’s a blueprint for <em>trust boundaries</em> between human developers, AI agents, and production infrastructure:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">As organizations begin adopting these tools, the line between code generation and code execution will blur, and the teams that succeed will be those who treat AI not as an omnipotent engine, but as a collaborator that must operate within precisely defined limits.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>To see these principles in action, Infobip offers their own <a href="https://github.com/infobip/mcp" target="_blank" rel="noreferrer noopener">MCP servers</a> for its communication APIs and has released an open-sourced <a href="https://github.com/infobip/infobip-openapi-mcp" target="_blank" rel="noreferrer noopener">OpenAPI MCP framework</a> that developers can use to expose any OpenAPI-described service to AI agents securely. </strong></p>


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


<p class="wp-block-paragraph"></p>
<p>The post <a href="https://shiftmag.dev/mcp-ai-developers-6943/">MCP Lets AI Actually Do Stuff Safely &#8211; But Only If You Watch It Like a Hawk</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Treat Your AI Assistant Like an Overconfident Junior Developer</title>
		<link>https://shiftmag.dev/ai-coding-assistance-6758/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Fri, 07 Nov 2025 13:16:32 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Craft conference]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<category><![CDATA[development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=6758</guid>

					<description><![CDATA[<p>As AI coding assistants level up from autocomplete to autonomous, the real challenge isn’t what they can do - it’s how we use them wisely.</p>
<p>The post <a href="https://shiftmag.dev/ai-coding-assistance-6758/">Treat Your AI Assistant Like an Overconfident Junior Developer</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">From finishing your sentences in emails to finishing entire blocks of code, AI has come a long way. It’s <strong>like having a hyper-eager junior developer on your team</strong> &#8211; fast, capable, and sometimes overconfident.</p>



<p class="wp-block-paragraph">But speed isn’t everything. These tools still need guidance, context, and careful oversight.</p>



<p class="wp-block-paragraph">In this article, <strong>Birgitta Böckeler</strong> (Distinguished Engineer, Thoughtworks) shares practical strategies for using AI responsibly, helping developers harness its power without sacrificing quality or maintainability.</p>



<h2 class="wp-block-heading"><span id="clean-code-makes-ai-shine">Clean code makes AI shine</span></h2>



<p class="wp-block-paragraph">In their early days, tools like GitHub Copilot mostly acted as advanced autocomplete assistants, predicting the next few lines of code. Today, AI has leveled up to agents that can <strong>tackle multi-step tasks</strong> &#8211; refactoring files, running tests, or even updating entire repositories.</p>



<p class="wp-block-paragraph">AI agents can now fix failing tests, optimize dependencies, and even propose small architecture tweaks. Still, as Birgitta points out, these time-saving powers come with their own set of headaches:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Developers now need to give clearer context, define their goals more precisely, and double-check AI outputs with extra care.</p>
</blockquote>



<p class="wp-block-paragraph">Because these systems lack persistent memory, developers keep session notes or hand-offs to track project state. Birgitta Böckeler notes that AI assistants work best in modular, <strong>well-structured codebases where context and dependencies are clear</strong>.</p>



<p class="wp-block-paragraph">In contrast, legacy or entangled systems often cause the AI to misinterpret relationships or overlook hidden dependencies. As a result, productivity improvements depend heavily on the specific context in which they are implemented. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Claims of 80% faster development rarely hold. AI speeds up small tasks, but big architecture, integrations, and testing still need human expertise.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="ai-can-produce-code-fast-but-it-needs-human-oversight">AI can produce code fast, but it needs human oversight</span></h2>



<p class="wp-block-paragraph">Böckeler also addressed the growing <strong>gap between the hype surrounding AI and what it can actually do</strong>. </p>



<p class="wp-block-paragraph">Many online demonstrations show AI building games or applications in mere minutes, but these impressive-looking outputs often exaggerate reality. In most cases, they produce only basic scaffolding or boilerplate code rather than fully functional, production-ready solutions, reminding developers that <strong>human oversight and refinement are still essential</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The quality of AI-generated code still depends on professional oversight, since trade-offs, compatibility concerns, and maintainability are inherently contextual and beyond the AI’s current reasoning capacity.</p>
</blockquote>



<p class="wp-block-paragraph">For example, an AI might correctly adjust a memory limit when a process fails, but it can miss deeper dependency conflicts. It may also merge methods incorrectly if compatibility rules are unclear or generate rigid test cases that complicate debugging instead of simplifying it.</p>



<h2 class="wp-block-heading"><span id="don%e2%80%99t-blindly-trust-ai-generated-code">Don’t blindly trust AI-generated code</span></h2>



<p class="wp-block-paragraph">To help developers navigate these realities, Böckeler proposed a useful mental model: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">AI assistants should be treated like junior developers. They are fast, capable, and eager to help, but they can also be overconfident and prone to mistakes.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Understanding their limits is key</strong>; like mentoring a new team member, trust must be conditional and context-dependent. Blindly accepting AI-generated code can lead to subtle bugs and long-term maintainability issues.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2025/10/craft_2-1024x538.png?x94846" alt="" class="wp-image-6765" srcset="https://shiftmag.dev/wp-content/uploads/2025/10/craft_2-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_2-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_2-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="the-hidden-pitfalls-of-ai-generated-code">The hidden pitfalls of AI-generated code</span></h2>



<p class="wp-block-paragraph">Drawing from her own experience, Böckeler emphasized several recurring pitfalls:</p>



<ul class="wp-block-list">
<li><strong>Superficial fixes:</strong> AI often suggests quick solutions that don’t address deeper architectural problems.</li>



<li><strong>Problematic test cases:</strong> Generated tests can be too brittle or too vague, sometimes requiring as much debugging as the original code.</li>



<li><strong>Reinforcing poor design:</strong> In messy or poorly structured systems, AI may perpetuate suboptimal design choices, increasing future maintenance costs.</li>



<li><strong>Increased code churn:</strong> Studies show more rework is needed on AI-generated commits, often within weeks.</li>



<li><strong>Unexpected debugging effort:</strong> Developers frequently spend more time fixing AI outputs than initially anticipated, highlighting the need for careful oversight and management.</li>
</ul>



<p class="wp-block-paragraph">This is why Böckeler recommends a proactive, disciplined approach: AI-generated code should never be accepted at face value but reviewed and thoroughly tested.<strong> Checkpoints and version</strong> control help roll back unwanted changes, and breaking complex tasks into smaller steps improves AI accuracy. </p>



<p class="wp-block-paragraph">At the team level, <strong>quality control should remain a shared responsibility</strong> &#8211; automated tests and pull requests aren’t enough.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Monitoring quality metrics and integrating AI gradually helps prevent long-term risks to maintainability and security. Above all, expectations must remain realistic: AI cannot guarantee fixed productivity gains or eliminate the need for experienced developers.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-key-lies-in-responsible-use">The key lies in responsible use</span></h2>



<p class="wp-block-paragraph">In closing, Böckeler said that AI coding tools have become a permanent fixture in software development. They are robust, adaptable, and increasingly embedded in professional workflows, but their actual value depends on how responsibly they are used.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Developers must learn not only how to operate these tools, but also how to supervise, evaluate, and sustainably integrate them.</p>
</blockquote>



<p class="wp-block-paragraph">The challenge ahead lies not in automation itself, but in ensuring that it <strong>enhances productivity without compromising quality</strong>, maintainability, or team cohesion.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2025/10/craft_1_.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2025/10/craft_1_.png 1200w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_1_-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_1_-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/10/craft_1_-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/ai-coding-assistance-6758/">Treat Your AI Assistant Like an Overconfident Junior Developer</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Debugging in the Age of AI Isn’t About Fixing Broken Code</title>
		<link>https://shiftmag.dev/debugging-ai-era-6681/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 10:59:09 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=6681</guid>

					<description><![CDATA[<p>It’s no longer about fixing syntax errors - it’s about figuring out why a billion-parameter model did something totally unexpected.</p>
<p>The post <a href="https://shiftmag.dev/debugging-ai-era-6681/">Debugging in the Age of AI Isn’t About Fixing Broken Code</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Developers are facing a whole new breed of bugs and these aren’t syntax errors you can catch with a linter. We’re talking <strong>unpredictable model outputs</strong>, <strong>data drift</strong>, or <strong>hidden biases in training sets</strong>. </p>



<p class="wp-block-paragraph">When your &#8220;code&#8221; is a neural network with billions of parameters, traditional debugging tools barely scratch the surface. </p>



<p class="wp-block-paragraph">So, the real challenge has shifted from fixing deterministic code to <strong>making sense of probabilistic behavior</strong>. </p>



<p class="wp-block-paragraph">To explore this, we spoke with <strong>Zvonimir Petkovic</strong>, Senior Software Engineer at Infobip.</p>



<h2 class="wp-block-heading">AI-assisted debugging &#8211; helping hands or crutches?</h2>



<p class="wp-block-paragraph">When asked how AI is reshaping debugging, and whether it’s making developers sharper or just more reliant on automation, Zvonimir says it all comes down to mindset: it depends on <strong>whether a developer has truly embraced AI coding in a &#8220;vibe&#8221; way or not</strong>.</p>



<p class="wp-block-paragraph">Regardless, AI tools often make debugging easier &#8211; even if you never tell Cursor to &#8220;pls fix this.&#8221;</p>



<p class="wp-block-paragraph">But when AI is doing more of the heavy lifting in debugging, what happens to a developer’s critical thinking? Here’s how Petkovic sees it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It comes down to mindset: for most people, the process offers a <strong>learning opportunity</strong>, but whether they actually benefit depends on having the time and will to dig in &#8211; or whether the project’s pace leaves no room for deeper exploration.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="why-ai-struggles-with-legacy-code">Why AI struggles with legacy code</span></h2>



<p class="wp-block-paragraph">When asked about <strong>the biggest challenges of using AI for debugging</strong> &#8211; particularly around accuracy and understanding context &#8211; Zvonimir points to one major issue: legacy projects. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Greenfield projects are easy, but try debugging a years-old, messy, poorly documented codebase, and it quickly turns into a nightmare.</p>
</blockquote>



<p class="wp-block-paragraph">Petkovic also noted that AI models have limits when it comes to context &#8211; they can’t always understand everything at once. That’s why <a href="https://shiftmag.dev/you-already-know-context-engineering-even-if-you-dont-know-the-name-5619/" target="_blank" rel="noreferrer noopener">context engineering</a> is more crucial than ever.</p>



<p class="wp-block-paragraph">We also asked Zvonimir how junior developers fare with AI-assisted debugging compared to senior engineers &#8211; does it speed up their learning, or risk slowing down their skill development? He explained:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">GenAI has proven a major boost for juniors or developers transitioning to a new stack. In most cases, it helps them learn faster, without having to call a senior every time they hit a problem.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-dark-side-of-ai-autonomy-bugs-and-tech-debt">The dark side of AI autonomy? Bugs and tech debt</span></h2>



<p class="wp-block-paragraph">Debugging isn’t just about fixing bugs. It’s also about <strong>keeping code secure and products reliable</strong>. Zvonimir pointed out the risks of leaning too heavily on AI to automatically fix problems.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">AI-generated code can quickly become a mess and a major source of technical debt if left unchecked and the same goes for automated bug fixes, especially when you push AI autonomy beyond what’s safe today.</p>
</blockquote>



<p class="wp-block-paragraph">He also warned about the risks of a Git-connected AI agent that <strong>automatically merges PRs</strong> and performs code reviews without a human in the loop. Today’s models are much more capable, but still far from fully autonomous.</p>



<h2 class="wp-block-heading">GenAI coding assistants won&#8217;t replace your principal engineers</h2>



<p class="wp-block-paragraph">Finally, Petkovic shared his thoughts on whether AI can really grasp the intent behind code well enough to spot deeper logic or architectural bugs:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">With enough context (code and docs) GenAI assistants won’t replace your principal engineers, but they can help them see problems from new angles and iterate faster.</p>
</blockquote>



<p class="wp-block-paragraph">Looking ahead, one big question is the balance between human and AI-driven debugging: could we ever reach a point where the process is fully automated?</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It’s heading in that direction. GitHub is rolling out more AI-driven debuggers that not only triage problems based on code and comments but also attempt to propose solutions.</p>
</blockquote>



<p class="wp-block-paragraph">&#8220;With GenAI models becoming better and better, and with context improving with different sources <a href="https://shiftmag.dev/how-infobips-mcp-enables-true-agentic-ai-5220/" target="_blank" rel="noreferrer noopener">expandable by the MCP</a>, I see these becoming just better over time. Still, it’s hard to say how quickly they will be totally independent, even though some major companies are allowing this sort of action in isolated projects,&#8221; Zvonimir concluded.</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2025/10/debugging_1_.png?x94846" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2025/10/debugging_1_.png 1200w, https://shiftmag.dev/wp-content/uploads/2025/10/debugging_1_-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2025/10/debugging_1_-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/10/debugging_1_-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/debugging-ai-era-6681/">Debugging in the Age of AI Isn’t About Fixing Broken Code</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-07-12 10:25:02 by W3 Total Cache
-->