Maintainable
Episodes
Sally Lait: Confidence Is the Real Metric
05 May 2026
Contributed by Lukas
Sally Lait joins Robby Russell on Maintainable to explore software maintainability through a different lens… not just code quality, but how teams wo...
Rein Henrichs: The Real Work of Maintenance Happens Before You Touch the Code
14 Apr 2026
Contributed by Lukas
Show Notes Software maintenance is often framed as a technical problem. Refactoring code, fixing bugs, or upgrading dependencies. In this conversation...
Russ Olsen: The Hidden Cost of Forgetting Why the Code Looks Like That
31 Mar 2026
Contributed by Lukas
Russ Olsen: The Hidden Cost of Forgetting Why the Code Looks Like That Software doesn’t become hard to maintain only because the code is messy. It o...
Joel Oliveira: Predictability Is a Maintainability Feature
17 Mar 2026
Contributed by Lukas
Long-lived software systems rarely stay tidy. Over time they accumulate decisions, workarounds, and layers of history that can make even simple change...
Lucas Roesler: The Fast Feedback Loop Advantage
03 Feb 2026
Contributed by Lukas
Maintaining software over time rarely fails because of one bad decision. It fails because teams stop getting clear signals… and start guessing.In th...
Brittany Ellich: Using AI to Maintain Software, Not Rewrite It
21 Jan 2026
Contributed by Lukas
Brittany Ellich: Using AI to Maintain Software, Not Rewrite ItRewrites are seductive. Clean slates promise clarity, speed, and “doing it right this ...
Kent L Beck: You’re Ignoring Optionality… and Paying for It
09 Dec 2025
Contributed by Lukas
Kent Beck: You’re Ignoring Optionality… and Paying for ItIn this episode of Maintainable, Robby speaks with Kent Beck, a foundational voice in mod...
Don MacKinnon: Why Simplicity Beats Cleverness in Software Design
02 Dec 2025
Contributed by Lukas
Episode Highlights[00:00:48] What Makes Software MaintainableDon explains why unnecessary complexity is the biggest barrier to maintainability, drawin...
Chris Zetter: Building a Database to Better Understand Maintainability
18 Nov 2025
Contributed by Lukas
Episode SummaryIn this conversation, Robby sits down with software engineer and author Chris Zetter to explore what building a relational database fro...
Denis Rechkunov: When Consistency Becomes a Culture
28 Oct 2025
Contributed by Lukas
Maintaining consistency across a sprawling codebase is one of the hardest challenges in software engineering. Denis Rechkunov, a Principal Software En...
Nathan Ladd: Relentless Improvement and the Cost of Neglect
14 Oct 2025
Contributed by Lukas
Episode NotesThe discussion moves into how standards evolve beyond tools, the trade-offs of monocultures vs. consensus-driven teams, and why ownership...
Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainability
26 Aug 2025
Contributed by Lukas
Taylor Otwell, creator of Laravel and CEO of Laravel LLC, joins Robby to reflect on his 14-year journey building and maintaining one of the most popul...
Sara Jackson: Why Resilience Is a Team Sport
22 Jul 2025
Contributed by Lukas
Robby is joined by Sara Jackson, Senior Developer at thoughtbot, to explore the practical ways teams can foster resilience—not just in their infrast...
Joel Chippindale: Why High-Quality Software Isn’t About Developer Skill Alone
01 Jul 2025
Contributed by Lukas
CTO coach Joel Chippindale joins Robby to share what he's learned over two decades of building and leading software teams. Joel argues that maintainab...
Melanie Sumner: Why Continuous Accessibility Is a Strategic Advantage
10 Jun 2025
Contributed by Lukas
Melanie Sumner: Why Continuous Accessibility Is a Strategic AdvantageMelanie Sumner, Product Accessibility Lead for Design Systems at HashiCorp, joins...
Joe Masilotti: Simplify Your Stack, Ship Mobile Sooner
20 May 2025
Contributed by Lukas
In this episode of Maintainable, Robby speaks with Joe Masilotti, an independent consultant who helps Rails teams ship mobile apps using Hotwire Nativ...
Freedom Dumlao: What 70 Java Services Taught Me About Focus
22 Apr 2025
Contributed by Lukas
Freedom Dumlao (CTO at Vestmark) joins Robby to explore what it means to maintain software at scale—and why teams sometimes need to unlearn the hype...
Mercedes Bernard: Friendly Code Welcomes Everyone In
08 Apr 2025
Contributed by Lukas
Mercedes Bernard, Staff Software Engineer at Kit, joins Robby to talk about what it really means to write code that lasts—and who it should be writt...
Evan Phoenix: The Why of the One Line
01 Apr 2025
Contributed by Lukas
Evan Phoenix (@evanphx), CEO of Miren, joins Robby to explore the subtle but powerful difference between writing code that works and writing code that...
Chris Salvato: Building Developer Paradise by Sitting in the Problem Space
25 Mar 2025
Contributed by Lukas
Software isn’t always about rapid iteration. Sometimes, the real challenge lies in carefully assessing the existing environment. Chris Salvato, a Se...
Heimir Thor Sverrisson: Architecture First, Tech Debt Second
18 Mar 2025
Contributed by Lukas
Heimir Thor Sverrisson joins Robby to discuss the importance of software architecture in long-term maintainability. With over four decades in the indu...
Noémi Ványi: Only Fix Problems That Are Actually Problems
11 Mar 2025
Contributed by Lukas
Not every messy piece of code needs a refactor. Noémi Ványi, Senior Software Engineer at Xata, joins Robby to discuss how to develop the intuition t...
Julia López: Code Tells a Story—Even the White Spaces
25 Feb 2025
Contributed by Lukas
How much can legacy code tell us beyond just functionality? Julia López, Senior Software Engineer at Harvest, believes that even small details—such...
Marty Haught: Rethinking Technical Debt—Is It Really Just Drift?
18 Feb 2025
Contributed by Lukas
Episode OverviewMarty Haught joins Robby to discuss the sustainability of open-source projects, the challenges of maintaining RubyGems, and why the me...
Mike Bowers - From ISAM to JSON—Navigating 40+ Years of Database Evolution
11 Feb 2025
Contributed by Lukas
Mike Bowers, Chief Architect at FairCom, has spent decades navigating the evolution of database technology. In this conversation, he and Robby explore...
Lorna Mitchell: Writing Documentation Engineers Will Actually Read
28 Jan 2025
Contributed by Lukas
Join Robby as he chats with Lorna Mitchell, open source advocate and technical writer, about the art of creating documentation that doesn’t gather d...
Carola Lilienthal: Tackling Technical Debt with Patterns and Domain Knowledge
21 Jan 2025
Contributed by Lukas
Episode SummaryIn this episode of Maintainable, Robby sits down with Carola Lilienthal, Software Architect and Managing Director at WPS. Together, the...
Joel Hawksley: The Hidden Costs of Frontend Complexity
14 Jan 2025
Contributed by Lukas
Topics DiscussedThe importance of changeability as a core characteristic of well-maintained software.How GitHub has approached accessibility as a busi...
Austin Story: Making Software Easier to Change, Remove, and Evolve
10 Dec 2024
Contributed by Lukas
Austin Story, Senior Engineering Director at Doximity, joins Robby to explore the intricacies of building maintainable systems, fostering team account...
Dan Moore: Building Developer-Friendly Authentication Solutions
03 Dec 2024
Contributed by Lukas
Topics CoveredCharacteristics of Maintainable SoftwareDan emphasizes the importance of internal consistency in codebases, automated tests, and proper ...
Tom Johnson: From Auto-Documentation to Better Collaboration
26 Nov 2024
Contributed by Lukas
In this episode of Maintainable, Robby speaks with Tom Johnson, Co-Founder and CEO of Multiplayer. Tom shares his perspectives on the evolving landsca...
Gulcin Yildirim Jelinek: Maintaining Postgres for Modern Workloads
19 Nov 2024
Contributed by Lukas
In this episode of Maintainable, Robby speaks with Gulcin Yildirim Jelinek, a Staff Database Engineer at Xata. Joining from Prague, Czech Republic, Gu...
Justine Gehring: Refactoring Software at Scale with AI
12 Nov 2024
Contributed by Lukas
Robby sits down with Justine Gehring, an AI Research Engineer at Moderne, to explore how AI tools are transforming code maintenance and scalability. T...
Katerina Skroumpelou: Bridging Engineering and Advocacy for Scalable Software
05 Nov 2024
Contributed by Lukas
As a product advocate at Nx, Katerina Skroumpelou combines her engineering skills with a knack for connecting with clients. In this episode, she share...
Moriel Schottlender: The Challenges of Modernizing MediaWiki's Monolith
22 Oct 2024
Contributed by Lukas
Welcome to another engaging episode of the Maintainable Software Podcast! In this episode, Robby sits down with Moriel Schottlender, Principal Softwar...
Kate Holterhoff: From Front-End Engineering to Developer Advocacy
15 Oct 2024
Contributed by Lukas
Welcome to another engaging episode of Maintainable! Robby sits down with Kate Holterhoff, Ph.D., a Senior Analyst at RedMonk and former front-end eng...
Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing
08 Oct 2024
Contributed by Lukas
Alan Ridlehoover: Building Robust Systems Through Behavior-Centric TestingIn this episode of Maintainable, Robby speaks with Alan Ridlehoover, Senior ...
April Wensel: Navigating Legacy Code with Compassion
01 Oct 2024
Contributed by Lukas
In this episode of Maintainable, Robby speaks with April Wensel, Founder and Owner of Compassionate Coding. April shares her journey in the software i...
Saron Yitbarek: The Balance Between Maintainable Code and Multiple Streams of Income
24 Sep 2024
Contributed by Lukas
In this episode of the Maintainable Software Podcast, Robby sits down with Saron Yitbarek, founder and CEO of DiscoLink, to explore the challenges of ...
Lutz Hühnken: Crafting Resilient Systems with Event-Driven Design
10 Sep 2024
Contributed by Lukas
IntroductionIn this episode of Maintainable, Robby speaks with Lutz Hühnken, Head of Engineering Excellence at Upvest, about the transformative power...
Noel Rappin: Reviving the Pickaxe— A Journey through Ruby's Legacy
03 Sep 2024
Contributed by Lukas
In this episode of the Maintainable Software Podcast, Robby is joined by Noel Rappin, Staff Engineer at Chime Financial, and the mind behind the lates...
Cassidy Williams: Navigating the Career Jungle Gym in Tech
27 Aug 2024
Contributed by Lukas
In this episode of the Maintainable Software Podcast, Robby sits down with Cassidy Williams, Developer Advocate at GitHub, to explore the dynamic natu...
Obie Fernandez: Pioneering AI in Ruby on Rails Development
20 Aug 2024
Contributed by Lukas
In this episode of the Maintainable Software Podcast, Robby speaks with Obie Fernandez, Chief Scientist at Olympia, about the integration of AI into m...
Tekin Süleyman: Balancing Complexity and Team Size
13 Aug 2024
Contributed by Lukas
Topics DiscussedCharacteristics of Well-Maintained Software: Tekin emphasizes the importance of software that is easy to change and tailored to the te...
Ryosuke Iwanaga: The Benefits of Cell-Based Architecture
08 Aug 2024
Contributed by Lukas
Ryosuke shares his insights on:Ownership in Software Maintenance: The role of single-threaded ownership and dedicated teams in maintaining software an...
Julia Ferraioli - Capturing Untold Open Source Stories
30 Jul 2024
Contributed by Lukas
Welcome to the Maintainable Software Podcast! In this episode, Robby speaks with Julia Ferraioli, an Open Source AI/ML Strategist at AWS and co-founde...
Tanmai Gopal: Unlocking the Potential of Unified APIs
23 Jul 2024
Contributed by Lukas
In this episode of Maintainable, Robby Russell sits down with Tanmai Gopal, the CEO and co-founder of Hasura. Tanmai shares his insights into the char...
James Socol: Building Social Capital in Engineering Teams
16 Jul 2024
Contributed by Lukas
In this episode of the Maintainable Software Podcast, Robby Russell sits down with James Socol, a Staff Engineer at Fastly, to discuss the art of main...
Paola Ducolin: Building Trust and Communication in Engineering Teams
10 Jul 2024
Contributed by Lukas
In this episode of Maintainable, Robby chats with Paola Ducolin, Staff Engineer at Datadog. Paola shares her insights on the characteristics of well-m...
Robin Heinze - React Native and the Art of Flexibility
18 Jun 2024
Contributed by Lukas
In this episode, Robby welcomes Robin Heinze, Director of Engineering at Infinite Red, to discuss the intricacies of building and maintaining robust s...
Scott Hanselman - The Fear Factor in Maintainable Software
11 Jun 2024
Contributed by Lukas
In this episode of Maintainable, Robby welcomes Scott Hanselman, VP of Developer Community at Microsoft and host of the Hanselminutes Podcast, to disc...
Stig Brautaset: Understanding Alien Artifacts in Legacy Code
04 Jun 2024
Contributed by Lukas
In this episode of Maintainable, Robby chats with Stig Brautaset, Staff Software Engineer at CircleCI. Stig shares his insights on maintaining well-do...
Brit Myers - Decoding Product vs. Technical Risk
28 May 2024
Contributed by Lukas
Join Robby as he welcomes Brit Myers to the podcast. Brit, currently thriving as the VP of Engineering at System Initiative, discusses the intricacies...
Andrea Guarino - Leveraging Static Analysis for Better Code
21 May 2024
Contributed by Lukas
In this episode, Robby interviews Andrea Guarino, a Software Engineer at Sonar, about the importance of leveraging static analysis tools for maintaini...
Staffan Nöteberg - On the Power of Monotasking in Software Development
07 May 2024
Contributed by Lukas
In this insightful episode, we dive deep into the essence of software maintainability with Agile Coach and author Staffan Nöteberg. Unpacking the lay...
Martin Emde - Ruby Central and the Art of Being Tolerant to Change
23 Apr 2024
Contributed by Lukas
In this episode of Maintainable, our host Robby Russell sits down with Martin Emde, a sage in the Ruby community and the current Director of Open Sour...
Esther Olatunde - AI's Role in Evolving Software Engineering Practices
16 Apr 2024
Contributed by Lukas
In this captivating episode of the Maintainable Software Podcast, host Robby Russell delves deep with Esther Olatunde, Senior Product Engineer at Inte...
Robbie Wagner - Whiskey, Front-End, and Whatnot
26 Mar 2024
Contributed by Lukas
Starting off, Robbie Russell and Robbie Wagner bonding over the complexities of their names in the coffee queue.They dive into the essence of maintain...
Irina Nazarova - Investing in Innovation: The Consultancy's Guide to Growth
12 Mar 2024
Contributed by Lukas
In the latest episode of Maintainable, Robby Russell has a fascinating conversation with Irina Nazarova, the CEO of Evil Martians, a name that resonat...
Kyle Daigle - Scaling Up with AI: A New Era of Code Maintenance
05 Mar 2024
Contributed by Lukas
Robby has a chat with Kyle Daigle, the Chief Operating Officer at GitHub. They dive into the evolution of software development from the perspective of...
Jon Moniaci - Can We Draw A Boundary?
27 Feb 2024
Contributed by Lukas
Robby speaks to the Senior Software Engineer at Perchwell, Jon Moniaci. They discuss the delicate balance between innovation and stability in software...
Chad Fowler - How Small Can We Make This Problem
20 Feb 2024
Contributed by Lukas
Robby has a candid chat with Chad Fowler, the General Partner & CTO at BlueYard Capital. They delve into the nuances of software maintenance, the evol...
John Nunemaker - How Scary Is This Change?
13 Feb 2024
Contributed by Lukas
Robby has a conversation with John Nunemaker, the Owner at "Box Out Sports" and "Fewer & Faster". They dive into the basics of maintaining software pr...
Jemma Issroff - Running the Parser in the Rain
06 Feb 2024
Contributed by Lukas
Robby has a conversation with Jemma Issroff, a Senior Software Engineer, speaker and the author of the book, “Ruby Garbage Collection in Under Two H...
Jeanine Soterwood - Helping Clients Understand Maintenance Work
30 Jan 2024
Contributed by Lukas
Robby has a chat with the Software Development Team Lead at Thoughtbot, Jeanine Soterwood. Unraveling the intricacies of Ruby on Rails, they explore t...
Andrew Atkinson - Maintainable... Databases?
23 Jan 2024
Contributed by Lukas
Robby engages with independent consultant and author, Andrew Atkinson, delving into the intricate world of software development and database maintenan...
Jimmy Koppel - Aspects of Good Code
16 Jan 2024
Contributed by Lukas
Robby engages in a captivating conversation with the CEO at Mirdin and UpToSpeed, Jimmy Koppel. They delve into the transformative power of evolvable ...
Hila Fish - Maintainable Infrastructure Code, Culture, and Documentation
09 Jan 2024
Contributed by Lukas
Robby has a chat with Senior DevOps Engineer, Hila Fish. They start off by discussing the key characteristics of maintainable infrastructure code. Hil...
Jacob Aronoff - At Least One Person Who Cares To See It Through
21 Nov 2023
Contributed by Lukas
Robby has a chat with Staff Software Engineer at Lightstep from ServiceNow, Jacob Aronoff. Their conversation delves into the vital signs of a thrivin...
Oliver Drotbohm - Modulithic Applications
14 Nov 2023
Contributed by Lukas
Robby has a chat with Oliver Drotbohm, a Staff 2 Engineer at VMware. They explore the essence of maintainable software, pinpointing understandability ...
Colin Campbell - The Daily Habits of Effective Engineers
07 Nov 2023
Contributed by Lukas
Robby has a chat with Colin Campbell, the Director of Engineering at Tucows. Colin delves into the professional ethos of software development, emphasi...
Dave Bryant Copeland - Quantifying the Carrying Cost
03 Oct 2023
Contributed by Lukas
Robby has a chat with the Author of Sustainable Web Development with Ruby on Rails, Dave Bryant Copeland (he/him/his). Dave is a Senior Software Engin...
Cameron Jacoby - Am I Learning From This?
26 Sep 2023
Contributed by Lukas
Robby has a chat with Cameron Jacoby (she/her/hers), a Senior Full-Stack Engineer at BetterUp, a platform that uses world-class coaching and science-b...
Adriana Villela - On Being a Serial Refactorer
22 Aug 2023
Contributed by Lukas
Robby has a chat with Adriana Villela, a Senior Developer Advocate at Lightstep. Adriana highlights that well-maintained software should be software t...
Ahmed Wasfy - Thriving as an Engineering Manager
08 Aug 2023
Contributed by Lukas
Robby has a chat with Ahmed Wasfy (he/him/his), the Senior Development Manager at Amazon. On the topic of the common characteristics of well maintaine...
Naomi Ceder - People-Centric Community Building
04 Jul 2023
Contributed by Lukas
Robby has a chat with Independent Python Instructor and Consultant, Naomi Ceder (she/her/hers). Naomi values clear organization, separation of concern...
Nadia Odunayo - Don't Try to Solve a Pain Point For a Problem You Aren't Experiencing
19 Jun 2023
Contributed by Lukas
Robby has a chat with Nadia Odunayo (she/her/hers), the Founder and CEO at The StoryGraph. Nadia starts off by highlighting solid test coverage, up-to...
Daniela Baron - About Those Docs
12 Jun 2023
Contributed by Lukas
Robby has a chat with Senior Staff Engineer, Daniela Baron (she/her). Daniela starts by listing the following things about the characteristics of well...
Cory House - Finding Opportunities for Improvement
05 Jun 2023
Contributed by Lukas
Robby has a chat with Cory House (he/him/his), the Founder at Reactjsconsulting.com, a software developer, author, speaker, and consultant. “I love ...
Avery Quinn - Can You Quantify the Impact?
22 May 2023
Contributed by Lukas
Robby has a chat with Senior Software Engineer, Avery Quinn. Avery was previously a Senior Software Engineer at Remotion. Avery starts by sharing that...
Carlos Blé - Código Sostenible
24 Apr 2023
Contributed by Lukas
Robby has a chat with Carlos Blé, the CEO of Lean Mind, an organization focused on boosting the growth of developers and teams. Carlos is a software ...
Lena Reinhard - How Will People Get Stuff Done?
17 Apr 2023
Contributed by Lukas
Robby has a chat with Executive and Leadership Coach, Lena Reinhard (she/her/hers). Lena is a speaker, writer, and Founder of Lena Reinhard Leadership...
Eric Normand - Grokking Simplicity
13 Mar 2023
Contributed by Lukas
Robby has a chat with software engineer, trainer, and author of the book Grokking Simplicity, Eric Normand (he/him/his). As Eric reflects on his exper...
Henrik Warne - There is No Software Maintenance
06 Mar 2023
Contributed by Lukas
Robby has a chat with Henrik Warne (he/him/his), the Senior Software Engineer at Talos. In Henrik’s view of well-maintained software, he talks about...
Andy Croll - Keep the Weird Stuff Weird
06 Feb 2023
Contributed by Lukas
Robby has a chat with Andy Croll (he/him/his), the CTO at CoverageBook, a Rubyist, the Organizer of the Brighton Ruby Conference, an author, speaker, ...
Marianne Bellotti - Building Empathy by Asking, "How Would You Write This in 2007?"
16 Jan 2023
Contributed by Lukas
Robby has a chat with Marianne Bellotti (she/her/hers), the Engineering Manager at Rebellion Defense. Marianne is the author of the books, “Hiring E...
Arpit Mohan - Aspiring To Be Boring As Possible
26 Dec 2022
Contributed by Lukas
Robby has a chat with Arpit Mohan, the Co-Founder and CTO of Appsmith, an open-source low-code tool that helps developers build dashboards and admin p...
Noah Clark - Maintainable Software is a Team Sport
19 Dec 2022
Contributed by Lukas
Robby has a chat with Noah Clark, a consulting applications developer at Merchants Bonding Company, one the top 15 largest surety writers in the Unite...
Ben Parisot - Documentation Just Needs To Be Used Once
07 Nov 2022
Contributed by Lukas
Robby has a chat with the Engineering Manager at Planet Argon, Ben Parisot. Ben has worked in the tech industry since 2010 and has worn many, many hat...
Stefanni Brasil - When Is Tackling Tech Debt Possible?
17 Oct 2022
Contributed by Lukas
Robby has a chat with Stefanni Brasil, the Co-founder and Educator at hexdevs, Co-creator of the Get to Senior online course and community, and most r...
Andrea Goulet - Empathy-Driven Software Development
10 Oct 2022
Contributed by Lukas
Robby has a chat with Andrea Goulet, the CEO of Corgibytes, a software development shop dedicated to maintaining and modernizing software applications...
John Ousterhout - It's Not You, It's the Codebase
19 Sep 2022
Contributed by Lukas
Robby has a chat with Professor of Computer Science at Stanford University, John Ousterhout. John founded Electric Cloud with John Graham-Cumming. Ous...
Courtney Wilburn - Maintainable Software Has Good Community Around It
12 Sep 2022
Contributed by Lukas
Robby has a chat with Courtney Wilburn (She/Her/Hers), the Sr. Engineering Manager at Elastic Cloud, the leading platform for search-powered solutions...
Nelida Velazquez - We Have to Express Our Opinions
05 Sep 2022
Contributed by Lukas
Robby has a chat with Nelida Velazquez, a Senior Software Engineer at Cobalt Labs, a company that modernizes traditional pentesting through their Pent...
Casey Watts! - Culturesmithing
08 Aug 2022
Contributed by Lukas
Robby has a chat with Casey Watts!, the Founder at Happy and Effective and the author of Debugging Your Brain. Their conversation begins with Casey ca...
Marc Cornellà - Maintaining Open Source Projects
01 Aug 2022
Contributed by Lukas
Robby has a chat with Marc Cornellà, the official maintainer and major contributor for the Oh My Zsh project. Marc will start off by sharing his wisd...
Shanea Leven - How To Bring Visibility To Your Codebase
04 Jul 2022
Contributed by Lukas
Robby has a chat with the CEO and Co-Founder of CodeSee, Shanea Leven. The conversation starts with Shanea’s insights on the relatively unknown shif...
Greg Foster - A Pattern for Smaller, Faster, and Frequent Code Reviews
27 Jun 2022
Contributed by Lukas
Robby has a chat with Greg Foster, the Co-founder and CTO of Graphite, an open-source CLI and code review dashboard built for engineers who want to wr...
Urban Hafner - Management Isn't For Everyone
13 Jun 2022
Contributed by Lukas
Robby has a chat with Urban Hafner, a Senior Software Developer at Risk Methods. The episode starts off on a high note with Urban explaining that main...
Amy Isikoff Newell - Code Shouldn't Drive Us To Drink
30 May 2022
Contributed by Lukas
Robby has a chat with the VP of Engineering at ConvertKit, Amy Isikoff Newell. Amy starts off by talking about why perfection is the enemy of software...