Agile Software Engineering

Alessandro

This podcast explores how craftsmanship, architecture, engineering rigor, and organizational practices come together in modern R&D environments. Each edition refines and deepens my earlier reflections, building a coherent and evolving body of knowledge around Agile Software Engineering 

  1. The beauty of Mastering Algorithms

    11 HR AGO

    The beauty of Mastering Algorithms

    In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida reflects on one of the most fundamental - and increasingly overlooked - pillars of professional software engineering: mastering algorithms. Modern software development makes it possible to assemble complex systems quickly through frameworks, libraries, integrations, and AI-assisted tooling. While this represents real progress, it can also blur an important distinction. There is a difference between building systems by combining existing components and understanding the principles that make those systems work. This episode explores why algorithmic thinking remains essential for long-term engineering maturity. Through a personal story from early in his career - where a geometric clipping algorithm resolved a real performance bottleneck - Alessandro illustrates how first-principles reasoning becomes decisive when abstractions break down. These reflections are not presented as an academic lecture or a rejection of modern tools, but as experience-based insights shaped by years of working with performance-critical and safety-conscious systems across different domains. The goal is not to romanticize the past, but to highlight a simple and durable truth: technologies evolve rapidly, but the underlying ideas endure. Engineers who understand algorithms and complexity are better equipped to design, evaluate, and adapt systems when ready-made solutions fall short. If you are a student, an engineer early in your career, or a manager responsible for growing technical depth within your team, this episode offers perspective on why mastering algorithms is not an academic luxury - but a professional foundation. Please subscribe to this podcast. It’s the best way to support it.  If you’re interested in the original article behind this episode, make sure to subscribe to the Agile Software Engineering newsletter.

    22 min
  2. The User Manual for the Young Engineering Manager - or: the worst mistakes I made in my career

    4 DAYS AGO

    The User Manual for the Young Engineering Manager - or: the worst mistakes I made in my career

    In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida reflects on the transition from engineer to engineering manager - and the mistakes he had to learn the hard way. When engineers step into management roles, they often bring with them the very strengths that made them successful: problem-solving speed, technical clarity, and the ability to see solutions quickly. While these qualities are valuable, they can quietly create unintended consequences. Discussions become shorter. Decisions become centralized. Teams grow dependent rather than autonomous. This episode explores several of the most impactful early-career management mistakes - including believing it was still his job to be the smartest person in the room, confusing speed with progress, and becoming “too central” in the system. These reflections are not presented as a leadership framework or a management theory, but as experience-based lessons shaped by years of building and leading engineering teams across different domains and levels of complexity. The goal is not to discourage engineers from moving into leadership, but to highlight a simple and often uncomfortable truth: leadership is less about brilliance and more about restraint. If you are a young engineering manager - or considering the transition - this episode may help you avoid strengthening your team’s dependence when you actually intend to build their autonomy. Please subscribe to this podcast. It’s the best way to support it.  If you’re interested in the original article behind this episode, make sure to subscribe to the Agile Software Engineering newsletter.

    16 min
  3. Why Security Is an Engineering Quality, Not a Checkbox

    8 FEB

    Why Security Is an Engineering Quality, Not a Checkbox

    In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida explores why security is not a feature that can be added late in the process, but an engineering quality that emerges from how software systems are designed, built, and maintained. While security is widely acknowledged as important, it is often treated as a separate activity — handled through checklists, audits, or tools — rather than as an integral part of everyday engineering work. This may feel reassuring, but it frequently leaves architectural assumptions, trust boundaries, and systemic risks unexamined. This episode reflects on security from three complementary perspectives: secure coding practices, system-level security through architecture and threat modeling, and security as an engineering habit embedded in daily work. Not as a security framework or compliance model, but as a set of experience-based reflections shaped by years of working with security- and safety-critical systems. The goal is not to turn engineers into security specialists, but to show how clarity, architecture, reviews, and disciplined engineering practices form the foundation for meaningful security outcomes. The episode also touches on how AI is already being used today to support security work — from code analysis and reviews to system-level monitoring — as a practical supplement to human judgment. Please subscribe to this podcast. It’s the best way to support it. If you’re interested in the original article behind this episode, make sure to subscribe to the Agile Software Engineering newsletter.

    20 min
  4. Rethinking Legacy Software: A Strategic Leadership Challenge

    13 JAN

    Rethinking Legacy Software: A Strategic Leadership Challenge

    Do legacy systems really slow organizations down - or are they quietly holding everything together? In this episode of The Agile Engineering Deep Dive, Alessandro Guida challenges a belief many organizations take for granted: that legacy software is something to avoid, escape, or replace as quickly as possible. When legacy systems are neglected or treated as second-class citizens, risk accumulates quietly. Knowledge concentrates, change becomes expensive, and business-critical value is taken for granted - until something breaks and the impact suddenly becomes visible. This episode explores:  • The many faces of legacy - from missing documentation to compliance constraints  • Why legacy systems often represent core business value  • Lessons from Y2K and other “invisible until critical” moments  • How incremental modernization reduces risk without stopping the business  • Why stability is a prerequisite for sustainable innovation Not an argument against innovation. Not nostalgia for old technology. A challenge to how leaders think about responsibility, risk, and long-term value. If you care about building organizations that can innovate without sacrificing stability - and that treat legacy as a managed asset rather than an unmanaged risk - this episode is for you. Please subscribe to this podcast. It’s the best way to support it. If you’re interested in the original article behind this episode, make sure to subscribe to the Agile Software Engineering newsletter.

    18 min

About

This podcast explores how craftsmanship, architecture, engineering rigor, and organizational practices come together in modern R&D environments. Each edition refines and deepens my earlier reflections, building a coherent and evolving body of knowledge around Agile Software Engineering