Executive Overview
In a recent InfoQ discussion hosted by Olimpiu Pop, senior developers Asgaut Mjølne Söderbom and Ola Hast of SpareBank 1 Utvikling shared profound insights from a year-long experiment with AI code generation tools like Anthropic’s Claude. Serving roughly a quarter of Norway’s population through a digital banking infrastructure handling over 100 million daily requests on critical APIs, SpareBank 1 Utvikling operates in a high-stakes "brownfield" environment. For them, a single architectural misstep makes immediate national news headlines.
Their findings challenge the prevailing industry dogma. After a four-month period of radical, "Claude-first" development—where the team attempted to use AI for virtually every coding task—they experienced a surprising form of developer fatigue, plummeting domain ownership, and a dangerous disconnect from their complex, decades-old codebases. Rather than abandoning AI entirely, Söderbom and Hast have pivoted to a remarkably pragmatic, disciplined approach: utilizing AI as a bicycle—an accelerator for kickstarting tasks, analyzing telemetry, and prototyping—while doubling down on human-centric practices like pair programming, mob programming, and Test-Driven Development (TDD).
Detailed Chronology: From Pair Programming to AI Integration
The Foundation: Scientific Experiments in Teamwork
SpareBank 1 Utvikling’s philosophy on software development is deeply rooted in rigorous, empirical iteration. Partnering with independent researchers from SINTEF (Scandinavia’s largest independent research organization), the company has conducted seven distinct organizational experiments over the past four years.
Initially tracking pair programming, these studies evolved into "pair working"—a holistic framework encompassing all cross-functional disciplines, including frontend and backend developers, UX designers, graphical designers, and testers. Published recently in the prestigious Journal of Systems and Software, the SINTEF research validated a low-friction strategy for introducing new working methods: teams commit to a minimal baseline of working together for two-hour sessions twice a week over a three-week period. This low-key commitment ensures that normal delivery cadences are never interrupted, fostering organic cultural adoption, high psychological safety, and robust team mobility.
The Four-Month "Claude-First" Experiment
Building on this collaborative foundation, the team introduced Claude into their daily workflows in January, committing to a multi-month "Claude-first" mandate. For four consecutive months, developers used the AI assistant for nearly every technical task, attempting to scale up output and bypass routine manual coding.
The results, however, triggered unexpected psychological and operational friction. While the tool proved immensely powerful for specific tasks, the team encountered profound bottlenecks:
- The Waiting Game: Developers accustomed to continuous delivery loops—where unit tests, implementations, and production deployments happen multiple times per hour—found themselves stalled. They spent 10 to 15 minutes at a time passively reading AI-generated code while Claude planned and executed tasks. As Söderbom colorfully described it, the process felt like "moving backwards into the future."
- Context Deficits and Subpar Code: Because their banking systems integrate with legacy infrastructures boasting 50 to 60 years of organizational history, autonomous agents frequently lacked critical contextual "tacit knowledge." The AI generated code that was superficially plausible but functionally misaligned with domain requirements, forcing painful round trips and exhaustive manual reviews.
- Erosion of Domain Ownership: Relying on autonomous code generation led to developer complacency. The team noticed a dangerous shift: engineers accepted code blocks without deeply understanding them, undermining the collective mental model of the solution historically maintained across the entire team via mob programming.
The Pivot: Reclaiming TDD and the Human Loop
By May, Söderbom, Hast, and their peers reached a firm conclusion. They stepped back from all-encompassing AI code generation, returning to traditional, rigorous TDD and domain-driven design principles. Claude was demoted from a primary coder to a specialized "super consultant"—a high-powered assistant leveraged selectively for specific technical bottlenecks, telemetry analysis, and greenfield prototyping.
Supporting Context & Metrics: The Brownfield Challenge and the "Sugar Rush"
To fully understand why autonomous AI agents stumbled in SpareBank 1 Utvikling’s environment, one must examine the fundamental divide between greenfield startups and complex brownfield enterprises.
Greenfield vs. Brownfield Realities
In a greenfield startup, code quality is often secondary to speed-to-market. A developer can spin up an entire application using AI generation, ship it quickly, and worry about refactoring later.
In contrast, SpareBank 1 Utvikling manages mission-critical banking APIs. Their daily operations involve navigating intricate legacy dependencies, stringent compliance frameworks, and deeply entrenched organizational nuances. As Hast pointed out, Large Language Models (LLMs) fundamentally operate on pattern recognition. When fed a clean, well-factored codebase, they replicate patterns brilliantly. But when forced to navigate undocumented legacy quirks, they hallucinate or make flawed assumptions, compounding errors at scale.
[Traditional TDD Workflow]
Write Failing Test --> Implement Code (Human) --> Refactor --> Deploy (Multiple times/hour)
[Unconstrained AI "Vibe Coding" Workflow]
Prompt AI Agent --> Wait 15 Minutes --> Review Massive Output --> Debug Context Errors (High Friction)
The "Sugar Rush" of Agentic Coding
Industry observers frequently mistake the initial dopamine hit of AI-generated code for long-term productivity gains. Söderbom and Hast liken this phenomenon to a "sugar rush": an initial burst of energy followed by inevitable fatigue, declining architectural health, and an abundance of boring review work.
Furthermore, economic realities loom large. As token-based pricing models scale—especially with advanced reasoning models requiring significantly more computational overhead—enterprises must calculate whether outsourcing routine coding to expensive AI tokens is truly more cost-effective than empowering skilled human developers through collaborative pair programming.
Official Statements & Expert Insights
Reflecting on their journey, the engineers offered sharp analogies and hard-earned wisdom regarding the future of software engineering.
"If you’re going to create high quality software, on some level you need to have an artifact that you know, that you control, and that you validate. Before agents and AI, tests were always the way that you validated and controlled that the code… does what it’s supposed to do."
— Ola Hast, Senior Developer, SpareBank 1 Utvikling
Hast highlighted the core danger of unvalidated AI output: if developers bypass testing and rely on autonomous agents to write code they haven’t written themselves, human engineers are relegated to becoming overworked reviewers of opaque codebases, transforming an engaging engineering job into tedious quality assurance.
Discussing the mechanics of prompting, Hast referenced Kent Beck’s illuminating metaphors:
- The Slot Machine: Pushing tokens into an LLM and hoping the randomized output matches your desires.
- The Genie: Getting precisely what you asked for—which highlights that failures are almost always rooted in poor human prompting and missing context.
Söderbom underscored the importance of keeping humans firmly in the driver’s seat:
"You need two things to get somewhere: speed and direction. And if you only have speed, then obviously you’re not going the right way… Claude is amazing, but the thing that slows us down the most is when we are dependent on other people or other teams. Claude has made us a little bit more autonomous there on some parts. At the same time, if it requires quality, I think it’s still the same."
Future Outlook: Team Mobility, Onboarding, and the Myth of the Junior Gap
As the software industry panics over an alleged "junior gap"—fearing that AI-assisted workflows will prevent fresh college graduates from learning foundational programming skills—SpareBank 1 Utvikling has demonstrated a powerful antidote through their team-level practices.
Solving the Junior Onboarding Crisis
Rather than leaving junior developers or incoming cross-functional team members to sink or swim with standalone AI assistants, SpareBank 1 Utvikling utilizes an immersive job-shadowing program. When a new developer visits their team for a week, the onboarding process is remarkably human:
- Monday Morning Integration: Starting with cinnamon buns and casual conversation to build psychological safety.
- Immediate Hands-On Immersion: New engineers are integrated directly into ongoing mob and pair programming rotations within the hour.
- Continuous Rotation: By rotating drivers and navigators every 5 to 10 minutes, incoming developers absorb domain knowledge rapidly.
Remarkably, developers participating in this program have successfully pushed code into production before lunch on their very first day—proving that team collaboration and high psychological safety completely neutralize the purported onboarding gap introduced by AI tooling.
Navigating the Future with a "Chill Pill"
Looking ahead, Söderbom and Hast advise the software engineering community to reject FOMO (Fear Of Missing Out) and maintain perspective. Software development is far from "solved," and developers are in no immediate danger of losing their jobs to autonomous agents.
Instead of chasing every fleeting trend in "vibe coding," engineering teams should focus on building well-factored codebases, fostering transparent cross-functional communication via platforms like Slack, and leveraging AI pragmatically—not as a replacement for human intellect, but as a trusty bicycle that accelerates productivity while respecting the rules of the road.
