In short
Podcast Summary: Dev Interrupted - Episode: Hunting for a Flywheel | Refactoring’s Luca Rossi
Podcast Overview Title: Dev Interrupted Description: Dev Interrupted is a podcast for software engineering leadership, hosted by Andrew Zigler, Ben Lloyd Pearson, and Dan Lines. Each week, they discuss strategies and challenges behind high-performing software teams, featuring industry expert interviews and news coverage.
Episode Summary Episode Title: Hunting for a Flywheel | Refactoring’s Luca Rossi Description: In this episode, hosts Ben and Andrew discuss recent headlines about AI investments and the latest research with Luca Rossi from Refactoring. They explore what makes successful engineering teams and how factors like team happiness, shipping frequency, and recognition correlate with team performance.
Key Discussions
- Industry News:
- DeepSeek: An update on its impact in the market and AI advancements.
- Goldman Sachs: Strategic hiring of AI leadership, indicating a shift in financial institutions towards strong engineering practices.
- Luca Rossi's Research Insights:
- Analysis of a comprehensive survey of engineering professionals revealing key traits of successful engineering teams:
- Well-regarded by non-technical leadership: Indicates the value and respect earned by engineering teams within the organization.
- Happiness with development practices: Correlates with productivity and long-term job satisfaction.
- Ability to ship code quickly: Linked to team morale and effectiveness.
- Feedback Loop: The importance of shipping code frequently to maintain team happiness and efficiency, creating an effective feedback loop.
Key Concepts
- Jevons Paradox: The discussion highlights the paradox where increased efficiency (like AI tools) can lead to an increase in demand, rather than a decrease.
- Flywheel Effect: The concept of creating momentum in engineering teams where success in one area leads to success in others, reinforcing a positive cycle.
Practical Advice for Engineering Leaders
- Focus on Improving One Element at a Time: Encourage teams to tackle one process improvement at a time to build momentum gradually.
- Simplifying Code Reviews: Emphasize breaking down pull requests into smaller, manageable chunks to ease the review process.
- Metrics as a Conversation Starter: Use metrics to foster discussions about improvements, ensuring they reflect the needs of both technical and non-technical stakeholders.
Key Takeaways
- Successful engineering teams align closely with their organization’s goals and maintain open communication with non-technical leadership.
- Frequent shipping of code leads to enhanced team morale and effectiveness.
- Understanding and managing metrics is critical for demonstrating value to leadership and justifying engineering efforts.
- The integration of AI tools can enhance productivity, but responsible and effective implementation is key.
Resources Mentioned
- Reports and Surveys: Links to the recent survey and insights from the episode.
- Guest Profiles: Information on Luca Rossi and his contributions to the discussion.
- Tools and Platforms: Mention of Linear B’s GitStream and AI Starter Kit for improving developer workflows.
Conclusion This episode of Dev Interrupted emphasizes the interconnectedness of team dynamics, performance metrics, and organizational respect. Listeners are encouraged to apply these insights to foster a more effective engineering culture. For deeper insights, the full research report discussed is available in the show notes.
Follow the Hosts:
- [Ben Lloyd Pearson](https://www.linkedin.com/in/benlloydpearson/)
- [Andrew Zigler](https://www.linkedin.com/in/andrewzigler/)
Follow Luca Rossi:
- [Luca Rossi on Substack](https://substack.com/@refactoring)
Support the Show:
- Subscribe to the [Dev Interrupted Substack](https://devinterrupted.substack.com/)
- Leave a review on [Rate This Podcast](https://ratethispodcast.com/devinterrupted)
- Follow on [Twitter](https://twitter.com/DevInterrupted) or [LinkedIn](https://www.linkedin.com/showcase/dev-interrupted/)
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:00Hey, Andrew, I heard you have been doing some really cool experiments with generative AI. Why don't you tell our audience about what you're up to? I have been in the lab this week, full confession, working on the developer experience for LinearBee's GitStream, where we're using the power of context with generative AI in the code review process. I imagined the process a bit like a restaurant. Bear with me. The model is the chef, and it's skilled and trained and capable of preparing an incredible variety of things, depending on what you give it. And the data, that's like the ingredients. Without good ingredients, even the best chef will struggle.
0:39And when the ingredients are local, as opposed to store-bought, they're often better. But the context is the order from the customer. And the customer is everything. They tell the chef what to prepare, how to season it, if they have any allergies, whether to mix it in or put it on the side. and no matter how great the chef is or the ingredients are, if the order is unclear or missing, the dish doesn't meet your expectations and you're not going to be happy. I think I'm starting to see where you're going with this. So at Linear B, we're focusing on that power of the context to give the customer exactly what they ordered because no one cares if your chef's from an elite academy or if your ingredients are fully organic if you order a steak and you get a pizza.
1:25To that end, LinearBee released the AI Starter Kit for PR reviews. It's a collection of workflow automations that make it easy for engineering teams to start experimenting now with the power of context in their pool reviews. It brings the power of context to your AI models and services along with native GitStream capabilities. Yeah, so this is really cool because we're seeing so many products out there that are emerging to tackle this space. there's definitely a lot of confusion about like what works versus what doesn't and i really like the focus we've been taking with this so far with this experiment is is on responsible adoption so if you're just getting started with ai like you've maybe just bought one or two tools and you have an api that your developers can query or if you're somebody who's actually already purchased a bunch of ai tools and is trying to roll them out responsibly and securely and effectively we're building these tools that are here to help you mature that process.
2:20So where can our audience get their hands on this? Well, anywhere that Google searches or search engine results are served is probably going to point you in the right way. The GitStream documentation is going to have the best starting places for getting started with the AI starter kit, as well as the other features available on GitStream. But if you want someone to walk you through a more in-depth guide or walkthrough based upon your own needs, definitely reach out on the Linear B website. it's really easy to book a demo with an expert and get your hands on some great ideas for how to take this back to your team.
2:52And we'll put the links for this in the show notes as well. Yeah, awesome. So Ben, what have you been reading this week? Last week, we were talking about all these investments that are going into AI. Of course, this was before DeepSeek completely upended the market. But I am proud to say that many of our predictions from then were relatively accurate. You know, some might say we have some foresight here. Another story that has caught my attention for reasons that we'll get into in a moment is IBM. A company that has been around forever at this point, very early to the AI space with Watson, but a company that I think we've all kind of forgotten about for a while, because there just hasn't been a lot of groundbreaking news other than maybe like them buying Red Hat and HashiCorp.
3:38Their Q4 earnings report just came out. Usually these are not interesting at all, but they showed some extremely bullish growth in one area in particular, and that was their AI services. So they announced$5 billion in total sales, and$2 billion of that was in Q4 alone. So a massive, massive quarter over quarter growth. Naturally, there's a huge spike in their stock price, sort of bucking the trends actually of this week of many of the companies in AI. But actually, there's one finer detail that was like, hidden under all of this, and that 80 % of this is actually consulting. So, you know, only about 1 billion was from actual software.
4:20So, you know, getting back to our opening there, where we're talking about experimenting with AI, like, you hire consultants when you're not sure what you're doing, and you're experimenting, you know, so I think that's actually a very good indicator of where the industry as a whole stands today. The question I keep asking myself is, when is that going to change? Like when is software, like purchasing software tools, when is that going to become the main driver of AI adoption? So, but we've got an upcoming guest from IBM, don't we, Andrew? Yes, I'm very excited for our upcoming guest on the show.
4:54We have Dr. Ashwari of WatsonXAI at IBM. is coming on talking about how engineering teams are making those first moves now to adopt AI practices and the things they can do to be more effective in the future with those tools they pick up. And getting a playbook like that from an expert at IBM is invaluable. Like you just said, so much of their market value comes from providing insights and details on how people can implement this. So imagine we got a bite of that for free here on Dev Interrupted for our listeners. I'm really excited to share it in an upcoming episode. Yeah, awesome. You know, and it's really, I think, going to be an awesome story of how legacy companies are reinventing themselves.
5:32You know, everyone is facing this new reality of AI disrupting them. Like, everyone has to be focused on how we're going to reinvent ourselves for this new era. So let's talk about some of that disruption. I think you've got a new story that you wanted to share that gets into some of the events of the last week. I read a great article that kind of summed up some of the disruptions this week. At the beginning of the week, DeepSeek, DeThroning, ChatGPT in the App Store, NVIDIA losing$593 billion in market value in a single day, which is a record one-day loss for any company. And everyone Googled Jevon's Paradox.
6:10And Ben, were you among those Google searches? No, I let my GPTs do my searching for me these days. I don't need Google anymore. Or not a joke. I actually did Google it. So I am definitely one of those millions of people who wanted to learn what it is. And for anyone else out there who hasn't been had been exposed to this yet this week, the Jevons paradox is a paradox where it was observed in the late 1800s where the invention of a more efficient steam engine, you know, some people thought that meant that coal demand would plummet, but the reverse was actually true. So by making a more efficient steam engine, it enabled more people to afford the amount of coal that they needed to run it, which increased demand for coal.
6:56So, you know, and when you really think about it, chips are just rocks, you know, like better efficiency is going to drive more demand for rocks. So I think companies like NVIDIA in particular will probably end up being fine through all of this. But one thing in the article that we're going to link to these in our Substack newsletter and in the show notes is it reinforced a theme we brought up last week, actually, on how there's a bit of an arms race emerging as it relates to this artificial general intelligence that everyone is pursuing. And the companies that I would be concerned if I worked for them are definitely the ones that are focused entirely on AI.
7:34The question I'm asking is like, will these events be a catalyst for VCs to pull back from AI to focus on more efficiency? Or are they going to double down on quality to try to keep leapfrogging the competition? Another story that came out that I was just thinking about that is maybe related to this is, you know, OpenAI just announced a new partnership with the U.S. National Laboratories that is specifically focused on cybersecurity for the U.S. federal government. So like we're already seeing this idea of there being like real national security interests in building this stuff and securing it.
8:08You know, and I think this also kind of highlights an issue that a lot of these Chinese companies are going to have is that, you know, they have to adhere to their local laws. And, you know, companies that really value their security and their privacy and they don't want to hand over potentially competitive intel to foreign agents. It's a pretty risky situation to try to go with something like DeepSeek or any of these other, you know, I think there have been more companies now in the last week that have emerged from China with similar services. And while that threat is definitely there, you know, on the other hand, it also in the environment makes it even more difficult for engineering leaders to justify costly AI spend to maybe more traditional or Western model providers, especially justifying that to non-technical executives who may not fully understand the risks.
8:55They see the cheaper number and they see the savings that they could be gaining while still innovating faster than their competitors. And that's very appealing. So when a cheaper service is sitting right there ready for use, it really kind of calls everything into question about how the strategy should play. And while some industries and organizations could never tolerate those risks for their IP, like you said, handing over their information to, you know, like a foreign entity, nearly every industry is experimenting with AI in some capacity and everyone's risk level is going to be very different.
9:27And even Perplexity, you just mentioned, doing your Google searches for you. They even have a DeepSeq R1 mode now. You can use it there. And DeepSeq is also open source. So you could run that efficient model locally with those benchmark performance. But of course, that does nothing about addressing the censorship concerns related to the LLM, which also hit the news this week about people could get it to say and not say. and all it really comes down to say is that for some businesses it may make sense to pay or use a cheaper service if that means that you can scale faster and turn perhaps your ai wrapper into a fully fledged business with wings that can go vertical yeah and and our producer adam he shared this really awesome article with us and and he does not get enough credit on the show which changes today changes today so thanks adam but it was actually an interview from the ceo of deep seek a few months ago, so before all this hype took off, where one of the things that really stood out to me is they were talking about how China in modern history has been more of like a one to 10 culture when it comes to technology.
10:34They take existing ideas and they 10X that idea. Whereas the Western society has been more of a leader in the zero to one, so going from originating new ideas. And their CEO did really seem invested in this notion of China becoming more innovative rather than copying Western counterparts. And with it being open source, it'll be interesting to see what American companies learn from this because I think Hugging Face is already running their models that has been trained on Hugging Face data at this point. So yeah, I definitely think it's going to lead to more competition. That's true. But when it comes to open sourcing AI, it's only one part of the puzzle.
11:16Another thing that was in the news is going back to legacy companies, traditional enterprises, and how they're adapting. Goldman Sachs, they hired Daniel Marku from Amazon as its global head of artificial intelligence, engineering, and science. And why does this matter? What does this mean? You know, a huge traditional financial, highly regulated company just poached a leading AI leader about being able to implement these practices within their own company. Because Goldman Sachs AI assistant has already rolled out to 10 ,000 of its knowledge workers within its organizations. That's a huge rollout at a big scale.
11:51You know, I mentioned earlier, all industries right now are experimenting with AI. That means you get some really big players in the space outside of maybe traditional tech world, right? And the idea that they're going to roll this out to more of their knowledge workers and have it in all of their hands by the end of the year, they need somebody with that kind of expertise. And I think there's a lot to learn from a traditional enterprise making a move like that. The scale of AI adoption that we're seeing in this story specifically is, I think this is where things fundamentally start to change in how businesses operate.
12:26We have even these traditional companies who are making strategic hires to align themselves with all of this rapid AI development. So new models every week, you really need to have somebody there who can be an expert at how to implement that for your organization. And, you know, I think everyone, every company should have people who are leading their internal AI initiatives like this. I agree. It's about identifying those opportunities now that will have a big impact for tomorrow. And speaking of big impact, you know, last week we had Luca Rossi of Refactoring and Yishai Beery of Linear B, and they sat down to discuss how engineering teams can go beyond academic frameworks to have impact-based practices for their engineering organizations.
13:11And that survey was made possible by our listeners, the Dev Interrupted community, as well as the refactoring community for responding to our survey. So thank you again for lending us your voice, your perspective. It led to some really great insights that I don't want you to miss. So after the break, we're going to bring Luca on the show to tap into some of those insights. And what we're going to do is go hunting for flywheels. We're going to find those things that you can take back to your engineering team to start building momentum for tomorrow. Yeah, I was really excited to record this interview.
13:44So make sure you stick around. Last week, we launched an audience survey to gather feedback on Devon Interrupted to make the show as great as we can for you, our listeners. So far, we've received overwhelming feedback that we should pivot hard to AI content. At least three people have told us this. So we're almost completely convinced that this has to become an AI podcast at this point. And I've also heard that it basically guarantees you endless VC investments. So we'll see. If you don't want us to become an AI podcast, or maybe if you do, now is your last chance to give us that feedback because the survey will be closing very soon.
14:23Andrew, what else do you have to tell them about this survey? Well, you know, Ben is mostly joking, but we are very serious that we want your feedback. We want to hear from you. And I want to take this moment to highlight you, the listener, for joining us on this journey. Your opinions on topics like developer productivity and experience, they really matter to us. And so joined by you, we're rethinking every week what it means to build engineering teams, tackle software challenges, and lead in a world that never stops shipping. And so if you're ready to roll up your sleeves and join our conversation, the stakes are high, but the problems are fascinating.
14:57And we'd love to include you. So in that survey, there's a way for you to raise your hand. And it only takes a minute to complete. So please check it out in the show notes. And thanks in advance for lending us your time.
15:11Welcome back to Dev Interrupted. I'm your host, Andrew Ziegler. And today we have a special episode in store for you. I'm joined by Luca Rossi, the mind behind refactoring and a returning guest on the show, as well as my co-host, Ben Lloyd Pearson. We're diving into the traits and practices that make engineering teams successful based on a survey made possible by you, the Dev Interrupted and Refactoring community members. Luca, welcome back. How have you been? Thank you. Thank you so much for having me. I'm great. I'm so happy to discuss this great work that we did and excited. We're excited too.
15:45So your latest report, it uncovers some surprising insights, at least they were surprising to me when I went through, about engineering teams, from how shipping code impacts happiness to the hidden flywheels in team dynamics that are hiding right in front of us. So let's dig in. Yeah. And I wanted to start with the thing that like really, since I first read this report, I've been thinking about like nonstop. And that's these like three successful traits that you defined for engineering teams and why they matter so much. So in this report, there were like three key items that we found that were consistent among successful engineering teams.
16:24So first, they're well regarded by non-technical leadership. They're happy with their development practices and they're able to ship code quickly. So Luca, let's just dive in those three things to start with. And why are these things so tightly correlated with engineering success? us? That's such a good question, because when we started diving into the data from the survey, we tried to do that without bringing in any kind of bias from our own, because of course, we all have our own opinions about what makes engineering teams successful, you know, when it comes to practices or the type of outcomes.
17:00We really tried to go into the data like eyes wide open. And we found that these traits were, with a wide margin, the most correlated with all kinds or good practices you can think of, which means when it comes to engineering being well regarded by non-technical stakeholders, engineering being happy about their practices, project shipping on time, all these things, you can trace like a gradient that the more these things are good and well considered by engineers, the better the engineering team performs on things like having enough focus time, spending time as it was planned, engineers not needing to wait for others, They're happy with everything they're doing.
17:41So I would love to be able to say these are the successful traits because of this and that. But I can only observe the data and say this is apparently what matters the most or what is correlated the most with success. Yeah, I mean, you know, we hear constantly that like developer experience is like a critical component of being productive, like having a good experience at work and being engaged with things that you do. So, and yeah, I do think it's important though to note that, you know, these are correlations. So it's shipping quickly doesn't necessarily mean that everyone's going to be happier about things.
18:16But, you know, a team that is able to ship quickly and is successful over a long term is probably going to be more likely to be well regarded within their entire organization. So, like that brings me to my next question on this. What are some practices or cultural elements that you think help teams develop these traits? Yeah, this is, again, another great question, because as you briefly said, we cannot know for sure where the, let's say, the direction of the correlation goes, right? So I think that in some cases, engineering, for example, being well-regarded among technical stakeholders is downstream.
18:58The fact that the engineering team has proven themselves worthy of being well-regarded because of the good practices, for example, that you may mention. other times it is maybe also a top-down element that comes from technical survey leadership, you know, technical founders that creates a culture where engineering is well-regarded. So I think there might be different directions that depend on the team, but what we are seeing when it comes to practices that lead to engineering being well-regarded, it's many of the things that you may expect, like actually project ships on time, people not needing to wait for others, engineering investment being allocated in a way that is predictable.
19:43So speed, for example, is very important, but it seems that predictability about outcomes and about where the time goes and where the time is spent plays even a major role when it comes to trust. Yeah. And I've been thinking about that first point a lot, being well-regarded by non-technical leadership. It's like, if you're not well-regarded as an engineering organization, you should dive into those with those other organizations why that's the case. You know, like, you know, marketing is going to launch a new campaign around features that we're going to release. And sales is like promising these features to people that they're speaking to in conversations.
20:20And if your engineering team isn't predictably meeting those expectations, then you're probably not going to be well regarded. So if you have that conversation and you find out that sales is frustrated for this reason or whatever, I feel like that's such a great place for an engineering leader in particular to start that conversation with, how do we make the justification for our engineering organization as a whole to be more effective? Yes. Yes, I completely agree. And I think that this is a conversation that is more and more relevant these days and this time in history where you see companies getting leaner, engineering teams getting more productive with better tooling than ever with AI.
21:01So I think there has been a time where engineering value was kind of taken for granted and teams were ever expanding in big tech and in various departments. But now there is more tight control over what kind of budget goes into engineering teams. And I think this is in many cases even a healthy thing that makes leaders have to come to the table with a good understanding of what's the business value of the things they're doing. And I think it makes engineering organizations mature because they have to go outside of simple their technical castle and go there and be able to speak business, which is a good thing, if you ask me.
21:44Yeah. Yeah. And a lot of organizations aren't experienced or used to doing that. You know, like it's a level of maturity that I think is still very fresh to a lot of people in the engineering side of the equation. You described the data as a gradient, which is something that really stuck with me about how all of these things trend together. And it makes sense because if something is, if the team is well-regarded by non-technical leadership, it's probably because they're shipping quickly. And if they're shipping quickly, it's probably because they're happy with their practices. So they all feed into each other, but it creates a unique chicken and an egg scenario, like a hard problem to solve for the engineering team that doesn't have all of those in place already.
22:25Because if they're not happy with their practices, then they're not able to ship quickly. So they're not able to become well-regarded. And if they're not able to become well-regarded, they can't improve their practices and that way they can ship quickly. So it's an empowerment issue. And how can leaders, you think, how can they get that moving if their team feels stuck in proving themselves through these like chains of traits that we're talking about? Yeah, that is such a tough question to answer. First of all, I want to say that what you just said is completely confirmed by the data. That is, what you see is that successful teams are not like successful at maybe one big trait.
23:06You know, they are successful at everything. So good teams do everything good. So it's like a flywheel, as you mentioned, that success brings more success and of course makes people happier about engineering and that gives engineering teams more leeway and space to have more impact and that creates, you know, more trust. And so I think this is the positive flywheel, which goes also in the other direction. Things don't go well, trust decreases and you get less scope, less impact and da-da-da. So I think when it comes to what to focus on, there is a lot of things that you can work on, a lot of tools to measure pretty much everything these days, but everything takes work.
23:49I mean, when you take one piece, one part of the development process and you want to improve that, it's a lot of work, whatever you focus on, because you have to measure what works, what does not work. You have to embed that into, I don't know, team processes and see if things improve over time, design initiatives to make the thing get better. So I think the safest way is just to focus on one thing at a time, rally your team on that and create momentum on that thing and then go really one by one, knowing that many things are related to each other. So they don't really work in isolation, but you can neither fool yourself by thinking that you can just address all the problems of your team at once.
24:32That's right. Our co-host Dan, he says this a lot, that you should just find one thing and put an automation or a fix in place to make it better. Even if it's not perfect, just making that one small change is really important to getting started. And when it comes to a flywheel, one small change is how you start pushing it the other direction and making it from a negative flywheel into a positive one. Yeah. And I think, I think visibility is such a key aspect to this too. Like, cause you know, I think back to anytime that I've tried to unpack a, like an overly complicated process or something that just isn't working as efficiently as it should be like mapping everything out so that when one of those efficiencies appears, you have a point of discussion.
25:13It's like, here's a pain point we're experiencing today. And here's the data that shows us that we're experiencing that pain. What do we do to minimize that in the future? And, you know, that helps you just one by one, pick out the things that are sort of slowing your team down. And speaking of slowing teams down, you know, we found one thing that was found in this report is that the frequency of shipping code impacts team happiness and performance. The report shows that shipping code multiple times a day makes teams dramatically happier and more effective. So why do you think that shipping frequency is such like a game changer for morale?
25:50Well, I think everyone can relate from our own experience when I mean, as software engineers or for those of us who are managers or CTOs from the time where we were engineers, I think the best times in terms of personal satisfaction and feeling impact was where we are able to do things really fast and push new features and code like nonstop. Maybe you can think about the experience you have with your side projects, right? Where everything feels fast, you ship in minutes, and you can make incredible progress by yourself. So that's the exact feeling that some of the best teams are able to replicate on the full team.
Read the full transcript
26:32And I think that to answer your question, what makes ShippingFest really important is like this feedback loop. So when developers are able to create such a feedback loop between the thing that they do and whether it works, it doesn't work, it goes well, it's adopted by users or not, it makes work just more effective. Otherwise, when things go slowly and they have to contact switch to other tasks before seeing their work being released, everything gets slower. Because if you have to fix something, you have to contact switch again, or you have to wait for a long code review and contact switch again.
27:07The less you have to switch to other tasks and the more you can stay in your lane, do your thing, the better. And that's only enabled by a fast workflow that allows you to do things very frequently. We live in a world of immediate gratification. If you think about the impact of, if you write code today and it takes a week or two weeks for it to get merged into production, like the gratification you feel from that is going to be so much diminished versus like something that just gets shipped within an hour or so, you know? Totally. Totally. And think that, I mean, one of the kind of scary things that came out of the survey is that like 35 % of the teams take like days to release to production.
27:54So it's a big number, both the percentage and the amount of time it takes to ship to production. When this happens, it's usually because maybe you have a staging environment where changes get batched. So when things get released, it's a lot of stuff together gets released. what you worked on, it's muddled and it's put together other things and you can't really know how it's going. So everything gets kind of worse. So I think any work that we do to make this feedback loop better and faster and leaner, the better. Do you have any advice or tips on for organizations that do want to get faster at pushing code through to production?
28:36So, of course, pushing code to production is like a pipeline made of many steps. And some of these are like technical steps, like build times, deploy times, and others are instead manual steps, like reviewing the code in the PR or doing manual QA. And it's way easier to focus on the manual parts of the process and try to reduce them. And also, they're usually also the most impacting. The things that take hours, it's rarely the technical stuff. Some engineers are more comfortable at trying, you know, working weeks to shave minutes of the CI CD builds. But then you see code sitting idle for like 15 hours waiting for a review, and that just doesn't make sense.
29:22Focusing on the manual parts of the process is usually the best bet, and it's where you can shave off more and more time. Yeah. And from our experience, a lot of the issue tends to be around code reviews. You know, we've seen this quite frequently where developers are generally pretty good at writing code and CICD has done a pretty good job at making it pretty easy to get code deployed to production. It's all the human to human stuff that happens in the middle and sometimes human to machine stuff that happens in the middle that I think a lot of organizations get really get bogged down in today.
29:54yeah and that's like the scary problem to solve too right the human problem confronting each other or otherwise figuring out how to fix a broken communication or process is way harder than like you said shaving a few minutes off maybe your cicd pipeline or or whatnot yeah i agree i mean even if i mean when you look at the practical implications of solving that problem solving the humans but human parts of the problem can be easier. I think many of us technical people are like more comfortable just working on systems which are totally under control. They don't require like hard conversations. I mean, I totally get it.
30:33I'm like that. But we have to say because that the most gains usually are in the human parts of the process. Right. Right. And they're closed systems, right? You go to them, you know how they work, You put your inputs in, you get your outputs out. But when you work with another person, it's a lot harder because there's context shifting because, you know, you might have to take a break from that conversation. Maybe they're in a meeting right now and you have to wait for them to get back to you. Maybe they're on the other side of the world, right? So those human problem solving things, they happen at a different cadence and they don't happen on your own time always.
31:07So that's another barrier, right? And actually solving them. Yeah. And imagine, you know, not very many developers get training on how to like productively critique co-workers work, you know, like there's just not really, you know, software developers alone, most people just don't really get training on that. And it's, I think, a particularly difficult task for developers. It makes me think of some research actually that I read recently where one of the benefits of using generative AI within like the code review process was that it always defaults to this like professional, friendly, engaging, like helpful tone.
31:44Yeah. Even if it's not giving you the best feedback, it makes you feel a lot better because it's just structuring it in a way that makes you feel like it's helping you, you know? It's true. I really like how you compared the ideal experience being like your side project, because that's something that you work on in your own time, in your own closed system. And all the human problems are you talking to yourself about how to solve it or make things better. And so it's like a much happier place to be. I think what that drives out is the cohesion that's needed between teams to solve it. They need to work together in a quick way, much like how you would on your hobby project on a weekend.
32:21And you also pointed out a really good thing that when you have longer gaps in this review or it takes a while to solve these problems you know it adds risk effectively to the project and whether it's going to ship on time whether it's going to hit the the things needed whether it's going to be secure right there could be so many things that can go wrong in the cracks between those human interactions so how can teams address that without overwhelming themselves so i think that first of all one of the major reasons why in some teams code reviews take too long is that they're too hard. The human reviewer needs to do too much work.
33:00That's because the pull request is too long, it's too big, and so it doesn't get shipped in small commits, or there are no guidelines for how the code review needs to be done. Or maybe there are guidelines, but the human reviewer needs to check for too much stuff. So I think some of the, actually the easiest advice to implement are not about the human factor, but are very about the systems. And you can do a lot of improvement there. I mean, you can focus on creating small pre-requests and breaking down work in small batches so that reviewers can more easily take some time to do the pre-request instead of doing that at the end of the day, because it will take one hour, you know.
33:44And another thing is that a lot of work that doesn't require too much intelligence can be delegated to good tooling, static analysis, AI-powered static analysis that today is able to catch a lot of stuff from code smells to security issues to vulnerabilities. It is, I mean, there is a lot that you can check both in your build, but even in your IDE with the good plugins, with AI stuff. And that, of course, raises the bar of the stuff that gets into the pull requests. And so human reviews need to do less work. The way I see it is that code reviews are basically the worst place to catch any issue with code because it's basically the last step before shipping.
34:29The earlier you intercept problems, the more you can shift left, the better. And so ideally, if you see that your code review process constantly catches a lot of stuff, that's a bad sign. You should be able to catch more stuff before code review. And ideally, code reviews shouldn't catch a lot of things and just mostly be used for knowledge sharing. That does take work to solve those problems earlier, but it makes a lot of sense. And it definitely requires a reimagining of how to use a code review and maybe some best practices for teams to apply moving forward. So you mentioned all these like really great tools that are helping developers increase the quality of their code.
35:08But they also, I think, are representative of a lot of the difficulties that developers are facing today as well. because, you know, if these tools are tacked on, but there's not clear guidance about how to effectively use them, like what the expectations are around them, what to do when they report something that is a failure or whatever. And really what I think represents is like this idea of a code review has just gotten so complicated in many ways that it actually is getting much more challenging for developers to just navigate all of the requirements, you know, and that gets back to like manual processes.
35:43they shouldn't have to be keeping all that knowledge in their head. Like there should be automated guardrails that sort of push them down the right path. 100%. And in fact, I mean, one of the key areas when you talk about and think about developer experience these days is like cognitive load. So keeping the amount of stuff that developers have to keep in their head under control, making tools simpler and parts of the development process simpler and that do not require too much thinking. And when it comes to code reviews, it's a very hard task, not just because you have to check for code that you have not written.
36:21It's already a lot of complexity. And then there is the additional complexity of the human relationship. So you don't want to make the other person feel bad. I mean, you want to write things the right way. So there is so much complexity in doing a good code review that the more you can streamline this, the better, really. It kind of calls out something that a phenomenon that happens a lot in teams is because that is a skill. You often get one or two really high performers on code reviews who then just get crazy bogged down on code reviews because people turn to them as being the best ones. But really what that indicates is that there's problems in the process that need to get solved earlier.
37:01Yes, 100%. And so far, we've talked about, you know, the practices and how those practices can be applied to help you ship the code faster, have team practices that make you and your devs happier. But there's another side of this conversation, too, which is measuring that over time, measuring the impact and then rolling that impact up to your non-technical leadership, to the rest of the company, getting them on board with your successes and understanding, you know, your failures when they do happen. And so metrics are crucial, and your report highlights that and how they're often even misunderstood or misused by either side of that conversation.
37:37It can be kind of a double-edged sword. It can lead also to unintended consequences like mistrust within a team. But metrics should be a tool for understanding. I think that we all strive for that, and it's not just a target to hit, but really to understand what you and your teams are doing. So why do you think it is that teams fall into the trap of misusing metrics, and what can they do to avoid it? I think because medics sometimes feel like low-hanging fruit, that they seem easier to use for good than they actually are. So on one side, I believe they're crucial, I mean, to be sure that you're actually getting better.
38:14I mean, the analogy that I always make is that let's say you're trying to lose weight and you're not weighting yourself. I mean, how do You know, so you have to measure things, right? But at the same time, even for things that are easy to measure, sometimes it's not easy to set targets for that and make them healthy. You know, even when it comes to your weight, you have to take into account your height and your muscles and many things. You can't just blindly take a number and say, the 95 percentile of people weighs this way and that's my target. I mean, it doesn't work like that. But instead, some teams get into this metric workflow kind of blindly, setting benchmarks that are not, I mean, they're not always comparable because it depends.
39:02You're a startup, you're a big company, you're a high growth company, you're into products, B2B, B2C. It's all very different. So it's hard. But the act of measuring and using measurements as a ground for conversations, for feedback loop, for improvements, that's the most important thing, I think. You bring up a really good point here about how it's not about what the metrics mean for everyone else. It's about what the metrics mean for you and your team. It's about having that conversation up front. Because having the metrics in place, you know, that's the first step. And that's relatively easy.
39:35A lot of places are drowning in all sorts of data points that they could look at. But it's more about having a common understanding of what those data points mean and when they should be taken in context or with other numbers. I really like your analogy about weight and taking into effect other things like your height and your muscles because otherwise you're not getting a holistic view of your weight. And in that case, weight is giving you an imperfect view of your health. How can someone introduce these metrics then without creating resistance? So if we acknowledge that there are different uses to metrics and we have to have a common understanding and it's not just good or bad, how do you start?
40:13Yeah, so first of all, I think one of the hard parts of this is that using metrics right is like a pervasive practice that involves everyone. I mean, software engineers, managers, eventually, you know, the leadership gets reports of stuff and so on. So everyone needs to believe that these things are an ally for them, that this creates value for them, make their work easier or their work more valuable. And so it's really important to present them the right way. If you are, let's say, the advocate of your team for a metric program, it's really important that you present them to your developers or to your leadership in a way that speaks to their needs, their pain points, because that can be very powerful.
41:06But you have also to understand what the other parties have when it comes to concerns, what they want. So it's important to create a cohesive mood and culture around them, first of all. And then you don't have to, I think, boil the ocean, which is that I think the most common issue that teams run into. There are so many things that you can measure automatically. Right now, like you attach a tool to your CI CD and you get all kinds of measures. But again, as we said before, you can probably afford to tackle one thing at a time in an intentional way. You can use these KPIs for good conversations, retrospective and whatnot.
41:46But if you want to improve anything, you have to design projects and initiative to improve them. You have to measure them over time. Yes, you may set some target, but for how many things you can afford to do that, maybe it's one thing per quarter, you know? Right. Because you have also other things to do. So start small, build momentum, and go step by step. And I think you might be on the right track. so metrics becomes like a a common language for people to understand the shared problem that they're experiencing and how they can drive towards a solution together but the metrics themselves are not the solutions you use the metrics to put projects in place to improve that efficiency over time and to get those gains and when that happens then you have a communication and collaboration with your non-technical leadership this sounds a lot like our flywheel from the very beginning where you're helping build trust with them and what you're doing.
42:44And I can't think of a better way to build trust with someone than establishing a common language and a common rapport about what you're both doing. It's a healthy relationship, I think, too, for leadership to have with engineering, like how they do with sales. Something that we say all the time is like, you know, like a VP of sales, they know their pipeline, they know their leads coming in, they know what are the deals on the table. Like if you as an engineering VP, like you need to have those same common language points ready to talk about. That's how you build trust within your organization.
43:14And so connecting all of these parts together about it being, you know, building this trust with non-technical leadership, and then that causes them to have more buy-in, to have the practices they want and ship their code quickly. All of this feeds into each other. It requires communicating with like business terms too. So how can teams get that secure buy-in from their non-technical leadership? Let's say that they're starting to establish these pieces. They're starting to look at those really tough bottlenecks like code review. They're starting to establish a common vernacular on metrics and how they're talking about it.
43:50Then now it's time to go and have that meeting with like your leadership team or the VPs. How do you start that? And how can How can everyone on the team contribute to that? It's a socialization thing. How can engineers do it? How can the leaders and their team leads do it? How can their managers do it? How do you see it being like, what's the best playbook? So I'm not sure there is a playbook. I think that this should be an open conversation where the various levels of the organization are able to talk to each other and understand each other concerns and what they care about. And so that your measurement system feeds into the things that really matter.
44:31I've rarely seen any non-technical leadership opposing measuring more the engineering process, because that's, as you said, usually a pain point that engineering kind of does its own thing. Right. But it's also true that you can measure things in a way that doesn't matter to leadership. I mean, they don't care how many comments you do per day, right? And many other things. So I think when it comes to the highest level usage of this data, so the usage that matters to your CTO or to your chief of product or whatnot, it's really important to understand what these people care about. What do they want engineering to achieve?
45:18And how would they like to partner with engineer? Do they care about shipping fast? Because maybe you are at the stage of your product where you have to validate many hypotheses, find product market fit, you have to go as fast as possible, right? Or do they care about predictability, about upholding your commitments and shipping things on time? Because maybe you are more on a schedule where you need longer plans and these plans need to be contained. So it really depends. And I think nobody can just go on their own measure things and then report them to others without them knowing, right? And the best programs are always well shared and understood by people across the whole ladder.
46:08You know, I think what we're really getting to is the core of that sort of top line bullet point we had where engineering, successful engineering teams are well respected with non-technical stakeholders. And the reality is that, you know, I think what we're really articulating here is that, you know, it's really a two-way street. Like engineering leaders need to be able to communicate in business terms. And then the business needs to be able to communicate their expectations back using like sort of this common language. And you mentioned, you know, often it just seems like engineering does its own thing.
46:39And the reality is that often engineering does sometimes have to just do its own thing because it has to do things like keeping the lights on and reducing tech debt and improving developer experience. So, you know, what do you think is the key here for these engineering leaders to secure that buy-in for long-term improvements into the things that engineering only cares about? I think that when it comes to these things, visibility and transparency into these issues, for example, given by hard data provided by this kind of metrics, is really helpful. When engineering managers say that the team is drowning in tech depth and KTLO work, it's one thing to say that anecdotally or based on the last sprint.
47:26Another thing is to bring up the data that shows that 60 % of the tickets go into maintenance and the team has only 20 % of the time to work on new features or improvements, for example. right and then the conversation of course doesn't stop there because you have to advocate for the value of doing technical work and repaying technical debt and you have to answer continuously the question like and now what and now what right and you can talk about product enablement how the things you do enable more things on the product side and free up people time and i mean when there there are good relationships between leaders and and people are are savvy it's rare that these things go unheard.
48:10But it's important to present them in a way that is believable and that speaks to the business needs. So what can we achieve by doing this kind of technical work? Because I don't believe in technical work, of course, for its own sake. I don't think you should have like a technical roadmap, quote unquote, right? That is like separated from everything else and has its own agenda. You should speak to the value that you create for the business. And sometimes it's harder to do when it's pure, you know, under the hood work, but there are always angles that you can leverage, especially if you have the hard data about them.
48:48Yeah. I mean, I think if you ask any sort of like non-technical stakeholder, like, what do you want out of engineering? They're just going to give you a very simple answer, and that is new features and improvements. It's all we want, you know? And yeah, you need to be able to predictably deliver that, but you can't just always do new features and enhancements, you know, you have to also be doing infrastructure things behind the scenes that empower those. Which is the power of that common language, because then you can express that to your non-technical leadership and help them understand. And maybe they don't need to get drowned in all the details, like how many XYZs per day you're doing on all of those things.
49:25That may be matter internally, but it doesn't matter to them. All they need to do is understand how that impacts your ability to ship features faster or address us things faster. That's a really great way to kind of start wrapping up, I think, our discussion on the report. And I want to start by saying, Luca, this has been a really insightful conversation. You bring so much expertise and you explain it so eloquently. I think there's so many like nuggets of advice in this conversation that we've had that teams can apply moving forward to get that little bit of extra velocity, right? Turn that negative flywheel into a positive one.
49:58and the report itself, it gives leaders both the data and the roadmap to kind of build a high-performing team. And the report itself, you know, our listeners, I really encourage you to check it out. It'll be available in our show notes. So definitely go and get a copy of your report so you can follow along with what we talked about today. But Luca, you know, where can people go to learn more about you? Can you tell us a little bit about refactoring? Yeah, first of all, Thanks for hosting me. It's been a great conversation. So Refactoring is my own newsletter and podcast, and it goes out weekly to more than 100 ,000 engineers and managers and made possible this whole work because this report started as a joint survey between the refactoring community and the Linear B community.
50:42And so you can find the refactoring newsletter at refactoring.fm. There are more than 300 articles written on engineering and management topics, including in the latest report on engineering maturity and how teams are using data to improve, which is what we have been talking about today. We're big fans of refactoring and we definitely encourage everyone to check it out. Thank you so much again for joining us today, Luca. Make sure to subscribe to the Dev Interrupted podcast and newsletter on Substack. Share this episode and check out our Substack newsletter for more insights from today's discussion, including the full report that we discussed here today.
51:23That's it for this week's Dev Interrupted. We'll see you next time.
From the publisher
To open the show, Ben and Andrew dive into the latest headlines about DeepSeek from last week. We answer questions like “why did everyone search ‘Jevons paradox'?” and discuss strategic AI investments from financial giants like Goldman Sachs. These moves underscore the growing importance of strong engineering leadership in the age of AI.
Then, Luca Rossi of Refactoring joins us to discuss his latest research. Drawing from a comprehensive survey of engineering professionals (thanks to you!), Luca breaks down the key traits and practices of successful engineering teams, revealing surprising correlations between team happiness, shipping frequency, and recognition by non-technical leadership.
Be sure to grab your copy of the report to follow along with today’s insights.
Show Notes:
- Dev Interrupted Survey
- Beyond the DORA Frameworks
- Introducing AI-Powered Code Review with gitStream
- Book a demo
Follow the hosts:
Follow today's guest:
- Follow Luca
Referenced in today's show:
- IBM cashing in on AI
- AI Stocks: How DeepSeek Changed Views On U.S.-China Artificial Intelligence Competition | Investor's Business Daily
- William Stanley Jevons
- Goldman Sachs hires Amazon exec in senior AI engineering role | Reuters
Support the show:
- Subscribe to our Substack
- Leave us a review
- Subscribe on YouTube
- Follow us on Twitter or LinkedIn
Offers:
