In the software development world, breaking changes are often seen as the embodiment of risk—disruptive, unsettling, and at times, unavoidable. As technology evolves, introducing breaking changes can be a strategic necessity to ensure security, refine systems, and stay competitiveness. However, their impact on products, teams, and customers requires a nuanced approach. For CTOs, VPs, and other tech leaders, mastering the art of implementing breaking changes can distinguish a thriving product from a stagnant one.
In a recent Breaking Changes episode, Postman’s Jean Yang sat down with David Fowler, Distinguished Engineer at Microsoft, to delve into lessons from the industry, and offer actionable takeaways to guide tech leaders through this critical aspect of software evolution.
The fear and necessity of breaking changes
Tech leaders often encounter resistance when proposing changes that disrupt established workflows or introduce uncertainty. In a recent study conducted by Prosci, 70% of respondents did not account for resistance from users when planning changes, which ultimately contributed to failed objectives. However, breaking changes aren’t inherently negative; they are vital for growth, technical debt reduction, and innovation. The key lies in understanding when and how to introduce them.
Fowler’s experience as a distinguished engineer working on .NET and C# sheds light on the challenges of balancing evolution and reliability. For platforms like .NET, stability is paramount, but this often prevents teams from introducing new features. While some changes are inevitable, the real challenge is deciding which changes are worth the disruption.
Advice for leadership: Establish a framework for evaluating the impact of potential breaking changes on your product. Prioritize changes that offer substantial long-term benefits, such as improved security, performance, or maintainability.
Insights and lessons from breaking changes
1. Practice empathy when introducing breaking changes
One of the most important lessons Fowler shared is the importance of empathy for those affected by breaking changes. While changes might seem logical from a technical perspective, they can often disrupt established workflows, cause frustration, or introduce unexpected challenges for users and stakeholders. By understanding the concerns, fears, and potential obstacles faced by those impacted, tech leaders can create a smoother transition.
Advice for leadership: Engage with your user base early in the change process. Share the rationale, potential benefits, and challenges, and be open to feedback. This builds trust and reduces resistance.
2. Justify impact with value
Users are more willing to accept breaking changes when they clearly understand the value. For instance, changing how authentication worked in .NET from version one to version two was painful but made the process more intuitive and secure.
Advice for leadership: Whenever introducing a breaking change, articulate the direct benefits, such as enhanced security or usability, to stakeholders. Provide clear documentation and migration paths to smooth the transition.
3. Avoid introducing too many changes at once
Fowler highlights an important lesson learned: introducing multiple breaking changes simultaneously can overwhelm both your team and your users. An attempt to overhaul .NET Core’s package manager and build system led to significant challenges and ultimately required a step back.
Advice for leadership: Avoid introducing multiple large-scale changes simultaneously. Instead, stagger changes, allowing time for adaptation and feedback, which helps mitigate risks and avoid user fatigue.
Evolving leadership mindsets
As leaders grow within their organizations, their influence naturally increases, which requires a shift in how they engage with their teams. Fowler highlights that as his role grew, he realized the importance of evolving from a directive leader to one who facilitates and empowers others. This meant listening more, being thoughtful with his language, and recognizing the impact his presence had on discussions and decision-making. A key but often overlooked aspect of leadership evolution is learning when to step back, allowing others to step forward and take ownership.
Advice for leadership: Transition from being the decision-maker to a facilitator by encouraging diverse opinions and giving your team space to lead. Step back when needed to foster autonomy and creativity, helping others grow into confident contributors.
Underrated breaking changes in the industry
1. The impact of AI on development
AI represents both an underrated and overrated breaking change in the industry. Tools like GitHub Copilot are beginning to reshape how developers work, reducing boilerplate code and automating repetitive tasks. However, the full implications of AI on software development practices are still emerging.
Advice for leadership: Explore AI-driven tools to improve productivity within your teams but maintain a balanced view. Encourage experimentation while being mindful of the potential disruption to established workflows.
2. The importance of longevity and context
Long-term tenure, like Fowler’s 15 years at Microsoft, provides unparalleled insights into an organization’s evolution, enabling a deeper understanding of technical decisions and their outcomes over time. This depth of experience is a vastly underrated asset in the industry.
Advice for leadership: Encourage retention and foster a culture that values long-term commitment. Create opportunities for your experienced engineers to share their knowledge, acting as mentors and role models for newer team members.
3. Fostering technical leadership and IC growth
The pathway to becoming a distinguished technical leader often lacks clear structure, leading many to feel that management is the only route to advancement. However, investing in and nurturing individual contributors can significantly elevate your organization’s technical prowess.
Advice for leadership: Develop structured growth paths for ICs within your organization. Offer training that focuses on technical strategy, architecture, and leadership, providing them with opportunities to share their insights and shape the company’s technical direction.
Embracing breaking changes as a path to growth
Breaking changes, whether in technology, leadership, or career paths, are essential drivers of innovation and progress. When approached with empathy, clear communication, and strategic intent, they can be transformed into valuable opportunities for growth. As you guide your teams through these transitions, it’s important to remember that success isn’t just about the change itself but how you manage the process. By building an environment that values feedback, encourages experimentation, and nurtures technical leadership, you’ll ensure your organization is well-equipped to adapt and thrive in an ever-evolving industry.
Final takeaway: Embrace breaking changes not as disruptions but as chances to evolve, innovate, and lead the creation of technology that’s resilient, forward-thinking, and impactful. By internalizing these lessons, tech leaders can turn breaking changes from fear-inducing disruptions into powerful catalysts for long-term success and innovation.
For more of David Fowler’s insights, be sure to check out the full episode, “What It Takes to Become a Distinguished Engineer at Microsoft.” Learn more wisdom from industry experts by subscribing to Breaking Changes on Apple, Spotify, and YouTube.