Skip to content

The journey of a Software Engineer

Software Engineering, Programming, Cloud, AI and anything that need a fix.

Contact

  • Latest Articles
  • AI Is Giving Experienced Professionals a New Kind of Imposter Syndrome — and It’s Not in Their Heads

    February 24, 2026

    +

    +

    +

    +

    +

    +

    There’s a quiet anxiety spreading through workplaces right now. Not the kind people talk about openly, but the kind that shows up as overworking, overthinking, and quietly wondering whether you still belong.

    It’s AI-driven imposter syndrome — and it’s affecting some of the most capable, experienced people in the room.


    This Isn’t Your Typical Imposter Syndrome

    Most of us are familiar with the classic version: you land a new role or a big promotion and that little voice kicks in — did they make a mistake hiring me? The antidote has always been the same: trust your track record, your credentials, your experience. The self-doubt will catch up eventually.

    But the new version of imposter syndrome that’s emerging in the age of AI is different — in two distinct and almost opposite ways.

    For experienced professionals, the discomfort comes from watching the ground shift beneath skills they spent decades building. Judgment, pattern recognition, navigating complexity — these were the things that made them valuable. Now they see younger colleagues experimenting freely with AI, speed being rewarded over depth, and leaders talking about “AI capability” without explaining what uniquely human contribution still matters. They’re not imagining the shift. The rules really are changing.

    For others, the anxiety comes from the opposite direction: things feel too easy. When an AI tool produces in seconds what used to take hours, a different kind of doubt creeps in — did I actually do this, or did the AI? The identity we built around effort, expertise, and craft suddenly feels hollow when a tool can skip all the hard steps.

    Both forms are real. Both are rational. And both are going largely unspoken.


    The Silence Is Making It Worse

    Here’s what’s happening inside organizations right now: nobody knows what “normal” looks like anymore, and nobody’s admitting it.

    Some people are using AI heavily but hiding it, afraid it will make them look less capable. Others are avoiding it altogether, afraid they’ll expose how little they know. Many assume everyone else is further ahead than they are. So instead of experimenting and learning, people compensate by working harder — overpreparing, overdelivering, burning out — trying to prove relevance the old-fashioned way.

    That silence isn’t just a cultural problem. It’s an organizational design problem. It breeds anxiety, erodes confidence, and stalls the very adoption leaders are hoping to accelerate.


    The Real Question Underneath It All

    Strip away the tool debates and the productivity metrics, and most people are wrestling with a deeper, more uncomfortable question:

    What part of my value is still mine?

    That’s not a trivial question. For many people, professional identity is built on the belief that their output reflects their capability. When AI blurs that line, it doesn’t just create a skills gap — it creates an identity gap.

    And leaders who respond only with productivity messaging — “AI will make us faster, more efficient” — without addressing what still requires human judgment, inadvertently make it worse. People fill the silence with fear.


    What Actually Helps

    The good news is that the organizations navigating this best aren’t doing anything radical. They’re just being honest about the transition.

    A few things that make a real difference:

    Normalize the learning curve. Everyone is relearning how to work right now. Making that visible — rather than expecting polished AI fluency from day one — takes enormous pressure off people.

    Name what’s still human. Judgment, context, creativity, communication, leadership. AI can accelerate execution, but it doesn’t replace the person who knows which question to ask, which risk to flag, or how to bring a room along. Those things need to be named explicitly, not left for people to infer.

    Redefine what good work looks like. Less manual execution, more design, interpretation, and decision-making. The shift is real — but it’s a shift toward higher-impact work, not toward irrelevance.

    Create space to experiment without shame. People need room to try AI, get it wrong, and learn — without the fear that admitting uncertainty signals incompetence.


    The Bigger Picture

    AI isn’t making experienced professionals obsolete. But it is forcing a renegotiation of where value lives — away from production and toward interpretation, judgment, and connection.

    That’s ultimately a good shift. But it doesn’t feel good in the middle of it.

    If you’re feeling uncertain right now, that’s not weakness. It might actually be a sign that you understand what’s at stake better than most. The goal isn’t to project confidence you don’t feel. It’s to name what’s changing — and help the people around you do the same.

    That’s where the real leadership opportunity is right now.


    What’s your experience with AI at work? Are you seeing this show up in your team or organization? I’d love to hear what’s resonating — or what feels different in your context.

    +

    +

    +

    +

    +

    +

    + Software Engineering
    + ai, artificial-intelligence, FutureOfWork

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

  • Step-by-Step Theme Implementation Guide

    September 2, 2025

    +

    +

    +

    +

    +

    +

    1. Set up Theme Structure

    First, create a theme structure:

    // theme/base.ts
    export const baseTheme = {
      spacing: 8,
      typography: {
        fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
      },
      // Common theme properties
    };
    
    // theme/light.ts
    import { baseTheme } from './base';
    
    export const lightTheme = {
      ...baseTheme,
      palette: {
        mode: 'light' as const,
        primary: {
          main: '#1976d2',
        },
        background: {
          default: '#ffffff',
          paper: '#f5f5f5',
        },
        text: {
          primary: '#000000',
          secondary: '#666666',
        },
      },
    };
    
    // theme/dark.ts
    import { baseTheme } from './base';
    
    export const darkTheme = {
      ...baseTheme,
      palette: {
        mode: 'dark' as const,
        primary: {
          main: '#90caf9',
        },
        background: {
          default: '#121212',
          paper: '#1e1e1e',
        },
        text: {
          primary: '#ffffff',
          secondary: '#b3b3b3',
        },
      },
    };
    
    // theme/index.ts
    export { lightTheme } from './light';
    export { darkTheme } from './dark';
    export { baseTheme } from './base';

    2. Create a Theme Store with Zustand

    Create a theme store:

    // hooks/useTheme.tsx
    import { create } from 'zustand';
    import { persist } from 'zustand/middleware';
    import { lightTheme, darkTheme } from '../theme';
    
    type ThemeMode = 'light' | 'dark';
    
    interface ThemeState {
      mode: ThemeMode;
      theme: typeof lightTheme | typeof darkTheme;
      toggleTheme: () => void;
      setTheme: (mode: ThemeMode) => void;
    }
    
    export const useTheme = create<ThemeState>()(
      persist(
        (set, get) => ({
          mode: 'light',
          theme: lightTheme,
          toggleTheme: () => {
            const currentMode = get().mode;
            const newMode = currentMode === 'light' ? 'dark' : 'light';
            set({
              mode: newMode,
              theme: newMode === 'light' ? lightTheme : darkTheme,
            });
          },
          setTheme: (mode: ThemeMode) => {
            set({
              mode,
              theme: mode === 'light' ? lightTheme : darkTheme,
            });
          },
        }),
        {
          name: `${window.appName || 'app'}-theme-storage`,
          partialize: (state) => ({ mode: state.mode }),
        }
      )
    );

    3. Create Theme Provider Component

    // components/ThemeProvider.tsx
    import React, { createContext, useContext, ReactNode } from 'react';
    import { ThemeProvider as MuiThemeProvider } from '@mui/material/styles';
    import { CssBaseline } from '@mui/material';
    import { createTheme } from '@mui/material/styles';
    import { useTheme } from '../hooks/useTheme';
    
    const ThemeContext = createContext(null);
    
    interface ThemeProviderProps {
      children: ReactNode;
    }
    
    export const ThemeProvider: React.FC<ThemeProviderProps> = ({ children }) => {
      const { theme } = useTheme();
      
      const muiTheme = createTheme(theme);
    
      return (
        <MuiThemeProvider theme={muiTheme}>
          <CssBaseline />
          {children}
        </MuiThemeProvider>
      );
    };

    4. Create Theme Toggle Component

    // components/ThemeToggle.tsx
    import React from 'react';
    import { IconButton, Tooltip } from '@mui/material';
    import { Brightness4, Brightness7 } from '@mui/icons-material';
    import { useTheme } from '../hooks/useTheme';
    
    export const ThemeToggle: React.FC = () => {
      const { mode, toggleTheme } = useTheme();
    
      return (
        <Tooltip title={`Switch to ${mode === 'light' ? 'dark' : 'light'} mode`}>
          <IconButton onClick={toggleTheme} color="inherit">
            {mode === 'light' ? <Brightness4 /> : <Brightness7 />}
          </IconButton>
        </Tooltip>
      );
    };

    5. Set up Global App Name

    In your main.tsx file:

    // main.tsx
    import React from 'react';
    import ReactDOM from 'react-dom/client';
    import App from './App';
    
    // Set the app name for theme storage
    declare global {
      interface Window {
        appName: string;
      }
    }
    
    window.appName = 'your-app-name';
    
    ReactDOM.createRoot(document.getElementById('root')!).render(
      <React.StrictMode>
        <App />
      </React.StrictMode>
    );

    6. Wrap Your App with Theme Provider

    // App.tsx
    import React from 'react';
    import { ThemeProvider } from './components/ThemeProvider';
    import { ThemeToggle } from './components/ThemeToggle';
    import { AppBar, Toolbar, Typography, Box } from '@mui/material';
    
    function App() {
      return (
        <ThemeProvider>
          <Box sx={{ flexGrow: 1 }}>
            <AppBar position="static">
              <Toolbar>
                <Typography variant="h6" component="div" sx={{ flexGrow: 1 }}>
                  My App
                </Typography>
                <ThemeToggle />
              </Toolbar>
            </AppBar>
            {/* Your app content */}
            <Box sx={{ p: 3 }}>
              <Typography variant="h4">Welcome to My App</Typography>
              <Typography variant="body1">
                This app supports dark and light themes!
              </Typography>
            </Box>
          </Box>
        </ThemeProvider>
      );
    }
    
    export default App;

    7. Install Required Dependencies

    npm install zustand @mui/material @mui/icons-material @emotion/react @emotion/styled

    8. Add CSS Variables (Optional)

    For additional CSS customization, you can also add CSS variables:

    /* index.css */
    :root {
      --primary-color: #1976d2;
      --background-color: #ffffff;
      --text-color: #000000;
    }
    
    [data-theme='dark'] {
      --primary-color: #90caf9;
      --background-color: #121212;
      --text-color: #ffffff;
    }

    9. Advanced: Theme Persistence with System Preference

    // hooks/useTheme.tsx (enhanced version)
    import { create } from 'zustand';
    import { persist } from 'zustand/middleware';
    import { lightTheme, darkTheme } from '../theme';
    
    type ThemeMode = 'light' | 'dark' | 'system';
    
    interface ThemeState {
      mode: ThemeMode;
      effectiveMode: 'light' | 'dark';
      theme: typeof lightTheme | typeof darkTheme;
      toggleTheme: () => void;
      setTheme: (mode: ThemeMode) => void;
    }
    
    const getSystemTheme = (): 'light' | 'dark' => {
      return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
    };
    
    const getEffectiveMode = (mode: ThemeMode): 'light' | 'dark' => {
      return mode === 'system' ? getSystemTheme() : mode;
    };
    
    export const useTheme = create<ThemeState>()(
      persist(
        (set, get) => ({
          mode: 'system',
          effectiveMode: getSystemTheme(),
          theme: getSystemTheme() === 'light' ? lightTheme : darkTheme,
          toggleTheme: () => {
            const currentMode = get().mode;
            const newMode = currentMode === 'light' ? 'dark' : 'light';
            const effectiveMode = getEffectiveMode(newMode);
            set({
              mode: newMode,
              effectiveMode,
              theme: effectiveMode === 'light' ? lightTheme : darkTheme,
            });
          },
          setTheme: (mode: ThemeMode) => {
            const effectiveMode = getEffectiveMode(mode);
            set({
              mode,
              effectiveMode,
              theme: effectiveMode === 'light' ? lightTheme : darkTheme,
            });
          },
        }),
        {
          name: `${window.appName || 'app'}-theme-storage`,
          partialize: (state) => ({ mode: state.mode }),
        }
      )
    );

    Key Benefits of This Approach:

    1. Persistent Theme: Uses Zustand with persistence to remember user preference
    2. Material-UI Integration: Seamlessly works with MUI components
    3. Type Safety: Full TypeScript support
    4. Flexible: Easy to extend with more themes or custom properties
    5. Performance: Minimal re-renders with Zustand
    6. System Integration: Optional system theme preference support

    +

    +

    +

    +

    +

    +

    + Programming
    + @emotion/react, @emotion/styled, @mui/material, App Initialization, Component Design, CSS Variables, Dark Mode, Frontend Development, Light Mode, Material-UI, React, State Management, System Theme Detection, Theme Configuration, Theme Implementation, Theme Persistence, Theme Setup, Theme Store, Theme Structure, Theme Toggle, ThemeProvider, TypeScript, UI/UX, Zustand

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

  • The AI Revolution: How Traditional Software Development Engagement Models Are Being Transformed

    June 10, 2025

    +

    +

    +

    +

    +

    +

    The software development landscape is undergoing its most significant transformation since the advent of the internet. As AI-powered coding assistants like GitHub Copilot, Gemini Code Assist, and other intelligent development tools become mainstream, they’re not just making developers more productive—they’re fundamentally reshaping how software factories, IT staffing companies, and development service providers engage with their clients.

    For decades, the industry has operated on three primary engagement models: Time and Material (T&M), Fixed Price, and Turnkey solutions. But when a developer can now accomplish in 2 hours what previously took 8, these traditional frameworks face an existential challenge that demands immediate adaptation.

    The AI Productivity Revolution: Understanding the Scale of Change

    Before examining how engagement models are evolving, it’s crucial to understand the magnitude of AI’s impact on developer productivity:

    Code Generation at Scale: Modern AI assistants can generate entire functions, applications, and even complex algorithms from natural language descriptions, dramatically reducing manual coding time. What once required hours of careful implementation can now be accomplished in minutes.

    Intelligent Bug Detection and Resolution: AI doesn’t just write code—it analyzes existing codebases to identify patterns of defects, predict potential errors, and suggest optimizations, significantly reducing debugging cycles and improving overall code quality.

    Automated Testing and QA: AI-powered testing tools can generate comprehensive test cases, automate quality assurance processes, and identify security vulnerabilities, accelerating what has traditionally been one of the most time-intensive phases of development.

    Enhanced Design and Planning: From translating complex requirements into actionable insights to generating wireframes and prototypes, AI is streamlining the initial phases of development that were previously heavily manual.

    DevOps Optimization: AI tools are optimizing deployment workflows, monitoring infrastructure performance, and predicting potential system failures, leading to more reliable and faster releases.

    This increased productivity means a fundamental shift: fewer developers might be needed for certain tasks, but those developers can deliver exponentially more value when effectively leveraging these AI tools.

    Time and Material (T&M) Model: From Hours to Value

    What is T&M? In the Time and Material model, clients pay for the actual hours worked and resources consumed. This approach is typically used for projects with evolving requirements where flexibility is essential, and the exact scope cannot be defined upfront.

    Current Challenges with AI

    The T&M model faces the most dramatic transformation. When billing is based on hours worked, AI-enhanced productivity creates a paradox: the more efficient developers become, the less revenue providers generate using traditional hourly billing.

    AI-Driven Evolution

    Value-Centric Billing: The focus is rapidly shifting from “hours worked” to “value delivered.” Clients are becoming less concerned about time spent and more interested in outcomes and business impact. This is driving the emergence of value-based pricing models where compensation aligns with results rather than effort.

    Premium for AI Expertise: Developers who can effectively orchestrate AI tools to deliver superior outcomes may command higher hourly rates. However, the overall project cost for clients often decreases due to reduced time requirements, creating a win-win scenario.

    New Billable Competencies: “Prompt engineering”—the art of crafting effective instructions for AI tools—is emerging as a distinct, billable skill. Service providers are developing new competencies around AI tool integration, management, and optimization.

    Enhanced Value Reporting: T&M engagements now require more sophisticated reporting that demonstrates value creation and AI leverage rather than simply tracking raw hours. Clients want to understand what was achieved and how AI contributed to the outcomes.

    Expertise Over Manpower: The emphasis shifts from providing large development teams to providing highly skilled individuals who can effectively leverage AI tools for maximum impact. Quality of expertise becomes more important than quantity of resources.

    Fixed Price Model: Precision Through AI-Enhanced Estimation

    What is Fixed Price? In Fixed Price engagements, clients pay a predetermined amount for specific deliverables, regardless of the actual time and effort required. This model works best for well-defined projects with clear requirements and minimal scope changes.

    AI-Enabled Transformation

    Expanded Project Feasibility: AI’s ability to generate code and predict project outcomes is making complex or previously “fuzzy” projects more suitable for fixed-price engagements. Service providers gain confidence in providing fixed bids for larger, more ambitious scopes.

    AI-Assisted Scope Definition: Machine learning tools enable more precise requirement gathering and early-stage prototyping, leading to better-defined project scopes—a critical success factor for fixed-price models. AI can help analyze requirements and identify potential gaps or ambiguities early in the process.

    Accelerated Delivery Timelines: With AI accelerating every phase of development, fixed-price projects are being completed in significantly shorter timeframes, potentially increasing profit margins for providers while delivering faster time-to-market for clients.

    Outcome-Based Evolution: Fixed-price agreements are evolving beyond feature delivery to outcome achievement. Clients increasingly pay for specific business results—such as “a system that reduces customer support tickets by 25%”—rather than just software functionality.

    Improved Risk Management: While AI improves predictability, rapidly evolving AI capabilities create new estimation challenges. Service providers must balance the benefits of AI productivity gains with the risks of over-reliance on automated tools and the uncertainty of evolving AI capabilities.

    Turnkey Solutions: End-to-End AI Orchestration

    What is Turnkey? Turnkey projects involve the service provider taking complete responsibility for the entire project lifecycle, from initial conception to final delivery. Clients receive a fully functional, ready-to-use solution without needing to manage the development process.

    AI-Driven Transformation

    Automated Full-Stack Development: AI tools can now handle significant portions of the complete development process, from initial design generation to backend coding, frontend development, and deployment automation, making true turnkey solutions more efficient and cost-effective.

    Compressed Development Cycles: AI’s acceleration capabilities significantly reduce the time required for turnkey projects, allowing clients to reach market faster and gain competitive advantages through quicker solution deployment.

    Enhanced Quality and Cost-Effectiveness: As AI improves code quality and development efficiency, turnkey solutions become more robust and cost-effective to produce, leading to more attractive pricing for clients while maintaining higher profit margins for providers.

    AI Orchestration Focus: The service provider’s role evolves from hands-on development to AI tool orchestration, ensuring seamless integration while providing the human elements of creativity, strategic oversight, and domain expertise that AI currently lacks.

    AI-Integrated Solutions: A new category of turnkey offerings is emerging where AI is not just a development tool but an integral component of the delivered product itself—such as AI-powered analytics platforms or intelligent automation systems built and delivered as complete solutions.

    Emerging Models: The Future of Software Development Services

    Outcome-Based Agreements

    These agreements tie payments directly to specific, measurable business outcomes or KPIs. AI’s ability to track and quantify impact—such as demonstrating measurable improvements in system performance or user engagement—facilitates these performance-based arrangements. This creates true partnerships between providers and clients, sharing both risks and rewards.

    Industry Examples: SoftwareOne discusses outcome-based contracts where “the price depends on specific business outcomes or achievement of goals,” similar to Rolls-Royce’s “Power by the Hour” model for jet engines. NearForm advocates for incorporating “client goals into a solution with an Outcome-Based Approach from the start to define what they are trying to achieve.” Companies like Cast Software define outcome-based contracting as agreements where “a supplier or provider of services must achieve specific goals and is paid only when those objectives are met.”

    Subscription-Based AI-Augmented Services

    As AI tools become more integrated into development workflows, service providers are offering recurring revenue models. These include “AI-as-a-Service” offerings or AI-powered development subscriptions where clients pay for ongoing access to AI-augmented development capabilities and continuous system improvements.

    Market Players: Augment Code positions itself as “the most powerful AI software development platform with the industry-leading context engine,” offering subscription-based AI coding assistance. Virtusa provides AI-augmented software development services that “utilize machine learning and artificial intelligence (ML/AI) tools to accelerate the software development life cycle.” Vention offers “end-to-end AI software development services” supporting clients “every step of the way.”

    Hybrid Engagement Models

    Modern engagements often combine multiple traditional models in sequence. A typical project might start with a T&M discovery phase leveraging AI for rapid prototyping, transition to a fixed-price model for core development with AI acceleration, and then move to a managed services model for ongoing maintenance and AI-driven enhancements.

    Risk-Sharing Partnerships

    Service providers are becoming more willing to share project risks with clients, especially in outcome-based models. AI’s ability to improve project predictability makes these partnerships more viable. Some providers are experimenting with equity-based partnerships where they share in the long-term success of the solutions they deliver.

    AI Advisory and Consulting Services

    The complexity of AI adoption creates significant demand for expert consulting services. Organizations need guidance on AI tool selection, integration strategies, workflow optimization, and navigating ethical considerations around AI-generated code and data usage.

    Service Providers: Pragmatic Coders offers comprehensive AI implementation services, building “AI apps from scratch or implementing AI solutions into existing products.” Apriorit provides “comprehensive suite of AI software development services” to help clients “build unique AI-powered applications tailored to solving specific business challenges.” IBM’s architecture guidance emphasizes how “AI assistants could aid developers in various ways” including automating “code generation, optimizing existing code, and enforcing coding standards.”

    Strategic Implications for the Industry

    From Staff Augmentation to Capability Enhancement: Successful service providers are repositioning themselves from traditional “body shops” to AI-enabled capability multipliers. The value proposition shifts from providing developers to providing AI-augmented development outcomes that deliver measurable business impact.

    New Competency Requirements: Teams must develop skills in AI tool orchestration, AI-generated code review and optimization, and hybrid human-AI workflow design. Prompt engineering becomes a core competency, requiring developers to learn effective collaboration with AI assistants.

    Evolved Quality Assurance: With AI generating more code, quality assurance processes must evolve to effectively validate machine-generated outputs while maintaining security and performance standards. This includes developing new testing methodologies specifically designed for AI-generated code.

    Transformed Estimation Practices: Traditional project estimation methods become obsolete when AI can dramatically accelerate certain tasks while having minimal impact on others. Service providers must develop new estimation frameworks that account for AI productivity gains while managing associated risks. Read more: How AI Changes Your Daily Estimation Sessions: A Practical Guide for Developers

    The Path Forward

    The transformation of software development engagement models represents more than operational changes—it signals a fundamental shift toward efficiency, speed, and demonstrable business value over traditional metrics of effort and time.

    Organizations that successfully navigate this transition will be those that embrace AI tools as force multipliers, develop new pricing models that capture and share AI-created value, invest in hybrid human-AI capabilities, and focus relentlessly on outcomes rather than activities.

    The AI revolution is not just making developers more productive—it’s redefining what it means to create software solutions. The future belongs to those who can orchestrate both artificial and human intelligence to create outcomes that neither could achieve alone.

    +

    +

    +

    +

    +

    +

    + Software Engineering
    + Agile, ai, AIRevolution, ArtificialIntelligence, BusinessStrategy, CodeGeneration, DeveloperProductivity, DevOps, DigitalTransformation, EngagementModels, FixedPrice, FutureOfWork, ITStaffing, OutcomeBasedAgreements, PromptEngineering, SDLC, SoftwareConsulting, SoftwareDevelopment, SoftwareFactory, TechInnovation, TechTrends, TimeAndMaterial, Turnkey, ValueBasedPricing

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

  • How AI Changes Your Daily Estimation Sessions: A Practical Guide for Developers

    June 10, 2025

    +

    +

    +

    +

    +

    +

    Imagine walking into your sprint planning meeting and instead of staring at a blank user story wondering “How complex is this?”, you’re greeted with: “Similar stories took 5-8 points. Here are three comparable examples from last quarter, plus two potential risks the AI flagged.”

    This isn’t science fiction—it’s happening right now in development teams worldwide. Let’s walk through exactly how your estimation sessions will change and what you’ll experience as a developer.

    The Old Way vs. The AI-Enhanced Way

    Traditional Planning Poker Session:

    Product Owner: "As a user, I want to integrate with Stripe payment API..."
    Developer 1: "Hmm, API integrations... maybe 5 points?"
    Developer 2: "But we've never used Stripe before... 8 points?"
    Developer 3: "I worked with payment APIs at my last job... 3 points?"
    [30 minutes of debate follows]

    AI-Enhanced Planning Poker Session:

    Product Owner: "As a user, I want to integrate with Stripe payment API..."
    AI Tool: "Baseline suggestion: 5-6 points
    - Similar API integrations: PayPal (5 pts), Shopify (6 pts), Twilio (4 pts)
    - Flagged risks: Stripe webhook handling, PCI compliance requirements
    - Team velocity: You completed 3 API stories last quarter, average 5.3 points"
    
    Developer 1: "That matches my gut feeling, but I'm concerned about the webhook complexity..."
    Developer 2: "Good point about PCI compliance—we'll need security review..."
    Developer 3: "Looking at those similar stories, the Shopify one had webhook issues too..."
    [Focused 10-minute discussion, consensus on 6 points]

    Four Ways AI Transforms Your Estimation Experience

    1. You Get a Smart Starting Point Instead of Guessing

    What You’ll See:
    When you open a user story, your estimation tool shows:

    • AI Suggested Range: “6-8 story points”
    • Why This Range: “Based on 12 similar stories from your team’s history”
    • Comparable Stories: Clickable links to past stories with similar complexity
    • Team Context: “Your team averages 5.2 points for API integration stories”

    Real Example:
    Sarah’s team at a fintech startup uses Atlassian’s AI-powered Agile Poker. When estimating a “User login with OAuth” story, the AI suggests 3-4 points and shows them their previous OAuth implementation from six months ago, which took exactly 3 points and 2.5 days to complete.

    Your Experience:

    • No more “Where do we even start?” moments
    • New team members quickly understand your team’s estimation patterns
    • Debates focus on what’s different about this story, not starting from zero

    2. AI Flags Problems Before They Bite You

    What You’ll See:
    Before you even start estimating, AI scans the story and highlights:

    • 🚨 Missing Requirements: “Acceptance criteria doesn’t specify error handling”
    • 🔗 Hidden Dependencies: “This story affects the user authentication module currently being refactored”
    • ⚠️ Technical Risks: “Requires changes to database schema—consider migration complexity”

    Real Example:
    At a SaaS company, the AI flagged that a “simple” user profile update story would impact 12 other components. What the team initially estimated as 2 points became 8 points after discussing the cascading changes the AI identified.

    Your Experience:

    • Fewer mid-sprint surprises
    • Better-defined stories before estimation
    • Rich discussion about actual complexity, not just obvious requirements

    3. Smarter Sprint Planning That Considers AI’s Impact

    What You’ll See:
    During sprint planning, instead of just adding up story points, you see:

    • Adjusted Capacity: “Your 40-point velocity becomes ~50 points with AI tools for backend work, ~35 points for UI work”
    • Optimal Distribution: “Assign API stories to developers who’ve shown 40% productivity gains with AI”
    • Risk Assessment: “This sprint has 3 high-uncertainty stories—consider reducing scope”

    Real Example:
    V2Solutions reports that their AI planning tools recommend task distributions based on individual team member strengths and current workload. One team discovered that their junior developer completed AI-assisted CRUD operations 60% faster than expected, leading to better work allocation.

    Your Experience:

    • No more over-committed sprints
    • Work assigned based on your actual strengths and AI tool effectiveness
    • Realistic sprint goals that account for AI productivity variations

    4. Continuous Learning That Improves Your Estimates

    What You’ll See:
    Mid-sprint and during retrospectives:

    • Progress Tracking: “Story XYZ is tracking 50% faster than estimated—AI code generation is exceeding expectations”
    • Pattern Recognition: “Your team consistently underestimates database migration stories by 30%”
    • Improvement Suggestions: “Consider adding 2-point buffer for stories involving third-party API rate limits”

    Real Example:
    Thoughtminds.io advocates for “Rolling Wave Planning” where teams regularly re-estimate as AI’s impact becomes clearer. One team discovered that AI helped them complete front-end stories 35% faster but had minimal impact on database optimization work.

    Your Experience:

    • Estimates get more accurate over time
    • Clear visibility into where AI helps your team most
    • Data-driven retrospectives that improve future planning

    Real Tools You Can Use Today

    Atlassian Jira + AI-Powered Agile Poker

    What it does: Provides AI insights directly in your Planning Poker sessions
    Link: Atlassian Community – AI-Powered Agile Poker
    Developer experience: See historical context and risk analysis without leaving Jira

    StoriesOnBoard AI

    What it does: Helps create better-defined stories before estimation
    Link: StoriesOnBoard.com
    Developer experience: Cleaner, more complete user stories lead to more accurate estimates

    Spinach.io (AI Scrum Master)

    What it does: Provides comprehensive sprint planning support with AI insights
    Link: Spinach.ai
    Developer experience: Get capacity predictions and risk analysis for entire sprints

    Kollabe Planning Poker

    What it does: Analytics-driven estimation with team pattern recognition
    Link: Kollabe.com
    Developer experience: Understand your team’s estimation patterns and improve over time

    “But We’re a New Team/Project—We Have No Historical Data!”

    This is the most common pushback, and it’s valid. Here’s exactly what happens when you have zero historical data:

    Week 1-2: Cold Start Strategy

    What AI tools do without your data:

    • Use industry benchmarks from similar projects and teams
    • Analyze your story structure and acceptance criteria for complexity indicators
    • Provide template-based suggestions for common story types (user registration, API integration, CRUD operations)
    • Learn from similar open-source projects or anonymized industry data

    Real Example:
    A startup with zero history uses StoriesOnBoard AI for a “user login with email verification” story. The AI suggests 5-8 points based on:

    • Industry average for authentication features (6 points)
    • Complexity analysis of the acceptance criteria (medium complexity detected)
    • Similar patterns from anonymized project data

    Your experience:

    AI Tool: "Suggested: 5-6 points (industry baseline)
    - Common range for authentication stories: 4-8 points
    - Your story has medium complexity based on acceptance criteria
    - Recommended: Start conservative, track actual effort for learning"
    
    Developer 1: "No historical context, but 5-6 feels reasonable for auth..."
    Developer 2: "Let's go with 6 and track it carefully for future reference"

    Week 3-4: Rapid Learning Phase

    What changes quickly:

    • AI tools learn from your first few completed stories
    • Team velocity patterns start emerging
    • Individual productivity patterns with AI tools become visible
    • Story types your team excels at become clear

    Real Example:
    After completing just 3 stories, the AI notices:

    • Your team completes frontend stories 40% faster than industry average (thanks to good design system)
    • Backend API stories take 20% longer (team is learning new framework)
    • Testing stories match industry benchmarks

    Your experience:

    AI Tool: "Updated suggestion: 4 points (down from 6)
    - Your team's frontend velocity: 40% above baseline
    - Based on 3 completed frontend stories
    - Confidence: Medium (limited data)"

    Month 2: Hybrid Approach

    What you’re working with:

    • Small dataset of your team’s actual performance
    • Borrowed intelligence from industry patterns
    • Emerging team patterns that override generic suggestions
    • Confidence indicators showing when AI suggestions are reliable vs. uncertain

    Alternative Data Sources for New Teams

    1. Individual Developer History
    If team members worked on similar projects elsewhere:

    AI Tool: "Sarah completed 12 React stories at previous company
    - Average: 4.2 points per story
    - Suggested adjustment: +15% for new codebase learning curve"

    2. Technology Stack Benchmarks

    AI Tool: "React + Node.js + PostgreSQL projects typically see:
    - CRUD operations: 3-5 points
    - API integrations: 5-8 points  
    - Complex UI components: 8-13 points"

    3. Company-Wide Patterns (if you’re in a larger organization)

    AI Tool: "Based on 15 other teams in your organization:
    - Authentication stories: 5.8 point average
    - Your team's skill level: Intermediate (based on developer profiles)"

    The “Bootstrap Strategy” That Actually Works

    Week 1: Use AI for story structure analysis and industry benchmarks

    "This story seems complex based on acceptance criteria—consider 8+ points"

    Week 2-3: Hybrid estimation with heavy human override

    "AI suggests 6, but we know our React skills are strong—let's try 4"

    Week 4-6: AI starts learning your team’s actual patterns

    "AI suggests 4 based on your completed similar stories"

    Month 2+: Full AI-human collaboration with team-specific insights

    "AI suggests 5 points with high confidence based on your team's 8 similar completed stories"

    What New Teams Actually Experience

    The Good News:

    • You start getting some value immediately from story complexity analysis
    • Learning curve is fast—meaningful suggestions appear after just 5-10 completed stories
    • Industry benchmarks provide reasonable starting points
    • Confidence indicators tell you when to trust vs. override AI suggestions

    The Reality Check:

    • First 2-3 sprints will have lower AI accuracy than established teams
    • You’ll need to track actual effort carefully to feed the learning process
    • Manual override will be common initially
    • Conservative estimates are recommended until patterns emerge

    Month 1 Experience:

    Developer: "AI suggests 5 points, but it says 'low confidence - new team'"
    Team Lead: "Let's go with 6 to be safe and track the actual effort"
    [Story takes 4.5 points worth of effort]
    AI learns: This story type can be estimated more aggressively for this team

    What Your First AI-Enhanced Estimation Session Will Look Like

    Week 1: Getting Started (New Team)

    • Install AI estimation tool
    • Configure with your technology stack and team skill levels
    • Run first estimation session using industry benchmarks and story analysis
    • Set up careful effort tracking for rapid AI learning

    Week 2-4: Bootstrap Phase

    • Use AI suggestions as starting points, but override frequently based on team judgment
    • Track actual effort religiously—this is your investment in future accuracy
    • Notice where AI industry benchmarks align or diverge from your reality

    Week 2-4: Building Confidence

    • Start using AI suggestions as discussion starting points
    • Pay attention to stories where AI flagged risks you missed
    • Track which AI productivity predictions prove accurate

    Month 2+: Full Integration

    • AI suggestions become your default starting point
    • Team develops intuition for when to trust vs. challenge AI recommendations
    • Retrospectives include analysis of estimation accuracy improvements

    The Bottom Line for Developers

    AI won’t replace your judgment, but it will make your estimation sessions:

    • Faster: Spend 10 minutes discussing instead of 30 minutes guessing
    • More accurate: Learn from actual historical data, not just memory
    • Less stressful: Start with informed baselines instead of blank slates
    • More insightful: Discover patterns in your team’s work you never noticed

    According to Dart Project Management, teams using AI estimation report 40% more accurate capacity planning and significantly reduced instances of sprint overcommitment.

    The future of estimation isn’t about perfectly predicting the future—it’s about making better decisions with better information. And that future is available to implement in your next sprint planning session.


    Sources:

    • Growing Scrum Masters – AI Story Point Estimation
    • V2Solutions – AI-Driven Sprint Planning
    • Agilemania – AI Scrum Master
    • Thoughtminds.io – Estimating Generative AI Projects
    • Dart Project Management – AI Agile Sprints
    • Atlassian Community – AI-Powered Agile Poker

    +

    +

    +

    +

    +

    +

    + Software Engineering
    + Agile, ai, AIinAgile, AItools, artificial-intelligence, Atlassian, chatgpt, DataDriven, DeveloperProductivity, DevOps, DevTools, digital-marketing, Estimation, FutureOfWork, Jira, MachineLearning, PlanningPoker, ProductivityTools, ProductManagement, ProjectManagement, Scrum, SoftwareDevelopment, SoftwareEngineering, SprintPlanning, StoryPoints, TechInnovation, technology, TechTrends

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

  • The Developer’s AI Dilemma: Speed vs. Responsibility in the Age of Code Generation

    May 23, 2025

    +

    +

    +

    +

    +

    +

    “The AI generated it” is the new “it worked on my machine” – but you’re still 100% responsible for the code that ships. Are we becoming better developers or just glorified deployment scripts?

    As AI tools revolutionize software development, developers find themselves caught in an unprecedented professional dilemma. The promise of AI-generated code is seductive: write complex functions in seconds, debug issues instantly, and deliver features at lightning speed. But beneath this technological marvel lies a troubling question that keeps many developers awake at night: Who is really responsible when AI writes the code?

    The Illusion of Automated Accountability

    “The AI generated it” has become the new “it worked on my machine” – a convenient deflection that fundamentally misunderstands professional responsibility. When developers use this excuse, they’re essentially arguing that they’re no longer accountable for the code they deploy. But here’s the uncomfortable truth: you are still 100% responsible for every line of code that ships under your name, regardless of its origin.

    Think about it this way: when a structural engineer uses CAD software to design a bridge, they don’t blame the software if the bridge collapses. The tools may have changed, but the accountability remains squarely with the professional who approved and deployed the solution.

    The Speed Trap: When Productivity Becomes a Prison

    AI can generate in seconds what might take hours to write manually. Managers see this speed and want more. Clients see rapid feature delivery and expect it to continue. The market pressure becomes intense: why spend a day writing something AI can produce in minutes?

    This creates a dangerous cycle:

    • AI generates code faster than humanly possible
    • Stakeholders adjust expectations to match AI speed
    • Developers feel pressured to skip quality checks to maintain pace
    • Technical debt accumulates while quality deteriorates
    • Problems emerge later, often catastrophically

    The irony is that the speed advantage often evaporates when you factor in proper testing, security reviews, debugging, and the inevitable technical debt cleanup. But these costs are hidden and delayed, making them easy to ignore in the rush for immediate delivery.

    The Black Box Problem: When Developers Become Code Managers

    Perhaps the most insidious aspect of the AI dilemma is how it can transform developers from code creators into code managers. When you use AI to generate code you don’t fully understand, then use AI again to fix the problems in that same code, you’re essentially managing a black box system.

    This creates several dangerous scenarios:

    • Loss of architectural understanding: How can you make informed design decisions about code you don’t comprehend?
    • Security blindness: AI might miss context-specific vulnerabilities that only human understanding can catch
    • Debugging paralysis: When AI-generated fixes fail, you’re left without the deep knowledge needed for effective troubleshooting
    • Technical debt explosion: Without understanding the code’s implications, you can’t assess long-term maintainability

    The Professional Responsibility Crisis

    The core dilemma facing developers today is this: AI democratizes code creation but doesn’t distribute accountability. You remain professionally and legally responsible for:

    • Understanding what your deployed code actually does
    • Ensuring it meets security and performance standards
    • Verifying it follows organizational guidelines
    • Maintaining and debugging it over time
    • Taking ownership when things go wrong

    Yet AI’s speed and convenience can make it tempting to skip the very activities that enable you to fulfill these responsibilities effectively.

    Finding Balance: AI as Tool, Not Replacement

    The solution isn’t to abandon AI – it’s to use it responsibly. Consider AI as you would any powerful development tool: incredibly useful when wielded with expertise and dangerous when used carelessly.

    Effective AI-assisted development involves:

    • Using AI to generate initial implementations or suggest solutions
    • Always reviewing and understanding AI-generated code before deployment
    • Maintaining comprehensive testing regardless of code origin
    • Building quality checkpoints that can’t be bypassed under pressure
    • Treating AI suggestions as drafts, not finished products

    The Stakes Are Real

    The consequences of getting this balance wrong extend far beyond individual careers. Poor quality code can lead to security breaches, system failures, data loss, and in some cases, physical harm. When we rush to deploy AI-generated code without proper oversight, we’re not just risking our professional reputation – we’re potentially endangering the users and organizations that depend on our work.

    A Call for Professional Maturity

    The AI revolution in software development demands a new level of professional maturity from developers. We must resist the pressure to treat AI as a magic solution that absolves us of responsibility. Instead, we need to:

    • Advocate for realistic timelines that include proper quality assurance
    • Educate stakeholders about the hidden costs of rushed AI-generated implementations
    • Develop new skills in rapidly reviewing and understanding code we didn’t write
    • Maintain the same professional standards regardless of how code is generated

    The future belongs to developers who can harness AI’s power while maintaining their role as thoughtful, accountable professionals. Those who try to hide behind “the AI did it” will find themselves increasingly obsolete – not because AI replaced them, but because they replaced themselves. What a better example, this article has been generated with AI still all the responsibility lies in the author.

    The choice is ours: we can use AI to become better developers, or we can let it turn us into glorified deployment scripts. The technology is neutral; the responsibility for how we use it is entirely human.

    +

    +

    +

    +

    +

    +

    + Software Engineering
    + accountability, ai, AI tools, AI-assisted programming, AI-generated code, artificial-intelligence, black box coding, code quality, code review, debugging, developer responsibility, development ethics, professional standards, security in AI code, software development, technical debt, technology

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

Previous
1 2 3 4
Next

Linkedin

Tumblr

GitHub

Mastodon

Designed with ThakHouse.

Loading Comments...