<?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>ShiftMag</title>
	<atom:link href="https://shiftmag.dev/feed/" rel="self" type="application/rss+xml" />
	<link>https://shiftmag.dev/</link>
	<description>Insightful engineering content &#38; community</description>
	<lastBuildDate>Thu, 04 Jun 2026 13:24:58 +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>ShiftMag</title>
	<link>https://shiftmag.dev/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Engineering Leaders, You Should Be Worried If Your Team Isn&#8217;t Pushing Back</title>
		<link>https://shiftmag.dev/engineering-leaders-you-should-be-worried-if-your-team-isnt-pushing-back-9891/</link>
		
		<dc:creator><![CDATA[Mia Biberovic]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 13:24:58 +0000</pubDate>
				<category><![CDATA[Engineering Management]]></category>
		<category><![CDATA[coaching]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[CTO Craft]]></category>
		<category><![CDATA[David Fung]]></category>
		<category><![CDATA[engineering management]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9891</guid>

					<description><![CDATA[<p>There is a gap most engineering leaders prefer not to explore: the distance between the clarity they believe they're projecting and the confusion their teams actually experience.</p>
<p>The post <a href="https://shiftmag.dev/engineering-leaders-you-should-be-worried-if-your-team-isnt-pushing-back-9891/">Engineering Leaders, You Should Be Worried If Your Team Isn&#8217;t Pushing Back</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img fetchpriority="high" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung.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/CTO-Day2-David-Fung.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-768x403.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph"><a href="http://linkedin.com/in/davidfung2" type="link" id="http://linkedin.com/in/davidfung2">David Fung</a>, ICF PCC, founder and executive coach at Coachful Coaching, spent over two decades in tech, most recently as a Senior Director at Salesforce leading Sales Engineering teams. </p>



<p class="wp-block-paragraph">I had a chance to talk to him at CTO Craft Con in Toronto about <strong>the most reliable signal that something is wrong in the teams</strong>. Coincidentally, it is also the one most leaders misread.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">One of the biggest signs that you may not be clear is if you hear silence. A lot of leaders take silence as alignment. But silence is actually a sign that maybe people are either not clear or they may have just given up fighting with you.</p>
</blockquote>



<p class="wp-block-paragraph">The pattern he described is familiar to anyone who has worked under a fast-moving founder or senior leader: <strong>repeated pivots train teams to stop pushing back</strong>. The resistance has proven futile in the past. And the result is a team that appears aligned but actually isn&#8217;t.</p>



<h2 class="wp-block-heading"><span id="less-output-more-filtering">Less output, more filtering</span></h2>



<p class="wp-block-paragraph">Fung&#8217;s prescription runs counter to the default mode of most technology organizations right now. Instead of generating more output, more strategy documents, more direction, he argues<strong> leaders need to filter more aggressively</strong>. The job, as he frames it, is to reduce the surface area of what the team has to process so they can focus on what actually matters.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Your role now, especially as a leader in an age of AI noise and disruption, is to filter more. You need to be better at this so that your team can focus. And when your team can focus, there&#8217;s less confusion.</p>
</blockquote>



<p class="wp-block-paragraph">He&#8217;s not particularly optimistic that most leaders will find this easy. The same problem appeared across every organisation he spoke to at the CTO Craft Con. And those organisations range from small engineering teams to Fortune 500 companies &#8211; different scale, same dysfunction.</p>



<h2 class="wp-block-heading">Don&#8217;t mistake volume for clarity</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="682" src="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-1024x682.png?x94846" alt="" class="wp-image-10185" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-1024x682.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-300x200.png 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-768x511.png 768w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">CTO Craft Con</figcaption></figure>



<p class="wp-block-paragraph">On the question of whether the problem gets worse with seniority, Fung redirected. &#8220;The problem gets worse when a leader is surrounded by yes people,&#8221; he said, drawing a pointed comparison to the behaviour of large language models: humans, he noted, were sycophantic long before AI was. <strong>The leaders who struggle most are those who have never built an environment where pushback is safe. </strong>And AI, by accelerating decision-making and reducing friction, makes that environment harder to maintain, not easier.</p>



<p class="wp-block-paragraph">For technical leaders specifically, Fung identified a recurring failure mode: <strong>mistaking volume for clarity</strong>. Engineers who send fifty-paragraph emails or chain together Slack voice notes aren&#8217;t being thorough. They&#8217;re producing noise. His framework for actual clarity is straightforward: say what&#8217;s happening, say why it&#8217;s happening, and say what it means for the people on the receiving end. He calls it: Name It, Frame It, Invite It.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">A lot of technical people forget the human part of it. What does this mean for the person hearing it? Why should they care? They forget that part</p>
</blockquote>



<p class="wp-block-paragraph">The aha moment, when leaders finally recognise their own role in the confusion, requires three things to land simultaneously: dissatisfaction with the current situation, self-awareness, and willingness to change. Any one of those missing and the realisation doesn&#8217;t stick.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Even if it&#8217;s not you, start with: Maybe I&#8217;m the problem. And what can I do differently to help the team?</p>
</blockquote>



<h2 class="wp-block-heading">AI won&#8217;t help with human problems</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="682" src="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-2-1024x682.jpg?x94846" alt="" class="wp-image-10174" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-2-1024x682.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-2-300x200.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-2-768x511.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day2-David-Fung-2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">CTO Craft Con</figcaption></figure>



<p class="wp-block-paragraph">On whether AI will eventually make this class of problem smaller, his answer was straightforward: no. Speed will actually amplify it. And as long as humans remain in the loop, the underlying conditions, ego, fear, imprecision, nervousness, don&#8217;t disappear.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">So long as there&#8217;s emotions involved, the human condition will exist. And it&#8217;s not a flaw. It is part of the human experience.</p>
</blockquote>



<p class="wp-block-paragraph">For the newly promoted senior engineer trying to avoid building the same dysfunctional dynamic from day one, Fung&#8217;s advice was the same three-part framework &#8211; what&#8217;s happening, why, what it means for you &#8211; applied in <strong>their own voice</strong>, not rehearsed or smoothed into someone else&#8217;s register. </p>



<p class="wp-block-paragraph">Simple, as he acknowledged, but not always easy.</p>
<p>The post <a href="https://shiftmag.dev/engineering-leaders-you-should-be-worried-if-your-team-isnt-pushing-back-9891/">Engineering Leaders, You Should Be Worried If Your Team Isn&#8217;t Pushing Back</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Don&#8217;t Hire Juniors to Write Code, Hire Them to Become Seniors</title>
		<link>https://shiftmag.dev/dont-hire-juniors-to-write-code-hire-them-to-become-seniors-9884/</link>
		
		<dc:creator><![CDATA[Mia Biberovic]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 13:29:27 +0000</pubDate>
				<category><![CDATA[Engineering Management]]></category>
		<category><![CDATA[Christine Miao]]></category>
		<category><![CDATA[CTO Craft]]></category>
		<category><![CDATA[junior developers]]></category>
		<category><![CDATA[senior software engineer]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9884</guid>

					<description><![CDATA[<p>The case for cutting junior engineers looks airtight at the CFO level, but wrong from every other perspective.</p>
<p>The post <a href="https://shiftmag.dev/dont-hire-juniors-to-write-code-hire-them-to-become-seniors-9884/">Don&#8217;t Hire Juniors to Write Code, Hire Them to Become Seniors</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/06/CTO-Day1-Christine-Miao-cover.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/CTO-Day1-Christine-Miao-cover.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day1-Christine-Miao-cover-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day1-Christine-Miao-cover-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Day1-Christine-Miao-cover-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">AI can generate code, seniors can review it, and entry-level salaries aren&#8217;t trivial &#8211; the argument for cutting junior engineers sounds reasonable on a spreadsheet. <strong>Christine Miao&#8217;s</strong> counter-argument starts at a different level entirely.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We&#8217;re in a growing industry where companies need to be able to continue and carry forward. In order to do that, they need to hire juniors. Foundationally, it&#8217;s about survival.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="survival-ai-adoption-and-honestly-good-vibes">Survival, AI adoption and, honestly, good vibes</span></h2>



<p class="wp-block-paragraph">I had a chat with Miao, <strong>Founder and Researcher at Technical Accounting</strong>, after her talk at the CTO Craft Conference in Toronto. Her talk was followed by a presentation, one of the rare ones not (completely) generated with AI. It was fun and quirky, a bit like junior developers, who bring fresh perspective, followed by a bit of charming chaos.</p>



<p class="wp-block-paragraph">They are essential for the companies’ and industry’s survival, Miao is certain, but that part is just the floor. Miao points to something harder to quantify: <strong>the organizational effect of having people experience a steep learning curve in public for the first time</strong>. Senior engineers who mentor a junior feel accountable in a way they simply don&#8217;t with an LLM.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I would certainly very much hope that no one feels responsible to an LLM the way they would feel responsible to a young person who is learning the ropes for the first time.</p>
</blockquote>



<p class="wp-block-paragraph">There is also an adoption argument. Juniors, she notes, have no prior workflows to protect. In organizations struggling to get engineers and other team members to actually use the AI tools they&#8217;ve licensed, hiring people without ingrained habits is a legitimate strategy.</p>



<h2 class="wp-block-heading"><span id="the-culprit-for-the-current-situation">The culprit for the current situation?</span></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-day1-1024x683.png?x94846" alt="" class="wp-image-10184" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-day1-1024x683.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-day1-300x200.png 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-day1-768x512.png 768w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Toronto-audience-day1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">CTO Craft Con</figcaption></figure>



<p class="wp-block-paragraph">I asked Miao who is responsible for the current contraction in entry-level hiring. She traces it up the chain further than most critics do. The culprit, in her view, is <strong>investors who conflate cost reduction with value creation</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">They can&#8217;t tell the difference between cutting costs to maintain EBITDA, versus building a new product and creating a new growth area. In their minds, because the numbers are the same, it all adds up.</p>
</blockquote>



<p class="wp-block-paragraph">That mindset propagates downward into management, and juniors, whose output is hard to measure visibly, become an easy target.</p>



<h2 class="wp-block-heading"><span id="how-to-mentor-junior-engineers-who-use-ai">How to mentor junior engineers who use AI?</span></h2>



<p class="wp-block-paragraph">The mentorship question is where the conversation gets more complicated. Some senior engineers argue that<strong> AI-assisted development is producing juniors who generate output without understanding it</strong>, making them harder, not easier, to teach. Miao doesn&#8217;t dismiss the pattern, but she describes a bimodal distribution. On one end: juniors producing &#8220;really fast, really crappy slop&#8221; they can&#8217;t debug or explain. On the other: organizations where <a href="https://thoughtfuleng.substack.com/p/junior-developers-in-the-age-of-ai" target="_blank" rel="noreferrer noopener">juniors leveled up in roughly three months</a>, which brings down the cost of onboarding significantly.</p>



<p class="wp-block-paragraph">The difference comes down to two factors. First, a <strong>genuine organizational commitment to mentorship</strong>. Not as policy language, but as actual practice. Second, engineering foundations that are already in reasonable shape.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If you have a good baseline, AI gets easier, junior engineers become easier.</p>
</blockquote>



<p class="wp-block-paragraph">The inverse is also true: legacy codebases, poor documentation, and no mentorship infrastructure don&#8217;t just slow junior development, they actively compound each other. Adding AI to that environment and then blaming the junior for the output is a category error.</p>



<p class="wp-block-paragraph">On the question of <strong>what makes a strong junior right now</strong>. Miao is direct: it&#8217;s not code, but a want to level up, having the aptitude to recognize when a field clicks, and the grit to work through the parts that don&#8217;t. The market tightening is, in her view, a reasonable filter. <strong>Previously, anyone who could code could find a job; now the bar requires genuine engagement with the craft.</strong></p>



<h2 class="wp-block-heading">Companies that don&#8217;t hire juniors will fall into their own trap</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Christine-Miao-2-1024x768.jpg?x94846" alt="" class="wp-image-10181" srcset="https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Christine-Miao-2-1024x768.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Christine-Miao-2-300x225.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Christine-Miao-2-768x576.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/06/CTO-Craft-Christine-Miao-2.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">CTO Craft Con</figcaption></figure>



<p class="wp-block-paragraph">The longer-term risk is structural. Organizations that stop refreshing their pipelines now will, Miao argues, find themselves trapped in five years: <strong>too brittle to adapt, carrying institutional knowledge that was never transferred, and too understaffed to train anyone new</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You hit a point where you are so busy keeping your head above water that you have no time to train anyone else. At that point, frankly, money won&#8217;t fix the problem.</p>
</blockquote>



<p class="wp-block-paragraph">For the organizations paying attention, the current environment is actually favorable: <strong>junior talent is abundant, under-hired, and, when developed properly, notably loyal</strong>. The companies that recognize this as a competitive window rather than a cost problem are likely to look very different from the ones that didn&#8217;t, and not in a recoverable way.</p>
<p>The post <a href="https://shiftmag.dev/dont-hire-juniors-to-write-code-hire-them-to-become-seniors-9884/">Don&#8217;t Hire Juniors to Write Code, Hire Them to Become Seniors</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>We Asked 20 Developers Why They Really Got Into Tech. It Wasn&#8217;t the Money.</title>
		<link>https://shiftmag.dev/we-asked-20-developers-why-they-really-got-into-tech-it-wasnt-the-money-10101/</link>
		
		<dc:creator><![CDATA[Anastasija Uspenski]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 13:39:32 +0000</pubDate>
				<category><![CDATA[Developer Experience]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Engineer Explains]]></category>
		<category><![CDATA[infobip]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10101</guid>

					<description><![CDATA[<p>Twenty developers got real about their jobs: the rush of shipping something that actually works, the way a fat paycheck can make you stay longer than you probably should, and the slow death of sitting through another meeting that should've been an email.</p>
<p>The post <a href="https://shiftmag.dev/we-asked-20-developers-why-they-really-got-into-tech-it-wasnt-the-money-10101/">We Asked 20 Developers Why They Really Got Into Tech. It Wasn&#8217;t the Money.</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/05/developers_answer_shiftmag.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/05/developers_answer_shiftmag.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/developers_answer_shiftmag-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/developers_answer_shiftmag-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/developers_answer_shiftmag-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">Ask anyone outside the industry why people go into software engineering and they&#8217;ll say: good money, remote work. Talk to the developers themselves and you get a different story.</p>



<p class="wp-block-paragraph">For most of the <a href="https://www.youtube.com/watch?v=mRWXIFC12hs" target="_blank" rel="noreferrer noopener">20 of our Infobip colleagues we interviewed</a>, it started with <strong>genuine curiosity</strong> &#8211; a need to understand how things work, then build their own. Some caught the bug in childhood, others through gaming. But the thread running through nearly every story is the same: they fell in love with the craft long before they ever thought about the salary.</p>



<p class="wp-block-paragraph"><strong>Josip Antoliš,</strong> Senior Principal Engineer, captures this sentiment:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It felt like playing with Lego, just for older kids. It was really about building and experimenting.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="if-money-is-the-only-reason-you-want-to-become-a-developer-you-won%e2%80%99t-make-it">If money is the only reason you want to become a developer, you won’t make it</span></h2>



<p class="wp-block-paragraph">Money is part of the equation, and some developers are honest about it &#8211; job security and solid pay were what first pointed them toward the field. There&#8217;s nothing wrong with that. But most will tell you it only gets you so far. </p>



<p class="wp-block-paragraph">Engineering is demanding, constantly evolving, and unforgiving to those who are just going through the motions. The developers we spoke to largely agreed: <strong>without a genuine curiosity for the craft, the motivation eventually runs dry</strong>, no matter what&#8217;s in your bank account.</p>



<p class="wp-block-paragraph"><strong>Olga Koroleva</strong>, Staff Software Engineer, explains:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"> For me, it was not money driven. I just naturally like learning new things.</p>
</blockquote>



<p class="wp-block-paragraph">Not everyone had a master plan. For some of the developers we spoke to, the path into software was <strong>less a calling and more a series of small, accidental steps</strong> like following friends into a computer science program, or stumbling onto coding in their twenties and realizing they had a knack for logical thinking and breaking problems apart.</p>



<p class="wp-block-paragraph">What matters less, it turns out, is how you got in. What keeps people thriving is the <strong>willingness to keep learning and adapting</strong> in a field that never really stands still.</p>



<p class="wp-block-paragraph">Among younger developers in particular, gaming played a surprisingly direct role &#8211; less a hobby, more an early window into how software actually works.</p>



<p class="wp-block-paragraph"><strong>Edvin Teskeredžić</strong>, Senior AI Software Engineer, remembers his Counter-Strike days:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We used to play a lot of Counter-Strike, and to play together we had to set up servers. Later we started modifying the game, and only later realized we were actually programming.</p>
</blockquote>



<p class="wp-block-paragraph">In the end, whatever brought them to the field, most engineers find a way to grow into it. As <strong>Denis Kranjčec</strong>, Staff Engineer, puts it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I started programming 40 years ago, and money was fine, but it was not the only thing.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-best-things-about-being-a-developer">The best things about being a developer</span></h2>



<p class="wp-block-paragraph">When asked what they love most about the job, the answers kept circling back to the same themes.</p>



<ul class="wp-block-list">
<li>Cracking a hard problem in a clean, elegant way</li>



<li>Shipping something that actually makes life easier for people &#8211; knowing your code is quietly doing its job out in the world</li>



<li>Those rarer moments when a tangle of complex systems finally clicks into place, and what was chaos becomes something that just works</li>
</ul>



<p class="wp-block-paragraph"><strong>Creativity and problem-solving</strong> remain central themes. As Teskeredžić puts it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I like solving practical problems and applying creative solutions.</p>
</blockquote>



<p class="wp-block-paragraph">Beyond the work itself, the setup matters too &#8211; remote work, autonomy, and long uninterrupted stretches to actually think. But as Olga Koroleva puts it, what really keeps people around is simpler than any perk:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The best part is staying curious.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-not-so-good-part-of-a-developer%e2%80%99s-career">The not-so-good part of a developer’s career</span></h2>



<p class="wp-block-paragraph">Ask about the downsides and the answers get a lot shorter. One word came up more than any other: <strong>meetings</strong>. Pointless ones, mostly. The kind that could&#8217;ve been an email.</p>



<p class="wp-block-paragraph">Beyond that, developers highlighted several systemic frustrations that disrupt deep focus:</p>



<ul class="wp-block-list">
<li>Constant context-switching takes a significant mental toll.<br></li>



<li>Bureaucracy and tedious reporting often fracture the time dedicated to core engineering tasks.<br></li>



<li>Navigating undocumented legacy code and parsing ambiguous logs slows development velocity.</li>
</ul>



<p class="wp-block-paragraph">There&#8217;s also the relentless pace of change. <strong>Kristina Valjak</strong>, Engineering Lead, puts it plainly:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The speed of change means you constantly have to learn. You have to sacrifice things. It is not a job you leave at the door.</p>
</blockquote>



<p class="wp-block-paragraph">And then there&#8217;s the physical reality: long hours at a screen, tight deadlines, pressure that doesn&#8217;t let up. Even in teams doing interesting work, that combination can wear you down.</p>



<h2 class="wp-block-heading"><span id="would-they-choose-this-career-again-absolutely">Would they choose this career again? Absolutely.</span></h2>



<p class="wp-block-paragraph">When asked if they&#8217;d do it all over again, there was barely a pause. Absolutely. 100 percent. </p>



<p class="wp-block-paragraph">More pros than cons. Almost without exception, these developers would make the same choice and most believe tech still offers something few other industries can match: <strong>genuine stability and room to keep growing</strong>.</p>



<p class="wp-block-paragraph"><strong>Ivona Škorjanc</strong>, Software Engineer, remains highly optimistic:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I would still choose it. It is exciting and I see myself growing in it.</p>
</blockquote>



<p class="wp-block-paragraph">A few said they&#8217;d have <strong>invested more in the fundamentals early on</strong> &#8211; the theory, the computer science basics that tend to get skipped in the rush to learn frameworks and ship code. But that&#8217;s a minor footnote to a bigger conclusion: this field is hard, and most of them wouldn&#8217;t trade it for anything.</p>



<p class="wp-block-paragraph">Teskeredžić offers a final, inspiring perspective on the profession:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">To me, engineers are like real-world wizards. Advanced technology is like magic, and if you can be a wizard for a career, why not.</p>
</blockquote>



<p class="wp-block-paragraph">Even the ones who occasionally miss working with their hands come back to the same answer: they&#8217;d choose this path again.</p>



<p class="wp-block-paragraph"><em>Special thanks to our fellow colleagues at Infobip, the publisher of ShiftMag!</em></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="20 Developers Get Honest About Their Work" width="500" height="281" src="https://www.youtube.com/embed/mRWXIFC12hs?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/we-asked-20-developers-why-they-really-got-into-tech-it-wasnt-the-money-10101/">We Asked 20 Developers Why They Really Got Into Tech. It Wasn&#8217;t the Money.</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Trisha Gee: AI Won&#8217;t Fix Your Broken Pipeline &#8211; It Will Break It Faster</title>
		<link>https://shiftmag.dev/trisha-gee-ai-wont-fix-your-broken-pipeline-it-will-break-it-faster-9785/</link>
		
		<dc:creator><![CDATA[Ivan Pelivanovic]]></dc:creator>
		<pubDate>Wed, 27 May 2026 13:36:39 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<category><![CDATA[development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9785</guid>

					<description><![CDATA[<p>At Devoxx UK, I spoke with Trisha Gee - author and one of the most recognized voices in the Java space - about what really happens when teams lean heavily on AI. Her take was far darker than the conference hype.</p>
<p>The post <a href="https://shiftmag.dev/trisha-gee-ai-wont-fix-your-broken-pipeline-it-will-break-it-faster-9785/">Trisha Gee: AI Won&#8217;t Fix Your Broken Pipeline &#8211; It Will Break It Faster</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="720" src="https://shiftmag.dev/wp-content/uploads/2026/05/tirsha-devoxx.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/05/tirsha-devoxx.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/tirsha-devoxx-300x180.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/tirsha-devoxx-1024x614.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/tirsha-devoxx-768x461.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>

<div class="wp-block-post-excerpt wp-block-hidden-desktop wp-block-hidden-mobile wp-block-hidden-tablet"><p class="wp-block-post-excerpt__excerpt">At Devoxx UK, I spoke with Trisha Gee &#8211; author and one of the most recognized voices in the Java space &#8211; about what really happens when teams lean heavily on AI. Her take was far darker than the conference hype. </p></div>


<p class="wp-block-paragraph"><strong>Trisha Gee</strong> has spent over two decades in software development, from startups to global enterprises &#8211; equally at home discussing DORA metrics and SPACE frameworks as business outcomes and organizational design.</p>



<p class="wp-block-paragraph">At <a href="https://www.devoxx.co.uk/" target="_blank" rel="noreferrer noopener">Devoxx UK</a>, she gave a talk about how <strong>software engineering principles stay the same regardless of what tooling era you are in</strong>. </p>



<p class="wp-block-paragraph">I wanted to understand what that means right now when AI is writing a significant portion of the code.</p>



<h2 class="wp-block-heading"><span id="ai-exposes-the-weakest-link-not-just-the-fastest-path">AI exposes the weakest link, not just the fastest path</span></h2>



<p class="wp-block-paragraph">Trisha frames AI as an amplifier, not a solution. When I asked what that looks like beyond demos, she put it simply: <strong>it exposes the problems that were already there</strong>, the ones you didn&#8217;t know you had.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The most common thing I saw (I was working at Gradle, so we dealt with a lot of build tooling) was more code, more tests, and tests taking longer. The continuous delivery pipeline took a lot of pressure.</p>
</blockquote>



<p class="wp-block-paragraph">The broader pattern she describes is straightforward but easy to miss when you are excited about shipping faster. &#8220;Whichever part of your system is the weakest, it&#8217;s going to expose that part,&#8221; she said.</p>



<p class="wp-block-paragraph">Reframing it this way, while most conversations about AI adoption focus on what gets faster, Trisha highlights what deteriorates first.</p>



<h2 class="wp-block-heading"><span id="when-code-gets-cheap-everything-else-gets-expensive">When code gets cheap, everything else gets expensive</span></h2>



<p class="wp-block-paragraph">When I asked Trisha where teams should focus once code generation becomes cheap, her answer was <em>everywhere</em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="614" src="https://shiftmag.dev/wp-content/uploads/2026/05/crowd-devoxx-1024x614.jpg?x94846" alt="" class="wp-image-9877" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/crowd-devoxx-1024x614.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/crowd-devoxx-300x180.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/crowd-devoxx-768x461.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/05/crowd-devoxx.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">&nbsp;Photo: DevoxxUK / Flickr</figcaption></figure>



<p class="wp-block-paragraph">What she means is that optimizing the <strong>writing of code without understanding the surrounding system does not move the needle</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It&#8217;s not about one thing which is going to fix one problem, it&#8217;s about really understanding the whole system, it&#8217;s about understanding even the whole organization, the whole enterprise. Where does IT and technology and software fit into that? What are you really trying to deliver? What is the business benefit?</p>
</blockquote>



<p class="wp-block-paragraph">She described this as <strong>working across two ends of the process</strong>. On the input side, teams need to get better at questioning requirements before writing anything. On the output side, they need to look at build pipelines, test parallelism, flaky tests, and DORA metrics.</p>



<p class="wp-block-paragraph">&#8220;If you can measure those things (your DORA metrics, build times, whether delivered requirements actually give users value) you can start to see which parts of the process are working and which need attention,&#8221; Trisha explained.</p>



<h2 class="wp-block-heading"><span id="measuring-the-wrong-things-optimizes-the-wrong-things">Measuring the wrong things optimizes the wrong things</span></h2>



<p class="wp-block-paragraph">She also makes a sharp point about measurement and optimization.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If you measure lines of code for productivity, you&#8217;ll get more lines of code. But really productivity is not just about what we call these activity metrics. It&#8217;s not just lines of code. It&#8217;s not just pull requests, merges, features delivered.</p>
</blockquote>



<p class="wp-block-paragraph">The thing teams consistently miss is the full arc of delivery.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Developer experience and productivity is the whole piece. Did it get out to the user? Did it meet the user&#8217;s needs? Is the user paying for more of our stuff? Is the business getting what they need from what the developers are doing? What you&#8217;re measuring there impacts what you&#8217;re going to optimize.</p>
</blockquote>



<p class="wp-block-paragraph">That last line is worth sitting with. If your productivity metrics stop at pull requests merged, you are optimizing for pull requests merged.</p>



<h2 class="wp-block-heading"><span id="the-space-framework-and-why-three-metrics-beat-one"><br>The SPACE framework and why three metrics beat one</span></h2>



<p class="wp-block-paragraph">When I asked Trisha what teams should measure, she pointed to the SPACE framework. SPACE stands for <strong>satisfaction</strong>, <strong>performance</strong>, <strong>activity</strong>, <strong>communication and collaboration</strong>, and <strong>efficiency and flow</strong>.</p>



<p class="wp-block-paragraph">DORA metrics, which most teams are more familiar with, are a subset of it. Her recommendation is to <strong>pick metrics from three different dimensions</strong> rather than relying on a single category. The reasoning is that single-category metrics tend to be easy to game without improving anything real.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">So yes, you can write more code, but no, you didn&#8217;t do what the business wanted.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="614" src="https://shiftmag.dev/wp-content/uploads/2026/05/Trisha-Gee-1-1024x614.jpg?x94846" alt="" class="wp-image-9879" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/Trisha-Gee-1-1024x614.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/Trisha-Gee-1-300x180.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/Trisha-Gee-1-768x461.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/05/Trisha-Gee-1.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: Marin Pavelić</figcaption></figure>



<p class="wp-block-paragraph">She also brought up Fred Brooks and <strong>communication overhead</strong> as something the industry consistently underweights. The harder metrics to capture, like satisfaction and flow, are often more revealing than the activity metrics that dashboards make easy to track.</p>



<p class="wp-block-paragraph">The business outcomes she keeps returning to are specific: &#8220;You need to measure, did it do what you wanted it to do? Did it get out to the user in time? Did they start spending more money with us? Did it fix your retention problem?&#8221;</p>



<p class="wp-block-paragraph">Those are the things which matter much more to the business.</p>



<h2 class="wp-block-heading"><span id="what-to-fix-before-adopting-ai">What to fix before adopting AI</span></h2>



<p class="wp-block-paragraph">I wondered what teams need to get right before AI tooling can actually help them. Trisha&#8217;s first answer was essentially: stop adopting AI the way you have adopted everything else. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We generally get requirements, write the code, chuck it out there, and then you&#8217;re kind of done. That&#8217;s not how it should work.</p>
</blockquote>



<p class="wp-block-paragraph">What she advocates for instead is <strong>applying the scientific method to engineering decisions</strong>, which sounds obvious but rarely happens in real life.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Have a hypothesis, do your investigation, measure the results, have a conclusion. Generally speaking, we have not been great at that in our industry.</p>
</blockquote>



<p class="wp-block-paragraph">Applied to AI adoption specifically, that means being precise about what you are actually trying to achieve. What are we trying to achieve with AI? Do we want to deliver more features more quickly to the customer or do we want to perhaps deliver higher quality features? Because those two things are not necessarily the same thing Trisha concluded.</p>



<p class="wp-block-paragraph">Therefore the practical instruction she gives is to <strong>run short experiments, measure one change at a time, and iterate</strong>. But have a hypothesis, figure out how to measure it, measure it, get feedback, and iterate over that.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="AI Won&amp;apos;t Fix What You Can&amp;apos;t Measure" width="500" height="281" src="https://www.youtube.com/embed/iH4UnTskOSM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph"><br></p>
<p>The post <a href="https://shiftmag.dev/trisha-gee-ai-wont-fix-your-broken-pipeline-it-will-break-it-faster-9785/">Trisha Gee: AI Won&#8217;t Fix Your Broken Pipeline &#8211; It Will Break It Faster</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Killing PRs was the easy part. Now Technical Death Keeps the CTO Up.</title>
		<link>https://shiftmag.dev/killing-prs-was-the-easy-part-now-technical-death-keeps-the-cto-up-9910/</link>
		
		<dc:creator><![CDATA[Marin Pavelić]]></dc:creator>
		<pubDate>Tue, 26 May 2026 14:39:07 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[iBOOD]]></category>
		<category><![CDATA[Sander Hoogendoorn]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9910</guid>

					<description><![CDATA[<p>Everything you think is non-negotiable in software development, Sander Hoogendoorn's team quietly dropped - and nothing broke.</p>
<p>The post <a href="https://shiftmag.dev/killing-prs-was-the-easy-part-now-technical-death-keeps-the-cto-up-9910/">Killing PRs was the easy part. Now Technical Death Keeps the CTO Up.</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/05/iBOOD-sander-.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/iBOOD-sander-.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/iBOOD-sander--300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/iBOOD-sander--1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/iBOOD-sander--768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph"><strong>Sander Hoogendoorn </strong>has been writing code for over 40 years and is currently CTO at iBOOD, a Dutch e-commerce company. </p>



<p class="wp-block-paragraph">His talk at <a href="https://www.devoxx.co.uk/" target="_blank" rel="noreferrer noopener">Devoxx</a>, <em>The Last Pull Request</em>, was a live report from a team that quietly dismantled most of what the industry considers non-negotiable, and then kept shipping.</p>



<p class="wp-block-paragraph">Now there&#8217;s a new concern.</p>



<h2 class="wp-block-heading">AI didn&#8217;t change everything. Change didn&#8217;t wait for AI.</h2>



<p class="wp-block-paragraph">Sander opened with a timeline: source control, IDEs, the web, mobile, the cloud, microservices. Each wave reshaped what developers could build and how. AI is just the latest.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">AI is going to change everything? No.&nbsp;Everything already changed everything. And this is not the last step.</p>
</blockquote>



<p class="wp-block-paragraph">The point wasn&#8217;t to diminish AI but to put it in context. Every major shift expanded the tooling, and the problem space alongside it. For most teams, that problem space now sits in what Sander calls <strong>complex territory</strong>: no best practices, only things that might emerge from experimentation. Dave Snowden&#8217;s Cynefin framework is blunt about this: in a complex context, there is no right answer to find. You have to invent one.</p>



<p class="wp-block-paragraph">That&#8217;s the actual job, Sander says. Not typing code. <strong>Solving problems that have never been solved before</strong>.</p>



<h2 class="wp-block-heading"><span id="selfware">Selfware</span></h2>



<p class="wp-block-paragraph">Sander introduced a concept: selfware. Software built by non-developers (marketers, finance teams, executives) using AI to <strong>solve their own problems without involving engineering</strong>. </p>



<p class="wp-block-paragraph">At iBOOD, the content director is already doing it. So is the CMO:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We as tech are not fast enough. And I’ve seen this before. In the 80s and 90s, everyone started writing Excel spreadsheets.</p>
</blockquote>



<p class="wp-block-paragraph">The difference now is that the output isn’t a pivot table, it’s software. Unmanaged, untested, running on personal accounts with passwords nobody reviews, exporting customer data in ways that would make your compliance team cry. This is happening right now, and <strong>most engineering teams haven&#8217;t figured out what to do about it</strong>.</p>



<h2 class="wp-block-heading">No scrum, sprints, pull requests&#8230;</h2>



<p class="wp-block-paragraph">The list of things they stopped doing is long: no scrum, no sprints, no retros. Fewer standups. No scrum master, no product owner. Minimal estimates. <strong>No pull requests</strong> &#8211; because every branch is a merge waiting to happen, every review costs time, and reviewers rarely know what the code was supposed to do in the first place.</p>



<p class="wp-block-paragraph">What replaced it? <a href="https://shiftmag.dev/pair-programming-benefits-challenges-563/" target="_blank" rel="noreferrer noopener">Pair programming</a>. <a href="https://shiftmag.dev/mob-programming-why-do-it-882/" target="_blank" rel="noreferrer noopener">Mob programming</a>. Smaller changes, checked in faster, continuously. Everyone on the team is an architect. Everyone is accountable for everything, Sander says:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Perfection is achieved not when there’s nothing more to add but when there’s nothing left to take away.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="pair-me-with-claude">Pair me with Claude</span></h2>



<p class="wp-block-paragraph">Today, Sander&#8217;s 13-person team <strong>pairs with AI through most of their working day</strong>. It became the natural way to work. Currently that means Claude, though that could change next week.</p>



<p class="wp-block-paragraph">AI breaks things. Two weeks before the talk, Sander pushed AI-generated changes that silently removed all dependency injections from their web page constructors. None of the pages were serving data. He didn&#8217;t catch it until later:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I’m not saying not to use AI. I do it every day. But I do think we should check what it’s doing.</p>
</blockquote>



<p class="wp-block-paragraph">What worries him most is what he calls <strong>technical death</strong> &#8211; a state where a team spends all its time keeping existing software alive, with nothing left for anything new. Technical debt compounding under AI-generated code nobody fully reviews. Complexity accumulating faster than it gets cleaned up. That&#8217;s the real risk.</p>



<h2 class="wp-block-heading"><span id="we-asked-sander-a-few-more-things">We asked Sander a few more things</span></h2>



<h3 class="wp-block-heading"><span id="your-team-dropped-pull-requests-was-that-an-ai-decision">Your team dropped pull requests. Was that an AI decision?</span></h3>



<p class="wp-block-paragraph"><strong>Sander</strong>: No, we did that a long time ago, it has nothing to do with AI. The problem with pull requests is that <strong>they slow you down</strong>. The longer you wait with merging back into main, the harder it gets, because other people make changes too. And what you see very often is that people reviewing other people’s code tend not to know or even understand what the code was supposed to do. So they check formatting, linting, naming conventions. Which is pretty stupid, because that you can automate.</p>



<p class="wp-block-paragraph"><strong>Pull requests make sense in open source</strong>, where you have no idea who’s submitting changes or what the quality of their work is. But on your own team? I don’t see any problems with committing code from anybody automatically. We work together every day, we write code together. You just don’t need it.</p>



<h3 class="wp-block-heading"><span id="ai-is-part-of-your-team-now-what-happens-when-something-breaks">AI is part of your team now. What happens when something breaks?</span></h3>



<p class="wp-block-paragraph"><strong>Sander</strong>: We don’t track who broke it. <strong>Everybody on my team is accountable for everything, including me</strong>. If I push something and the pipeline fails and I’m not around, somebody else picks it up. I have no doubt about that. So accountability is… I don’t care too much about it, because it’s distributed. We don’t blame people. We just fix it.</p>



<h3 class="wp-block-heading"><span id="you%e2%80%99ve-been-critical-of-agile-is-ai-exposing-that-teams-never-really-understood-it">You’ve been critical of Agile. Is AI exposing that teams never really understood it?</span></h3>



<p class="wp-block-paragraph"><strong>Sander</strong>: I’m not critical about Agile. I think a lot of people misunderstand what Agile actually means. Agile does not mean Scrum. Actually, to be quite honest, Scrum is not really Agile. The Scrum Guide says Scrum is immutable, which basically means it’s not Agile, because Agile means you can improve on anything.</p>



<p class="wp-block-paragraph">There is nothing in Agile that says you need to do sprints. The key statement in the Agile Manifesto is the one at the top: <strong>we are uncovering better ways of developing software</strong>. Everything else doesn’t really matter. As long as you have that mindset, there’s always something to improve. No default way of working is going to solve the problem for you.</p>



<h3 class="wp-block-heading"><span id="where-does-this-go-in-two-or-three-years">Where does this go in two or three years?</span></h3>



<p class="wp-block-paragraph"><strong>Sander</strong>: I think we will soon realize that the <strong>English language is too ambiguous and not concise enough to specify to an AI what to do</strong>. So what will happen is that we’ll develop better ways of having conversations with AI &#8211; more precise, less ambiguous. And what those languages are called? Programming languages. We will develop programming languages that allow us to talk to an AI in a way that the AI is able to create lower-level code from it.</p>



<p class="wp-block-paragraph">Programming will be programming, except with different tools. As they always have been.</p>
<p>The post <a href="https://shiftmag.dev/killing-prs-was-the-easy-part-now-technical-death-keeps-the-cto-up-9910/">Killing PRs was the easy part. Now Technical Death Keeps the CTO Up.</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 loading="lazy" 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="auto, (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>When systems go down, devs still juggle 10 tabs. PagerDuty says MCP fixes that</title>
		<link>https://shiftmag.dev/when-systems-go-down-devs-still-juggle-10-tabs-pagerduty-says-mcp-fixes-that-9657/</link>
		
		<dc:creator><![CDATA[Ivan Pelivanovic]]></dc:creator>
		<pubDate>Fri, 22 May 2026 14:13:25 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Developer Productivity]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[PagerDuty]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9657</guid>

					<description><![CDATA[<p>Production incidents are a context problem. By the time an engineers understand what's happening, they've already bounced across several different tools - and the incident is still ongoing. PagerDuty thinks MCP is the fix.</p>
<p>The post <a href="https://shiftmag.dev/when-systems-go-down-devs-still-juggle-10-tabs-pagerduty-says-mcp-fixes-that-9657/">When systems go down, devs still juggle 10 tabs. PagerDuty says MCP fixes that</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/05/rocio-and-sebastian-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/05/rocio-and-sebastian-2.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/rocio-and-sebastian-2-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/rocio-and-sebastian-2-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/rocio-and-sebastian-2-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>

<div class="wp-block-post-excerpt wp-block-hidden-desktop wp-block-hidden-mobile wp-block-hidden-tablet"><p class="wp-block-post-excerpt__excerpt">Production incidents are a context problem. By the time an engineers understand what&#8217;s happening, they&#8217;ve already bounced across several different tools &#8211; and the incident is still ongoing. PagerDuty thinks MCP is the fix. </p></div>


<p class="wp-block-paragraph">When incidents hit production systems, engineers rarely stay inside one tool for long,  jumping from logs to dashboards to runbooks, trying to <strong>reconstruct what is actually happening</strong>.</p>



<p class="wp-block-paragraph">Talking to other builders, it seemed like almost everybody faces this context-switching problem. </p>



<p class="wp-block-paragraph"><strong>Rocío Bayon</strong> (Product Manager) and <strong>Sebastian Villanelo</strong> (Sr. Forward Deployed Engineer) from PagerDuty think MCP is how you fix it.</p>



<h2 class="wp-block-heading"><span id="pagerduty-built-their-mcp-to-cut-context-switching">PagerDuty built their MCP to cut context switching</span></h2>



<p class="wp-block-paragraph">Rocío explained that their MCP is solving the issue of context switching:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">When an incident hits, the engineer has to go between 5 to 10 different tools to understand what&#8217;s happening.</p>
</blockquote>



<p class="wp-block-paragraph">That&#8217;s the real problem they&#8217;re trying to solve. </p>



<p class="wp-block-paragraph">PagerDuty&#8217;s framing of MCP was interesting: neither Rocío nor Sebastian described MCP as just another integration layer. They framed it as <strong>connective tissue</strong> that gathers logs, alerts, runbooks, and incident context into a single workflow.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">What the MCP does, it brings all that context into one platform where engineers are usually already working.</p>
</blockquote>



<p class="wp-block-paragraph">Most engineering organizations already have enormous amounts of observability data. The real problem is that <strong>it is scattered across systems</strong>, and engineers end up reconstructing operational context manually during incidents.</p>



<h2 class="wp-block-heading"><span id="retrieve-what-you-need-nothing-more">Retrieve what you need, nothing more</span></h2>



<p class="wp-block-paragraph">Sebastian framed the problem as signal retrieval. Rather than feeding the model more information, the goal is <strong>pulling the relevant operational state around a specific incident</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If you have the right parameters or the queries and all this stuff, you will retrieve the exact information that you need.</p>
</blockquote>



<p class="wp-block-paragraph">That means <strong>narrowing context around the actual incident window</strong>. When an incident hits, it retrieves information around that time only, Sebastian explained.</p>



<p class="wp-block-paragraph">That also changes how they think about efficiency, reducing context switching directly affects operational speed, token usage, and cost.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">You will see that information only with one call. And that saves a lot of tokens and time. That&#8217;s money and time.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="614" src="https://shiftmag.dev/wp-content/uploads/2026/05/Editorial-IP-71-1024x614.jpg?x94846" alt="" class="wp-image-9873" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/Editorial-IP-71-1024x614.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/Editorial-IP-71-300x180.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/Editorial-IP-71-768x461.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/05/Editorial-IP-71.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: Lea Lobor</figcaption></figure>



<h2 class="wp-block-heading"><span id="ai-helps-but-engineers-still-decide">AI helps but engineers still decide</span></h2>



<p class="wp-block-paragraph">Still, both of them were careful not to frame AI as autonomous incident management. </p>



<p class="wp-block-paragraph">Rocío repeatedly emphasized that <strong>MCP and AI systems are primarily helping with context gathering and operational visibility</strong>, while engineers remain responsible for the high-risk decisions:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The AI is helping you, but the engineer is the one who is assessing and making decisions where there&#8217;s a high risk.</p>
</blockquote>



<p class="wp-block-paragraph">That human layer is intentional. PagerDuty&#8217;s broader vision seems less about replacing on-call engineers and more about <strong>reducing the operational overhead surrounding incidents</strong>. Their MCP systems help gather information, surface relationships between systems, and accelerate investigation workflows, but humans still decide what actually happens next.</p>



<p class="wp-block-paragraph">Rocío also mentioned that their <strong>SRE agent</strong> is designed to support larger incident workflows beyond information retrieval:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It can also help you trigger those incident workflows. So it can help you resolve the incident. And it learns as it goes.</p>
</blockquote>



<h2 class="wp-block-heading">&#8220;MCP &#8211; the connective tissue between tools&#8221;</h2>



<p class="wp-block-paragraph">I asked Rocío and Sebastian, how does MCP fit into the tools they already use without becoming just another silo.</p>



<p class="wp-block-paragraph">And both of them clearly framed <strong>MCP as anti-silo infrastructure</strong> since it brings everything to one place. Rocío called MCP &#8220;the connective tissue between all these different tools.&#8221;</p>



<p class="wp-block-paragraph">That framing probably captures the broader architectural challenge better than anything else in the interview. </p>



<p class="wp-block-paragraph">Modern incident response already spans dozens of systems: observability platforms, deployment pipelines, CI/CD tooling, ticketing systems, infrastructure management, and communication layers. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">AI systems inherit that fragmentation unless something explicitly connects operational state.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="engineers-trust-systems-that-behave-predictably">Engineers trust systems that behave predictably</span></h2>



<p class="wp-block-paragraph">Sebastian mentioned that <strong>teams often react very differently to MCP systems</strong>. Some embrace them immediately while others remain skeptical, especially around security and predictability. For him, trust improves once systems consistently produce expected outcomes:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">When a person or a teammate says &#8220;ah, I&#8217;m retrieving what I&#8217;m expecting to retrieve&#8221;, that will help them to trust it.</p>
</blockquote>



<p class="wp-block-paragraph">A lot of AI tooling discussions still focus on model capability, reasoning quality, or benchmark performance. But <strong>operational systems are usually adopted much more pragmatically</strong>. Engineers trust systems that behave predictably, retrieve the right operational context, and fit into workflows they already rely on.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="10 Tools, One IDE: PagerDuty&amp;apos;s Incident MCP" width="500" height="281" src="https://www.youtube.com/embed/YRIiKkG7JY0?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/when-systems-go-down-devs-still-juggle-10-tabs-pagerduty-says-mcp-fixes-that-9657/">When systems go down, devs still juggle 10 tabs. PagerDuty says MCP fixes that</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Teaching AI Agents to Test 1,000 Java Libraries – and Letting Them Run While You Sleep</title>
		<link>https://shiftmag.dev/teaching-ai-agents-to-test-1000-java-libraries-and-letting-them-run-while-you-sleep-9802/</link>
		
		<dc:creator><![CDATA[Marin Pavelić]]></dc:creator>
		<pubDate>Tue, 19 May 2026 18:39:50 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Vojin Jovanović]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9802</guid>

					<description><![CDATA[<p>A 1,000 libraries, 90% coverage, 1,700 in API tokens. Nobody typed a single test by hand.</p>
<p>The post <a href="https://shiftmag.dev/teaching-ai-agents-to-test-1000-java-libraries-and-letting-them-run-while-you-sleep-9802/">Teaching AI Agents to Test 1,000 Java Libraries – and Letting Them Run While You Sleep</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/05/ai-agents-java-libraries-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/ai-agents-java-libraries-1200x630-1.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/ai-agents-java-libraries-1200x630-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/ai-agents-java-libraries-1200x630-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/ai-agents-java-libraries-1200x630-1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">When humans maintained the GraalVM native image reflection metadata repository, <strong>coverage sat at just 14%</strong>. Tests were often stubs that technically compiled but covered nothing meaningful, nobody wanted to write them for someone else&#8217;s code, and the results showed.</p>



<p class="wp-block-paragraph">At <a href="https://www.devoxx.co.uk/" target="_blank" rel="noreferrer noopener">Devoxx UK</a>, <strong>Vojin Jovanovic</strong> (Principal Researcher, Oracle Labs) and <strong>Mihailo Markovic</strong> (Software Engineer, Oracle), presented how they replaced that process with an autonomous AI agent pipeline. </p>



<p class="wp-block-paragraph">The result is <strong>90% dynamic access coverage across more than 1,000 JVM libraries</strong>, roughly 2 billion tokens spent, and a GitHub repository generating thousands of commits per week &#8211; while Vojin was at a hotel the night before the conference.</p>



<h2 class="wp-block-heading"><span id="the-problem-with-graalvm-reflection">The problem with GraalVM reflection</span></h2>



<p class="wp-block-paragraph">GraalVM Native Image takes a Java application, performs static analysis, and AOT compiles it into a single binary. The benefits are significant: <strong>startup roughly 10x faster than a standard JVM</strong>,<strong> </strong>dramatically lower memory footprint. </p>



<p class="wp-block-paragraph">But static analysis has a fundamental limitation: when a method calls Class.forName(&#8220;Foo&#8221;) with a dynamic argument, the analyser <strong>cannot determine at compile time what class will be needed</strong>. Reflection calls break the closed-world assumption.</p>



<p class="wp-block-paragraph">The solution is <strong>reachability metadata</strong> &#8211; a JSON file that tells the native image compiler which classes, methods, and fields need to be accessible at runtime. Writing this metadata requires running tests that exercise all the relevant code paths. </p>



<p class="wp-block-paragraph">For a library like Hibernate Core, that means covering 264 individual reflection call sites. For Tomcat, 205. Across the JVM ecosystem, the number is enormous, and until recently, it was almost entirely a manual process that humans were not doing well.</p>



<h2 class="wp-block-heading"><span id="start-simple-then-add-feedback">Start simple, then add feedback</span></h2>



<p class="wp-block-paragraph">The first approach was straightforward: give an LLM the library source code, tell it to generate comprehensive Java tests, collect the metadata via a JVMTI agent. </p>



<p class="wp-block-paragraph">The results were not impressive &#8211; 5.7% coverage for logback, 2.9% for H2. Vojin noted how this doesn’t feel like AGI.</p>



<p class="wp-block-paragraph">The shift came from <strong>adding GraalVM’s static analysis directly to the agent’s context</strong>. Instead of asking the LLM to guess which code paths matter, the pipeline runs a static analysis pass that identifies every dynamic access call site (the exact class, method, and line number) and feeds that report directly to the agent. With this addition, logback coverage jumped to 97%, H2 to 84.3%, in five iterations.</p>



<p class="wp-block-paragraph"><strong>The next layer was JaCoCo integration</strong>. After each generation round, the pipeline correlates coverage data with the remaining uncovered call sites and feeds only the uncovered ones back into the next iteration. The agent knows exactly what it hit and what it missed. Vojin noted:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We always create a checkpoint in those systems so we can go back to it if something goes wrong. And in these LLM-driven workflows, something is always going wrong.</p>
</blockquote>



<p class="wp-block-paragraph">With this feedback loop: logback reached 100%, H2 reached 96.1%.</p>



<h2 class="wp-block-heading"><span id="coverage-sometimes-still-isn%e2%80%99t-enough">Coverage sometimes still isn’t enough</span></h2>



<p class="wp-block-paragraph">For larger, more complex libraries (Guava, Tomcat, MongoDB) even the feedback loop left gaps. The team added a third technique:<strong> PGO</strong> (Profile-Guided Optimization) <strong>profiling from GraalVM’s Graal compiler</strong>. The profiler samples execution and produces a call trace, which can be correlated with static analysis to identify exactly where a test nearly reached a reflection call but diverged.</p>



<p class="wp-block-paragraph">The profiling feedback tells the agent not just what’s uncovered, but <strong>where in the call stack a test went in the wrong direction</strong> and what it would need to do differently. Results: Guava went from 50% to 72%, Tomcat from 45% to 83%, MongoDB reached 100%. </p>



<p class="wp-block-paragraph">The feedback also tells the agent (and the engineers) why certain calls cannot be covered: a security service only available on Java 6, a cleaner class incompatible with the current JVM. &#8220;If you cannot reach it, tell us why,&#8221; the prompt instructs, and the agent does.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="622" src="https://shiftmag.dev/wp-content/uploads/2026/05/55258392222_e98c47ff10_k-1024x622.jpg?x94846" alt="" class="wp-image-9853" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/55258392222_e98c47ff10_k-1024x622.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/55258392222_e98c47ff10_k-300x182.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/55258392222_e98c47ff10_k-768x466.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/05/55258392222_e98c47ff10_k.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: DevoxxUK / Flickr</figcaption></figure>



<h2 class="wp-block-heading"><span id="cost-agents-and-model-selection">Cost, agents and model selection</span></h2>



<p class="wp-block-paragraph"><strong>Codex</strong> was the first agent framework the team tried. For logback  (a library with 33 dynamic access calls) Codex spent $35:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">If we’re spending $35 per library for a thousand libraries, we’re not replacing humans.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>The alternative was P</strong>, a minimal agent that starts with a 200-token context describing basic file operations and bash execution. Same results, roughly 10x cheaper and the lesson is straightforward:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Simple task, use a simple agent. You already give it a lot of rules, a lot of context, and you’ve grounded it enough so it can perform on the level of these big agents.</p>
</blockquote>



<p class="wp-block-paragraph">On model selection, the team compared GPT 5.5 against several open-source alternatives &#8211; GLM, Kimi K2, DeepSeek, Gemma. <strong>GPT 5.5 consistently outperformed them on coverage</strong>. The counterintuitive finding was this: a more expensive model that makes the right decision in one shot can cost less overall than a cheaper model that wastes tokens going in the wrong direction.</p>



<h2 class="wp-block-heading"><span id="the-architecture-that-lets-it-run-without-you">The architecture that lets it run without you</span></h2>



<p class="wp-block-paragraph">The pipeline now operates as a <strong>third-generation system</strong>. When a user opens an issue requesting a library, the agent fetches the issue, runs the generation workflow, verifies the output, creates a pull request, reviews it, and merges or escalates to human review &#8211; automatically. The &#8220;human intervention&#8221; label on GitHub still exists, but its queue has shrunk dramatically.</p>



<p class="wp-block-paragraph"><strong>Documentation, not smarter prompting, was what made the difference</strong>. </p>



<p class="wp-block-paragraph">Vojin outlined what he calls <em><strong>the</strong> <strong>key context layers</strong></em>: </p>



<ul class="wp-block-list">
<li>raison d’être (why does this project exist, in two sentences), </li>



<li>state of direction (where the architecture stands today), </li>



<li>functional specification (how the system behaves), </li>



<li>architectural specification (how it is built), </li>



<li>decision records (what major choices were made and why), and </li>



<li>comprehensive logs that serve as checkpoints for recovery.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">When you do all of these things, it takes almost a few days for a very big project. You will reduce your work by 50%, 60%, 70%.</p>
</blockquote>



<p class="wp-block-paragraph">The payoff is that agents with this context can diagnose failures, trace them through logs, and fix the underlying system, not just the immediate problem.</p>



<p class="wp-block-paragraph">The RAID system (an automated issue-resolution agent) was built in four prompts on a Sunday morning. It sweeps human intervention tickets, classifies them, performs deep analysis using the project logs, and either opens a GitHub issue for humans or attempts a fix in a forked branch with review. Jovanovic added:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Never work on the problem, always work on the system. You never go and fix a ticket. You always go fix the rules.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="where-things-stand">Where things stand</span></h2>



<p class="wp-block-paragraph">The repository currently supports 1,021 libraries. Without five large Hibernate libraries that predate the automated pipeline, <strong>dynamic access coverage across the ecosystem is 90%</strong>. </p>



<p class="wp-block-paragraph">The GitHub repository has accumulated roughly 2,977 branches. In the week before Devoxx, it logged approximately 8,000-9,000 commits, with agents committing every few minutes around the clock. </p>



<p class="wp-block-paragraph">Total cost for the project: approximately $1,700 in API tokens, plus personal compute on Jovanovic’s home desktop, running around the clock because the Oracle compliance process for cloud infrastructure takes time. The key point is simple:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Start with neural, simplest thing, get results, and then slowly chop off things and put them into algorithms, because they are much cheaper and faster.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="614" src="https://shiftmag.dev/wp-content/uploads/2026/05/55259209226_a368299446_k-1024x614.jpg?x94846" alt="" class="wp-image-9850" srcset="https://shiftmag.dev/wp-content/uploads/2026/05/55259209226_a368299446_k-1024x614.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/55259209226_a368299446_k-300x180.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/05/55259209226_a368299446_k-768x460.jpg 768w, https://shiftmag.dev/wp-content/uploads/2026/05/55259209226_a368299446_k.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Photo: DevoxxUK / Flickr</figcaption></figure>



<h2 class="wp-block-heading"><span id="we-caught-vojin-jovanovic-for-a-few-more-questions">We caught Vojin Jovanovic for a few more questions!</span></h2>



<p class="wp-block-paragraph">After the talk, we sat down with Vojin for a few minutes to ask him a couple more questions. </p>



<h3 class="wp-block-heading"><span id="you-tested-over-1000-libraries-what-broke-first-when-you-tried-to-scale">You tested over 1,000 libraries. What broke first when you tried to scale?</span></h3>



<p class="wp-block-paragraph"><strong>Vojin</strong>: Basically everything broke. We had mostly infrastructure issues, all kinds of GitHub failures. When you build a system at this scale, you need to assume that everything will fail and needs to recover. We broke GitHub rate limits. My machine was broken because it was running so many things. The key takeaway is that <strong>you need to build a system in a way that you can always continue</strong>. When things fail, you always checkpoint and continue from a checkpoint. We do work in sizable chunks, and when something fails, you just restart the chunk.</p>



<h3 class="wp-block-heading"><span id="is-just-asking-the-llm-enough">Is just asking the LLM enough?</span></h3>



<p class="wp-block-paragraph"><strong>Vojin</strong>: If you had asked me four weeks ago, I would say no. Now I would say <strong>you need to know how to ask it</strong>, and it will be enough. I was like, &#8220;GitHub is failing with a 504, abstract away all GitHub calls and retry.&#8221; It did it in two minutes. With today’s models, it’s a matter of minutes, not hours.</p>



<h3 class="wp-block-heading"><span id="what-did-you-learn-about-the-trade-off-between-cost-speed-and-coverage">What did you learn about the trade-off between cost, speed, and coverage?</span></h3>



<p class="wp-block-paragraph"><strong>Vojin</strong>: I haven’t seen a situation when doing something with an LLM is more expensive than doing that by a human typing on the keyboard. Build a system that uses the most efficient LLM for the job — you’re going to get far and not cost much money at all.</p>



<h3 class="wp-block-heading"><span id="when-does-using-multiple-agents-make-sense">When does using multiple agents make sense?</span></h3>



<p class="wp-block-paragraph"><strong>Vojin</strong>: Where I use it is for <strong>decisions and research</strong>. I use Claude Opus 4.7, Gemini 3.1, and GPT 5.5. I ask them all, let them discuss, and I discuss together with them. Each brings something to the table. Before, it was always Claude who was the smartest. Now GPT 5.5 is second and close to the first. Things are changing. The most important bit is getting the system designed right. Once you do that, coding, I don’t care who does it.</p>
<p>The post <a href="https://shiftmag.dev/teaching-ai-agents-to-test-1000-java-libraries-and-letting-them-run-while-you-sleep-9802/">Teaching AI Agents to Test 1,000 Java Libraries – and Letting Them Run While You Sleep</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Developers Should Build AI Tools &#8211; So The EU Doesn’t Lose IT</title>
		<link>https://shiftmag.dev/how-developers-should-build-ai-tools-so-the-eu-doesnt-lose-it-9482/</link>
		
		<dc:creator><![CDATA[Marin Pavelić]]></dc:creator>
		<pubDate>Fri, 15 May 2026 13:20:37 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Ervin Jagatić]]></category>
		<category><![CDATA[infobip]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9482</guid>

					<description><![CDATA[<p>What happens when regulators ask an AI company to explain exactly how its system made a decision? </p>
<p>The post <a href="https://shiftmag.dev/how-developers-should-build-ai-tools-so-the-eu-doesnt-lose-it-9482/">How Developers Should Build AI Tools &#8211; So The EU Doesn’t Lose IT</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/05/eu-ai-act-compliance-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/eu-ai-act-compliance-1200x630-1.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/eu-ai-act-compliance-1200x630-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/eu-ai-act-compliance-1200x630-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/eu-ai-act-compliance-1200x630-1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">The August 2026 deadline for the <a href="https://artificialintelligenceact.eu/" target="_blank" rel="noreferrer noopener">EU AI Act</a> is getting close, and companies and developerds building AI products are starting to feel it. </p>



<p class="wp-block-paragraph">High-risk AI systems need to be compliant by then, and the ones doing it well aren&#8217;t treating it as a last-minute legal scramble. They&#8217;re <strong>building compliance in from the start</strong>. </p>



<p class="wp-block-paragraph">We sat down with <strong>Ervin Jagatic</strong> (AI Business Unit Director, Infobip) to talk about what that actually looks like at Infobip, and why compliance-by-design is turning into something engineers think about, not just lawyers.</p>



<h2 class="wp-block-heading"><span id="compliance-starts-in-the-design-phase">Compliance starts in the design phase</span></h2>



<p class="wp-block-paragraph">AI Act compliance doesn&#8217;t start at deployment. Ervin is clear on this: <strong>it has to enter during system architecture, before a single line of agent code is written</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Compliance enters during the design phase &#8211; system architecture, data flow planning. Every layer of our AI Agents product, from planning to memory to tool execution, needs to be designed with traceability and human oversight in mind. We can&#8217;t bolt that on after the orchestrator is already coordinating multiple sub-agents autonomously.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="the-ai-act-is-changing-product-development-in-3-ways"><strong>The AI Act is changing product development in 3 ways</strong></span></h2>



<p class="wp-block-paragraph">That shift has already changed how Infobip&#8217;s teams design and ship AI-powered features. Ervin points to three major changes that came directly from the AI Act.</p>



<h3 class="wp-block-heading"><span id="1-transparency-and-auditability">1. Transparency and auditability</span></h3>



<p class="wp-block-paragraph">Transparency is the first. Infobip&#8217;s <strong>AI Agents documentation is explicit</strong>: &#8220;you cannot script exact responses&#8221; &#8211; agents &#8220;generate responses dynamically.&#8221; </p>



<p class="wp-block-paragraph">That unpredictability is exactly why the company expanded its logging and analytics infrastructure, Ervin explains:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The AI Act&#8217;s transparency obligations pushed us to build comprehensive logging into our Insights and Analytics layer. Every agent execution now produces detailed logs &#8211; requests, responses, processing steps. That&#8217;s not just good engineering, it&#8217;s a direct response to auditability requirements.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="2-explicit-guardrails-instead-of-assumptions">2. Explicit guardrails instead of assumptions</span></h3>



<p class="wp-block-paragraph">The second shift relates to behavioral boundaries and guardrails. Infobip now <strong>requires customers to define capability boundaries, mandatory restrictions, and compliance rules directly inside every agent’s system prompt</strong>, Ervin points out:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Our own documentation warns that if you do not explicitly define these constraints, the agent makes assumptions. That design philosophy, forcing explicit guardrails rather than relying on implicit model behavior, comes directly from the Act’s emphasis on risk mitigation by design.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="3-human-oversight-is-a-part-of-the-architecture">3. Human oversight is a part of the architecture</span></h3>



<p class="wp-block-paragraph">The third shift is human oversight &#8211; not as an external policy layer, but <strong>built directly into the product architecture</strong>. Ervin explains:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><a href="https://www.infobip.com/agentos" target="_blank" rel="noreferrer noopener">AgentOS</a> uses a human-in-the-loop model where complex issues are escalated from AI agents to human agents. We are talking about a core architectural decision that applies human oversight requirements while also improving the product.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="why-compliance-by-design-is-becoming-the-standard">Why compliance-by-design is becoming the standard</span></h2>



<p class="wp-block-paragraph">Ervin believes compliance-by-design is quickly becoming <strong>the</strong> <strong>new industry standard</strong>, particularly for teams building enterprise-grade AI systems:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">For developers and ML engineers at Infobip, compliance-by-design means several practical things. It means every AI agent we build has a defined architecture where an orchestrator coordinates sub-agents, each with explicit scope, tools, and behavioral rules.</p>
</blockquote>



<p class="wp-block-paragraph">It also <strong>changes how engineering teams think about data</strong>. &#8220;It means our engineers think about data lineage and provenance from the moment they design a training pipeline, not because someone from legal asked them to, but because the architecture demands it,&#8221; Ervin points out.</p>



<p class="wp-block-paragraph">To support that approach, Infobip <strong>invested heavily in tooling and analytics infrastructure</strong> that now serves both operational and regulatory purposes, Ervin said:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Our Insights and Analytics platform is our compliance infrastructure. When a regulator asks ‘show me how this AI system made this decision,’ we need to answer that question with structured evidence, not anecdotes.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="risk-assessment-depends-on-the-use-case">Risk assessment depends on the use case</span></h2>



<p class="wp-block-paragraph">Internally, the company approaches risk assessment through a framework closely aligned with the <strong>AI Act’s four-tier classification model</strong>: unacceptable, high, limited, and minimal risk. However, Ervin notes that Infobip applies this framework at the feature level rather than only at the system level:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">This is important because a platform like Infobip’s serves vastly different use cases. An AI gamification tool for lead generation on WhatsApp is a fundamentally different risk profile than an AI agent that handles authentication.</p>
</blockquote>



<p class="wp-block-paragraph">The company <strong>evaluates risk based on several factors</strong>, including the sensitivity of the data involved, the autonomy of the AI component, and the intended use case, Ervin explains:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Our internal process follows a lifecycle approach. During identification, we map known and foreseeable risks, including risks from reasonably foreseeable misuse. During estimation, we assess probability and severity. During mitigation, we implement design controls, testing procedures, and human oversight.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Monitoring continues after deployment</strong> through analytics infrastructure designed for drift detection, incident investigation, and performance tracking. For enterprise customers, risk assessment also becomes a collaborative process between Infobip and client compliance teams.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">A bank using our AI agents to automate customer support has different risk considerations than a retail brand using the same technology for product recommendations. The platform is the same; the risk profile is not.</p>
</blockquote>



<h2 class="wp-block-heading">August 2026 is approaching&#8230;</h2>



<p class="wp-block-paragraph">As August 2026 closes in, Ervin says the conversation has shifted:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The question is no longer whether to integrate compliance into product development. The question is whether you&#8217;ve built the infrastructure to do it at speed.</p>
</blockquote>
<p>The post <a href="https://shiftmag.dev/how-developers-should-build-ai-tools-so-the-eu-doesnt-lose-it-9482/">How Developers Should Build AI Tools &#8211; So The EU Doesn’t Lose IT</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Agentic AI Foundation and MCP Are Redefining the Infrastructure for AI Agents</title>
		<link>https://shiftmag.dev/how-agentic-ai-foundation-and-mcp-are-redefining-the-infrastructure-for-ai-agents-9663/</link>
		
		<dc:creator><![CDATA[Anastasija Uspenski]]></dc:creator>
		<pubDate>Wed, 13 May 2026 14:01:47 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[AAIF]]></category>
		<category><![CDATA[agentic AI]]></category>
		<category><![CDATA[Agentic AI Foundation]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[infobip]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MCP]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=9663</guid>

					<description><![CDATA[<p>I spoke with developers from a golden member company who explained why AAIF membership is crucial for navigating the shift toward agentic AI.</p>
<p>The post <a href="https://shiftmag.dev/how-agentic-ai-foundation-and-mcp-are-redefining-the-infrastructure-for-ai-agents-9663/">How Agentic AI Foundation and MCP Are Redefining the Infrastructure for AI Agents</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">As an ICT journalist, I see AI as a force that keeps surpassing its own limits. Engineers refine it every day, while millions of users around the world feed it with real experiences, making it increasingly capable. Only a few years after the global expansion of chatbots, we now witness another major transformation: AI no longer just provides answers, it performs tasks.</p>



<p class="wp-block-paragraph">This shift feels both fascinating and unsettling. Because of that, the need for <strong>clear rules and a neutral authority</strong> has never been greater. Such a framework must ensure balance so that AI develops in a way that remains fair, transparent, and aligned with human needs. </p>



<p class="wp-block-paragraph">That need led to the creation of the <a href="https://aaif.io/" type="link" id="https://aaif.io/" target="_blank" rel="noreferrer noopener">Agentic AI Foundation (AAIF) within the Linux Foundation in December last year</a>.</p>



<h2 class="wp-block-heading">AAIF builds open, neutral foundations for agentic AI through collaboration &#8211; not control</h2>



<p class="wp-block-paragraph">AAIF<strong> </strong>mission focuses on <strong>neutral governance, open standards, and a collaborative ecosystem</strong>. The goal is to prevent a small number of proprietary companies and platforms from dominating AI. </p>



<p class="wp-block-paragraph">In this context, the Linux Foundation provides reliable infrastructure, much like Linux does for operating systems or Kubernetes does for cloud environments. It ensures that these technologies remain open, secure, and interoperable.</p>



<p class="wp-block-paragraph">Agentic AI Foundation hosts the <a href="https://shiftmag.dev/tag/mcp/" type="link" id="https://shiftmag.dev/tag/mcp/" target="_blank" rel="noreferrer noopener">Model Context Protocol (MCP)</a>, the emerging open standard that defines how AI agents communicate with external platforms, tools, and services. Companies that collaborate within AAIF will help determine which platforms will shape the infrastructure of the agentic AI era. <strong>Mazin Gilbert</strong>, Executive Director of the Agentic AI Foundation, stated:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The Agentic AI Foundation (AAIF) is the connective tissue, the plumbing behind how agentic systems operate. <strong>No one company can define or own these standards</strong>. We’ve seen this in cloud native with CNCF and in networking with the LFN. At every inflection point, the world moves from experimentation to production, and that shift needs open standards and community collaboration. With 170+ companies already in AAIF, we’re clearly at that inflection point in Agentic AI today.</p>



<p class="wp-block-paragraph"></p>
</blockquote>



<h2 class="wp-block-heading"><span id="what-changes-in-the-infrastructure-when-moving-from-apis-to-ai-agent-based-systems">What changes in the infrastructure when moving from APIs to AI agent-based systems</span></h2>



<p class="wp-block-paragraph">To better understand AAIF’s mission firsthand, I interviewed my colleagues, two developers from <a href="https://www.infobip.com/" type="link" id="https://www.infobip.com/" target="_blank" rel="noreferrer noopener">Infobip</a>, a gold member of the foundation and the publisher of Shiftmag!</p>



<p class="wp-block-paragraph"><strong>Josip Antoliš </strong>and <strong>Filip Srnec</strong> described how agentic AI transformation looks from a developer’s perspective, what changes it brings, which challenges arise, and what AAIF membership enables when it comes to participating in a global AI community.</p>



<p class="wp-block-paragraph">We began by discussing what changes at the infrastructure level when moving from traditional APIs to AI agent-based systems. Josip Antoliš explained that <strong>MCP lets developers assign tasks to AI agents</strong> and ensures agents execute them in a standardized way. In practice, service providers who built products through HTTP APIs should now consider exposing the same functionalities through MCP.</p>



<p class="wp-block-paragraph">In some cases, APIs can adapt automatically into MCP servers. </p>



<p class="wp-block-paragraph">As an example, he noted that <a href="https://github.com/infobip/infobip-openapi-mcp/" type="link" id="https://github.com/infobip/infobip-openapi-mcp/" target="_blank" rel="noreferrer noopener">Infobip has open-sourced its own framework for exposing any HTTP API as MCP</a><a href="https://github.com/infobip/infobip-openapi-mcp/">.</a> He described this as only the first step. He explained that protocols like MCP let different agent systems connect, allowing one AI agent to delegate subtasks to another in a different environment through an MCP call. This makes it easier to build independent agents that collaborate, turning API providers into agent providers. </p>



<p class="wp-block-paragraph">He also noted that <strong>AI agents become more valuable with every new tool they connect to</strong>, creating a positive feedback loop similar to network effects:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">For example, an AI agent connected to an MCP server that tracks the stock market can analyze trends and suggest actions. If connected to a messaging provider like Infobip, it can send proactive SMS alerts when opportunities appear. Adding a trading tool then allows users to reply and instruct the agent to execute trades. Each new tool increases the value of all previous tools.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="api-providers-are-becoming-agent-providers">API providers are becoming agent providers</span></h2>



<p class="wp-block-paragraph">Filip Srnec expanded on this perspective by pointing out that Infobip’s mission to reach users wherever they are, through any available channel, naturally aligns with the agentic world. Their communication capabilities allow agents to interact through channels that users already know:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">As we like to say, by using Infobip, AI agents gain communication superpowers. This applies across industries: agents that manage flight bookings and reminders, agents that run e-commerce processes, or marketing agents that create meaningful campaigns targeted at the right user segments.</p>
</blockquote>



<p class="wp-block-paragraph">He highlighted that<strong> Infobip has developed a range of products in the agent space</strong>, such as <a href="https://www.infobip.com/agentos" target="_blank" rel="noreferrer noopener">AgentOS</a>, along with tools for connecting agents, including MCP servers. These solutions bridge the gap and enable agent-driven communication experiences:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">From setting up communication through channel activation, sending messages, and feeding responses back to agents, Infobip covers the entire process. In addition, our platform offers advanced message optimization, fraud detection, and communication flow design.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="challenges-in-adopting-mcp">Challenges in adopting MCP</span></h2>



<p class="wp-block-paragraph">Early-stage ecosystems often lack structure, and MCP is no exception. I asked my interviewees to identify the<a href="https://shiftmag.dev/mcp-co-creator-explains-why-mcp-needs-more-than-the-protocol-to-scale-9041/" target="_blank" rel="noreferrer noopener"> biggest gaps and limitations</a> they encounter when building production-ready agent systems. Filip acknowledged that <strong>the ecosystem still feels unstructured</strong>, especially when it comes to adopting new standards and terminology:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I work in the MCP value stream, and we experience this firsthand. The biggest issue is that third-party client software, such as MCP clients, varies in maturity. Because of that, we cannot assume that everything behaves exactly according to the specification.</p>
</blockquote>



<p class="wp-block-paragraph">He added that s<strong>pecifications and terminology evolve quickly in this emerging space</strong>. These changes sometimes introduce breaking issues, both intentional and unintentional. Teams must remain agile and constantly balance product delivery with compatibility.</p>



<p class="wp-block-paragraph">Josip pointed to another challenge. Anthropic originally developed MCP with a focus on coding use cases, particularly for its Claude Code assistant. Some assumptions from that use case remain embedded in the protocol: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">For example, one of the two available deployment options requires the MCP server to run on the same machine as the AI agent. That works for servers that manipulate or compile local source files, but it becomes impractical when exposing functionality over the internet.</p>
</blockquote>



<p class="wp-block-paragraph">MCP does support remote servers, which enables broader use cases. Even so, <strong>authentication and authorization still require significant effort</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">MCP adopted the OAuth specification. While this supports adoption, MCP relies on relatively niche parts of OAuth, which makes full compatibility harder to achieve.</p>
</blockquote>



<h2 class="wp-block-heading"><span id="how-aaif-helps-address-these-challenges">How AAIF helps address these challenges</span></h2>



<p class="wp-block-paragraph">Since governance of the MCP specification moved to the AAIF, development and priorities have become more open and better aligned with the broader ecosystem, as Josip observed. <a href="https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/" type="link" id="https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/" target="_blank" rel="noreferrer noopener">The 2026 roadmap</a> highlights key improvements such as scalable remote deployment, support for long-running tasks, and stronger enterprise readiness, including observability and integration with existing authentication systems.</p>



<p class="wp-block-paragraph">These changes should make MCP servers easier to maintain and <strong>open the door to more complex use cases and new markets</strong>. Josip drew attention to the choice of Streamable HTTP as a transport protocol, which remains somewhat controversial: </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Although it limits horizontal scaling, keeping it at this stage helps prevent fragmentation of the ecosystem. Planned improvements in this area will be especially important for DevOps and production environments.</p>
</blockquote>



<p class="wp-block-paragraph">He underlined the importance of <strong>support for long-running tasks</strong>. These tasks allow agents to manage processes that run for hours, opening entirely new categories of use cases. Improvements in enterprise integrations, especially single sign-on, will prove critical for broader adoption, since current complexity creates real barriers in production environments.</p>



<h2 class="wp-block-heading"><span id="what-does-it-mean-to-be-aaif-member">What does it mean to be AAIF member?</span></h2>



<p class="wp-block-paragraph">When discussing Infobip’s role as a Golden Member of the Agentic AI Foundation, I wanted to understand how this membership influences internal technical decision-making compared to simply adopting external standards. </p>



<p class="wp-block-paragraph">Josip noted that the AI ecosystem evolves rapidly, and new standards seem to appear constantly. However,<strong> standards only create value when people adopt them</strong>. By participating in AAIF working groups, his team gains insight into the direction of key industry players:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">We contribute by sharing our use cases and drawing attention to the challenges we encounter in our own implementations.</p>
</blockquote>



<p class="wp-block-paragraph">This involvement allows them to <strong>align new features and even entire products</strong> with the direction in which technology is moving:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Choosing the wrong technological direction can become expensive and create significant technical debt. By participating in AAIF activities, we ensure that we move in the right direction instead of following ideas that lead nowhere.</p>
</blockquote>



<p class="wp-block-paragraph">Through AAIF Josip stressed the importance of bringing real-world use cases into technical discussions from the very beginning. Standards that fail to address real user needs rarely succeed. Early input helps embed key concepts from the start instead of adding them later. </p>



<p class="wp-block-paragraph">Filip described AAIF membership as a<strong> source of confidence and stability</strong> in the emerging agentic AI landscape. Open standards like MCP ensure that development does not rely solely on commercial interests. The community develops, maintains, and governs the technology together:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">From the perspective of a developer building agent-based applications today, open standards provide strong foundations, best practices, and proven design patterns. This ensures that solutions remain robust and independent of any single vendor.</p>
</blockquote>



<p class="wp-block-paragraph">He pointed out that MCP acts as a universal connector for external tools and data sources. Building on open technologies allows individual engineers to become part of a global community and even influence the future direction of technology. </p>



<p class="wp-block-paragraph">Filip concluded by noting that global collaboration remains essential at this stage, <strong>especially when it comes to reliability and security</strong>. The era of agentic AI has already begun. Many agents already operate in production. Now is the time to build a stable ecosystem that allows everyone to develop and use this technology safely.</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/naslovna.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/naslovna.png 1200w, https://shiftmag.dev/wp-content/uploads/2026/05/naslovna-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2026/05/naslovna-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2026/05/naslovna-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure><p>The post <a href="https://shiftmag.dev/how-agentic-ai-foundation-and-mcp-are-redefining-the-infrastructure-for-ai-agents-9663/">How Agentic AI Foundation and MCP Are Redefining the Infrastructure for AI Agents</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-06-05 15:34:08 by W3 Total Cache
-->