Automated ≠ Autonomous: Developer Productivity and AI | MongoDB’s Tara Hernandez

16 Apr 2024 · 45 min

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Dev Interrupted Podcast Episode Summary

Episode Title

Automated ≠ Autonomous: Developer Productivity and AI | MongoDB’s Tara Hernandez

Hosts

  • Dan Lines

Guest

  • Tara Hernandez, VP of Developer Productivity at MongoDB

---

Episode Overview In this episode, Dan Lines engages Tara Hernandez in a deep discussion regarding the complexities of developer productivity and the role of AI in modern engineering environments. Tara emphasizes the importance of focusing on outcomes, minimizing distractions, and maintaining a balance between technology, processes, and communication to achieve effective developer productivity.

---

Key Themes and Discussions

Understanding Developer Productivity

  • Focus on Outcomes: Tara stresses the significance of defining clear goals and starting with desired outcomes in mind to improve developer productivity.
  • Evolution of Developer Roles: The conversation touches on how roles such as build engineers, infrastructure engineers, and platform engineers have evolved over time, reflecting the rapid changes in the tech industry.

Three Pillars of Developer Productivity

  1. Technology: The tools and technologies in use.
  2. Processes: The organizational mechanics and teamwork dynamics.
  3. Communication: The methods of interaction and transparency about metrics and goals.

Automation vs. Autonomy

  • Automation Doesn't Equal Autonomy: Tara warns against over-reliance on automation, which can lead to bottlenecks if not managed properly, stressing the need for human oversight.
  • Example of Dependency Management: Automation tools like dependency bots can overwhelm developers if too many tasks are automated without proper context or control.

The Importance of Reducing Noise

  • Creating Focused Work Environments: Noise reduction is paramount for developers to maximize their focus time and maintain productivity.
  • Metrics and Measurement: The episode highlights the need to establish effective metrics to gauge progress and understand team dynamics without creating a culture of fear or micromanagement.

The Three Horizons Framework

  • Definition and Application: Tara adapts the McKinsey model of three horizons to software development, focusing on:
  • Horizon 1: Core business activities and maintaining existing products.
  • Horizon 2: Investments in upcoming projects that will drive future revenue.
  • Horizon 3: Long-term innovation and research to sustain business relevance.

AI in Developer Productivity

  • Opportunities and Risks: While AI can enhance productivity, it must be implemented thoughtfully. Developers must be educated about the limitations and potential pitfalls of using AI-generated code.
  • Copyright Concerns: The legal implications of using AI to generate code are an emerging challenge for companies, necessitating awareness and caution.

Goal Setting for Noise Reduction

  • Defining Clear Outcomes: Tara advocates for setting transparent, measurable outcomes and empowering teams to identify what success looks like relative to their roles.
  • Tangible Metrics: Examples of effective goals include reducing internal help requests or improving the time to set up CI/CD pipelines.

---

Episode Highlights

  • 01:43 - How to think about developer productivity.
  • 09:09 - Three pillars to improve developer productivity.
  • 16:07 - Automation does not equal autonomy.
  • 24:46 - Making the golden path the easy path for developers.
  • 27:51 - What’s exciting in developer productivity and AI?
  • 29:57 - The three horizons framework.
  • 38:34 - Developer performance vs productivity data.
  • 40:23 - Goal setting for noise reduction.

---

Notable Quotes

  • "Automated does not equal autonomous."
  • "Our job is to make the golden path the easy path."
  • "It always comes down to outcomes."

---

Resources and Links

  • Tara Hernandez LinkedIn: [Link](https://www.linkedin.com/in/tarahernandez/)
  • MongoDB: [Link](https://www.mongodb.com/)
  • GitHub: [Link](https://github.com/)
  • CloudBees: [Link](https://www.cloudbees.com/)
  • CircleCI: [Link](https://circleci.com/)
  • Atlassian: [Link](https://www.atlassian.com/)

---

Conclusion This episode of Dev Interrupted offers a comprehensive understanding of the modern challenges surrounding developer productivity and the nuanced role of AI in engineering. With tangible insights and practical frameworks, Tara Hernandez equips leaders with the knowledge to foster a more efficient and focused development environment.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00And one of my other sayings is automated does not equal autonomous, right? Right. And so, yeah, if you have automation that goes nuts, it probably is doing the reverse of what you would hope. I think a lot of what things boil down to actually in our world is what outcome are you trying to achieve and really start from there and then work backwards? Because a lot of times you think, oh, well, hey, if we had a bot that was, you know, like dependent bot, my dependencies are out of date, go fix. Right. Yeah. But if you multiply that out five times, absolutely. You could get in a situation where it could take three engineers all day long, every day to keep up.

0:35How can you build a metrics program that not only measures, but improves engineering performance? What's the right metrics framework for your team? On May 2nd and 7th, Linear B is hosting their next workshop where you will learn how to build a metrics program that reduces cycle time by 47 % on average, improves developer experience, and increases delivery predictability. At the end, you'll receive a free how-to guide and tools to help you get started. You can register today at the link in the description. Hope to see you there.

1:30Hello, I'm glad to be here. Totally awesome to have you on today. And of course, we have a crucial topic. It's developer productivity. Very, very popular today in engineering teams, engineering leaders. Everybody's talking about it. And you probably can't talk about developer productivity without talking about AI. So we'll dive into that a bit as well. and you know i'm really really excited uh to talk with you i think you have a great approach to improving efficiency and productivity and we're going to get into all of that how do you think about the problem of increasing developer productivity i want to start with this is just like the latest name it's like marketing branding right when when When I first started, it was like, oh, there's the build and release engineers.

2:30And then there was the infrastructure engineers. And then what was this whole platform engineering thing? Yeah. And then Google has the whole engineering productivity. And now there's developer productivity. And it's all the same thing, which is there's just going to be a category of people that help their fellow developers do their jobs better. Right. Whatever we call it. And, you know, DevOps and Agile methodology came out around that. And now we've got the space framework and other forms of new research. And it's really, it's just, you know, the challenge is the industry evolves so fast, right?

3:07It went from, you know, local computers with floppy disks, and then there was optical media, and then there were the beginnings of the hosted SaaS-based solutions, and now everything is cloud. And so it's really just this constant evolution of how do we support the industry needing to go as fast as it does without the developers losing their minds, right? You know, the Dora metrics, which is a very popular thing and valuable, I think. It talks about, like, time to deploy and time to restore. And our appetite for that to be as close to zero as possible as an industry for customers is, you know, it's probably unreasonable now just, you know, how fast we expect things to be.

3:49And so I think that's one of the biggest challenges about, you know, trying to be an organization supporting the facilitation of software development within that realm, right, is the big challenge. Yeah. You made me think of a bunch of things there. All right. Hit me. And one of them that stood out to me is like driving developers a little bit crazy. Maybe I remember that there's all these different movements. And then you said like kind of like the marketing terms behind them, like, okay, we're doing platform engineering. We're doing DevOps. We're doing agile methodologies. We're doing pair programming.

4:25No, we're doing Kanban. We got AI coming. We got bots. We got, it's not exactly the same, but like SRE movements. And then there's like, hey, you're going to be a full stack engineer. We're going to remove QA. Everything's going to be automated. You're going to do the QA and you're going to do it. And, you know, right now, I think probably the popular terms that I'm hearing is like the platform engineering, developer experience, you know, AI. and I'm thinking to myself, do you think it is all the same thing? Like from the beginning of time, it's kind of like, hey, we want to ship code faster. Do you think some of these like marketing names or like some of this terminology we're using now, platform engineering, developer experience, AI, do you think it matters?

5:14Like is there meaning behind it? I mean, yes, mostly, but also no, right? And let me tell you what I mean by that. At the end of the day, as a human being, we've evolved over, depending on who you ask, some 3 million years from Lucy or whatever, right? And there's a certain progression of how our brains have evolved and all that stuff. But you think about technology and you think about where were we 50 years ago, 20 years ago, 10 years ago, last year, right? I think industrial revolution is a nice sort of inflection point that people like to talk about. Like the amount of change around us is like hundreds of orders of magnitude faster than the previous 2.9999 million years or whatever, right?

6:07And so if I were to describe what is the biggest value of anything around developer productivity or the development environment, it's to reduce the noise. Right. It's to allow the developer to be able to focus on what they need to do by removing, hopefully through automation or telemetry or insights, whatever, the things that they don't have to focus on because we've helped them prioritize the things that they do. Right. Yeah. Because we just can't, our brains, that's how we burn out. Like we drive ourselves nuts trying to keep track of everything. Well, let's make it so that we don't actually have to have our developers keep track of everything.

6:45Let's make it so that the system allows them to stay focused on the things that are most important. And then as they finish a thing, they can move on to the next thing because we have a process that supports it. Right. And I think that part is really hard. And I think it's, you know, it's my way of looking at it. Maybe not everybody's way of looking at it. But what I think is adding to the noise, and you touched on this, is, you know, back in the day when I first got into it in the 90s, like the build and release engineers were the not, you weren't the real engineers. You weren't, you know, you weren't working on the product.

7:15You were working on the make files and the shell scripts and the Perl code and whatever. And like, fine, okay, whatever. You're wrong, but sure. But now we've recognized over the, you know, subsequent decades that infrastructure is actually a valid thing. You know, look at GitHub. That's what GitHub is. It's an infrastructure company. Cloud Bs, CircleCI, half of all of the hyperscalers, it's developer tools, right? And so now there's a market and we're trying to sell into that market. And that's, you know, so now there's a lot of more marketing around it. And like, oh, Atlassian, I think has made tons of money on like, hey, we're going to solve all your problems by giving you a wiki and a bug tracking system and a CI, like all of that stuff and just use our system and you're great, right?

7:56And not to bag on Atlassian at all, they recognize it probably sooner than most. And so now I think that has added to the noise, right? Now it's like, oh, if only I have the UI solution or if only I have this tool or that tool or, you know, GitHub stack, PR stacks is one that's coming up for me lately. Everything will be better, right? And so, you know, the job of my team is to try and distill the signal from the noise. Will that actually help us, right? Or not? Yeah, I love the way that you frame it. And there's always pros and cons. I think that's definitely in like a capitalism society, the one that we live in, like we get better through competition.

8:33That's the way we work, at least in the U.S. A lot of people in this. Yeah, on the planet today. And again, there are pros and cons to that. But one of the things that I am seeing is that businesses. So if you think about business leaders, even CEOs, but like heads of engineering. You know, now we have heads of, you know, productivity and all of that. They've recognized that. And I'm not saying it's always like not to make money. I know they want like everyone wants to make money. But at the end of the day, leadership has recognized, hey, if we take care of our developers, if we reduce the noise, if we streamline what they're doing, if we make their day to day better, better things happen to our business.

9:19So I think there's a realization of that, which I think probably overall is a good thing. and you have some of these metrics you called out like the Dora metrics, right? They've been around for a while at Linear B. We offer these for free. It's like, you know, you get your cycle time, you get your deployment frequency, your change failure rate. But when you start looking at those at a business level and you say, hey, our cycle time is eight days or whatever it is. And it would be really cool if it would be like five days. And I think that I could get there by making the lives of the developers less noisy, I think it's cool.

10:00I can buy into that. But I also agree, on the other hand, there's a lot of terminology out there because businesses are trying to make money. Yep. I have seen, hey, we work with a lot of companies that work on reducing cycle time. It helps. And a lot of the ways that they are doing it is through reducing the noise. And a lot of the area, like one of the areas that we see is around, you know, reduce the noise in terms of pull requests and the review process there and streamlining it. It was really cool that you kind of gave like a history of this that you've seen throughout your career. And now that we're at the point of, I think you said noise reduction, what are the top things that you're seeing now, like today, in order to either reduce noise or measure it or like where do you stand with all of that?

10:54One thing that I think will always be true, and it's a tension that we have as an industry, of balancing what are the things that are industry standards that we should conform to and tools that we should adopt versus where are the things that are going to be really relevant to a particular company and the engineers within that company, right? Because it does matter. And I will go on and on about, you know, how there's, to me, there's three key pillars to developer productivity. the first one is the obvious one it's the technology like what are the tools that you use but the next two are the processes that you use you know the mechanics of how you organize yourselves as teams right in service of goals and then the third pillar is the communication which is both how do you talk to each other but then also how do you have transparency around the metrics around the key insights that you need to elevate right and then the three of those things or the three pillows of your stool.

11:52But notice you go back, only one of those is tech, right? So people, I think ultimately, is the most important aspect of good developer productivity. It is always going to fall down to people. How do you engage and understand what is going to enable your developers? It's invariably not going to be a tool or not solely a tool. And I think that's the thing that's really important to recognize, but it's also the hardest thing to quantify, right? Because it's intangible or is often intangible. Right. So two thirds. So if we recap, you have tools and then the other two thirds have to do with people.

12:32You have process. And then is the third one like communication? Well, it's communications. Like how do you talk to each other? Like what are the forms? Like, you know, if you have an idea or you need to give feedback, but also like how do you communicate as senior leadership what the important goals are and how well we're doing against them? That's actually a form of important communication. And then the other way around, how to use a team, communicate how you're doing against your little piece of those goals. Okay. So let's do this. Let's talk about measuring. Maybe we can talk about measuring the three areas, or if you want to dive into the people side, whatever you're comfortable with, like how do you measure success?

13:08And then we can move into, you know, what approaches have you seen or are we taking to actually improve the experience and efficiency? So let's start with the measurement side. Yeah. So one of the things I love when I got to MongoDB, it's almost two years now that I've been here. MongoDB has had an incredibly invested culture around testing, right, from the get-go. It was very much early adopter to the point where we've actually implemented our own CI system purpose-built to build and test a distributed document database, right? It's called Evergreen CI. You can see it in GitHub. that's great, right?

13:44I don't like usually when I go to a company, I have to convince them to write more tests. Well, at MongoDB, we actually have so many tests. Like I want to know what tests are providing the most value, right? So we need telemetry to tell us like these tests are actually providing us the most value. Let's make sure we really make sure those tests are getting the most visibility. These tests maybe are not providing that much value or no value at all. let's stop running them because it's it's taking up thought space right or it's taking up consumption time so that's you know so code coverage statistical analysis like those there's tools that you can use to try and like figure that out right but then there's other parts like okay you have an idea or you've been requested to do something well now you need to understand what are you going to do so there's like review time design time how long does that take right and then we're actually getting into door metrics um there right you know from business insight to implementation and then from implementation to deployment.

14:38But here's an interesting one, which is we don't have one thing to measure here because at MongoDB, we have MongoDB that you could download and run on your local Debian instances, right? You could self-host it. But then we also have Atlas, which is a SaaS, right? So obviously we're not going to say, oh, well, for our distributed solution, we're going to have a two-hour turnaround time because our customers do not want to install a new version on their operating system every two hours, right? But our Atlas folks probably want the latest and greatest, you know, as quickly as possible if there's bug fixes and security remediation.

15:13Absolutely. And so then we have to have different metrics for different types of products and then have that, you know, be a thing. Yeah. And then communication, like if my boss, who's Jim Scharf, the CTO of MongoDB, needs to be able to answer a question, how fast can he get to that answer? Does he have to come find me or can he just go to a dashboard and go, oh, look, I need that. Next time I talk to Tara, I'm going to ask her about that thing. Right. Or the TPMs, you know, are they able to report back to the product team how well we're doing? So there's like all these different tendrils of information and how much and this comes back to tooling again.

15:48How much can we automate that? Right. And make those things be automatically discoverable so that we know they're therefore always up to date. Right. So that's another kind of side challenge around information flow. Let's finish the note because you had me thinking about something. We were talking about tooling, right? Then we were talking about process. And then we were talking about people. Essentially, I think you said collaboration. Communication, collaboration. Communication. Okay. We're working with a customer and we use cycle time. I won't say who the customer is, but we use cycle time to kind of benchmark where they stand.

16:29and in our cycle time, the way that we do it at linear B is we have coding time. So how long am I spending in coding? We have how long, once I put a pull request up, how long does it take for that review to start? So how long am I waiting for feedback? And then once the review starts, how long does it take to complete the review? So that's kind of looking at the reviewer there and like, is it a big PR? And then how long does it take to get deployed, Right. Merged and deployed. Right. So that's our cycle time. And what we saw at this company is they started using a lot of bots. So it's like starting to get into the it's not like pure AI, but they had a lot of bot activity.

17:13And these bots were opening up PRs. Actually, 20 percent of all their PRs were actually coming from a bot. Now, some of these are like the more common bots, like the Penda bot, but some of them have to do with like localization and accessibility. And there's more and more bot generated code. Now, what was so that's on the tooling side, they're using a bunch of bots. But what was happening on the process side is all of this was getting put onto humans for review. for review and not all of it actually needed like a human review because sometimes these bots are doing little version bombs or little like tiny tiny changes so they're creating a ton of prs with a tiny change and then on the communication side it was kind of like okay who's going to do this review i have a lot of work on my plate it's not coming from a human and these prs were just sitting there and now your cycle time is increasing and so you know we worked out a way with them where we say okay we look at what the the bot was actually changing and we make a decision if we need a human review or an automated review and so on we you know we have a solution but i wanted to get like just see what you thought about that because that kind of reminded me of putting all of those pillars together i have many sayings right i'm half irish i can't help it right we just we have the bardic tradition and one of my other sayings is automated does not equal autonomous right and so yeah if you have automation that goes nuts it probably is doing the the reverse of what you would hope right yeah exactly thoughtful about what's the outcome and so uh and i think a lot of what things boil down to actually in our world is what outcome are you trying to achieve right and really start from there and then work backwards because a lot of times you think oh well hey if we had a bot that was you know like dependent bot dependent bot is one of the greatest you know inventions of our modern time like oh my dependencies are out of date go fix right huge but if you multiply that out five times absolutely you could get in a situation where it could take three engineers all day long every day to keep up right so clearly piling up and And distracting me from the work that I wanted to do at this company, which is like, I don't know, maybe build cool features.

19:32Exactly. Yeah. And they're not going to last long, right? Because they're like, I'm tired of just reviewing dependable PRs. So, yeah, that is a great example of where you can kind of get yourself into trouble and why I talk about the three pillars. Like technology is one, but only one of the three. but they all do interact because it is a complete system right that the technology enables processes right but then the communication comes in like is the right information happening and here you can see where those three things are out of balance to follow the analogy your school stool is wobbling right it is not the tooling is taking over there's a bot army doing a bunch of work Yeah, tooling is having a negative impact on your process.

20:17Yeah. And the interesting thing is, you know, and I do want to hit on the three horizons, but maybe we can go into the world of AI. Like, it seems to me more code is being generated faster, if that makes sense. That's what the data says, at least the data that we have in benchmarking, like more stuff is happening, let's say. But that's why I think you said like automation doesn't mean autonomy. It's like more stuff is happening, but it doesn't mean that the experience is better. And it doesn't mean that we're more productive. Right. And it doesn't mean that the outcomes that we're getting are actually what we want.

20:58And let me give you two great examples of the things that we've seen around the use of AI. And by the way, like MongoDB very much is pro AI, right? And as a platform, sticking your data into our databases, we're all about that. And we're trying really hard to make that be awesome. And there's a lot of customers that are using us for that purpose. But you really want to be thoughtful about how you use it and why. So here are two areas of concern from my perspective, from a developer productivity perspective. One is, going back to automated design equal autonomous. If you say, you know what, I'm eliminating 50 % of my engineering resources because this AI thing, I am so confident, right?

21:39It's going to just generate all the code we need. We're good. You have two problems from that. One is, what happens when it fails? Right? The customer is not calling you. There's no one to blame. AI did it. I don't know. Exactly. That is going to fly. Not at all. Right? The customer is going to drop you so fast if you were to say something as ridiculous as that. So there's a joke I saw floating around, like, you know, AI saves you, lets you implement code 10 times faster. But the debugging time is now 100 times slower because somebody is going to have to go in there and figure it out. Right. In a worst case scenario.

22:16I mean, obviously, you can't go to a customer and say, yeah, AI did it. Let me well, at least now let me ask AI what it's like, you know, I'm trying to talk to you as a human. So we don't know who wrote that code. Yeah, so that's not going to fly, right? And so AI as an assistant to work, yes, absolutely. I think that is a great thing. But so many people, I think, are over committing on what AI actually provides as it stands now. now here's the other thing around ai that's kind of interesting so copyright law right okay if you if you have ai by its very definition uh generated code is learned from another source therefore by its very definition is prior art so if you have a whole bunch of generated code in your corporate intellectual property you may not be able to retain your copyright oh that's interesting Right.

23:14Like it's legally untested. So like for the things that our customers are doing in MongoDB and Atlas and, you know, in whatever, you know, they're using vector search and they're they're trying to do very specific things that keep them safe. Right. But as a company, if you put too much AI into your actual product code, you might get in a little bit of trouble. You might lose your copyright. Someone might sue you. And we saw that when Copilot rolled out. There was all kinds of lawsuits that instantly started taking place because of the code that was not licensed to be scraped by a machine language.

23:48So it's a really challenging thing. And as companies, you know, engage with AI, as we should, if the genie is out of the box, it's not going away, we have to be really thoughtful about it. And so part of developer productivity's, I think, task is to help keep our engineers safe, right? To, again, not have to work. Here's where you can use it. Here's where you can't. And we're going to make it so that you're not going to accidentally shoot yourselves in the foot, right? That's another form of noise, to be quite honest. Yeah. Well, it's another thing they have to keep in mind. It's not a good thing, I think, for developers if it's like, hey, go use AI-generated tooling.

24:28But also you have to keep all this other stuff in mind while you do it. Like to me, then that would be like, wait, I thought this was supposed to make my life easier. Like why you're putting more on my plate. So going back to my three pillars, right, there is a tool. But then the process and policy and the communication around that helps create guardrails so that they don't have to think too hard. And that's where the three things work together in a challenging way. Here's where the technology has gone faster than the industry actually was probably ready to absorb it. And so for each company, we have to figure out what is our safe space here?

25:07How do we keep our developers safe? And then how do we keep our customers safe? And that's, I think, a responsibility of every company that's getting into the AI space right now. I like that you mentioned the guardrails. And I'll just add one because I've been thinking about this a lot. We're experimenting with some of that kind of stuff like guardrails and policy. At the end of the day, like I'm an AI proponent, I think, like you are. And I'm trying to say, OK, how can we do this but actually increase efficiency? Because it's not correlating yet. And on the guardrail side, if I'm using the terminology, hopefully correctly, I'd like to see that be automated.

25:47I'll try to explain why. Again, I don't think like the developer should have to keep in their head what all the guardrails are and when they should do this and when they should do that. Otherwise, it's like so think about if we had now like a rule engine, which is the rules are the guardrails. And you can tell the developer, yeah, go use like our approved AI tooling to your heart's desire. Now, once you put that pull request up, we have a set of guardrails and policies that automatically kick in for you. Depending on what the code was changed, sometimes it will need a human reviewer. Sometimes another AI could actually do that review and you'll be OK.

26:32Sometimes it will automatically call in, you know, the security team or legal if something is. It's like, that's the way I think about the guardrails. They need to be automated so the developers don't have to keep all of that in their head. Otherwise, I think it would be crazy. A hundred percent. You cannot expect the developers to keep, you know, a thousand things at the forefront of their mind when they're doing their day-to-day work. Right. It's just not going to work. My staff engineers, they say this to me a lot. I don't know where it came from, but I believe it fully, which is, you know, our job is to make the golden path the easy path.

27:07Right. And to make it so that you will naturally fall, go the direction we want you to go, because that's the easiest way to do it. Yeah, I like that. You have to work harder to go out of bounds. Right. Because people go out of bounds when it's easier. Right. Exactly. Yeah, exactly. This is a challenge that you may recall that, I mean, this is probably still true now, but it was certainly true when cloud hyperscalers started to become more and more of a thing, you know, security controls, right? It was really easy to have super bad security in the cloud because we were used to everybody sitting behind a firewall, right?

27:47And so we would have behind the firewall, our security profile would be Swiss cheese. And that was okay because all of our, all right, the network engineers will make sure the firewall is in place. Well, now we're in the cloud and we have developers that are, you know, in the early days spinning up random EC2 instances and, and, you know, and now they're spending$15 ,000 a month and it's wide open to the internet. Because they could, right? And so then we had to put in controls. So, you know, another aspect of humans is that, you know, we tend to learn our lessons the hard way. Yep. And I think we said like some of the concerns, but we talked about using like guardrails and policies and automating that to extract the efficiency out of AI, but send it in the right direction.

28:32But what excites you on the other side in terms of developer productivity and AI? Anything that improves developer velocity, I'm going to be in a safe way and in a sustainable way I'm going to be in favor of. That's my job is to help my partner teams go fast with high quality because that serves our business ultimately. Right. And so as as much as we can incorporate AI such that we improve our time to market. And we improve our sustainable product quality and we improve our ability to to maintain the stuff that we've deployed, you know, so reduce our support, our call instance rate into support, for example, that's another type of metric that matters.

29:20Right. Then we're being successful. And what are the different ways that we can do that? And then maybe now there's a time to kind of talk about the whole idea of three horizons, because it kind of comes into play around this idea. Right. I would love to talk about the three horizons. I have one point that I'm going to make and then we're going to move to the three. Because you made you made me think of something else. OK. One thing that we're doing right now is at some of these larger companies, we're measuring the adoption of Copilot. So that's something that we do at Linear B. so who's using it how much usage how much code is in the pr is that type of thing except yeah and it hit me because the other thing that we're then doing is saying how is that impacting your cycle time your change failure rate bugs found in production mttr and i think that kind of just rounds out the point that you were making of yeah i want i want all of this to happen, but my success metrics, like the point is they improve like these KPIs, right?

Read the full transcript

30:25Yeah. Let's talk about, so the three horizons, they're related to software infrastructure. Do I have that correct? Well, so the original model was the three horizons of business. And I used to think like, I thought it was an Intel or an IBM thing, but it actually came out of McKinsey 20 years ago or so. And the idea is how do you do business investments, right? Your first horizon is your core business. That's what's making you money now. Right. Yeah. So if you're, if you're, if you're Intel to follow that example, you know, your Pentium chips back in the nineties, your second horizon is what's about to make you business.

30:58So your Xeon chips or, you know, whatever the next generation is. And then the third horizon is what's, you know, looking down the road five years from now, where do you want to be? Right. And, and, and the model is how much do you invest in each thing? Oh, perfect. Right. So your, your core business, hopefully you're not actually putting a lot of investment because that investment's already been made that product is released it's making you money and hopefully the cost of maintenance is is low enough that it's you know it's mostly profit your margins are beautiful right the second horizon is where you want the most of your investment to happen because that's the thing that's going to take over your first horizon that's going to become the next horizon one so that's where most of your focus is but you want to still have some focus on that horizon three because in order to sustain your business, right?

31:40You have to have that saying, quantum computing, like, or, you know, Q-chips or whatever it's going to be for Intel. So I took, I love that idea. And I took it and I adapted it for software development. And I, with my focus is infrastructure, because that's who I am. But, you know, any software team could think about it. And the idea is that what does it cost you right now in engineering resources and budget, if you're a budget person, to just keep the lights on, right you've got your products out there ktlo they call it ktlo absolutely right and so you know if 60 of your engineering effort is answering support tickets you know that means that at most you have 40 going into your that's your horizon one right that means at most you have 40 going into your horizon two and zero in it probably if if your ratios are that off into your horizon three so You're pure tactics.

32:35You are hanging on by your fingernails, right? And so as a leadership team, you want to think about what do we need to do to get that number down? We probably have technical debt that desperately needs to be addressed, right? Maybe we have documentation improvements. Maybe we need to get our DevRel folks out there building more demos. Like, I don't know, right? Whatever it is from a business perspective. In my case, it's like, okay, my engineer, my support engineers are having to answer way too many questions about, you know, using this particular service. Well, clearly that service is not where it needs to be.

33:11So, hey, director who owns that service, your next round of quarterly planning better involve how you're going to make that number drop by half. Right. In an ideal world, you think about what Eurations want to be. To me, I think 30 % on average across all of developer productivity, and I've got 50 something engineers, right? 30 % would be really good, right? My range is somewhere between 25 % and 80 % depending on the team. And that's okay, right? Because it depends on what you're doing. But I want to make space for that what's next. And for us, that what's next is how do we up level, right? How do we improve the type and quality of information we're giving our developers so that they can improve their productivity?

33:50they can increase their velocity, right? So that they are then supporting the business goals of getting those features out, getting those bug fixes out, right? Got it. I love this. We did some benchmarking around this, specifically around investment into future value. So I think that lines up with the second one that you said. It's like, where will my money come from next? Investment into, let's say, enhancement to what I have today. today. That was your first category. And then I think you had a category that was kind of like future, future, you know, like five years. Okay. I love that. And then there's things like KTLO, keeping the lights on.

34:34And then we had another category, at least when we have this module called resource allocation, we had an investment profile. We had another one that's kind of like, we called it developer experience. That's what we said in our product. But at the end of the day, what it means is like, how much investment are you internally putting into to reduce the noise for your developers? And I wanted to see, do you have in your head benchmarking on this? I think our report said for like KTLO, we wanted to be like 11 % or less, like keeping the lights on. Like if you're spending more than that, that means that you can't invest in the other areas.

35:15Do you have any benchmarks on these? Yeah, so I think for a development team, 11%, 11 to 15 % maybe, I think is a great number for KTLO, right? Yeah, like a lead. Yeah, my team is both an engineering team and a service team, right? So we're always going to be in a position where we're answering questions, fixing bugs, helping the developers out. So to me, 30 % is probably a more realistic goal, right? Again, aggregated across the whole organization, some teams will have more support load than others. Because that's just the reality of our function, right? And so that's why I also, it's like, you know, our tech support organization would probably have, you know, it might be 60 % would be okay for them, right?

36:00Because that's their core business. Well, that's what they do. But then they also want time to create tools to help them get better at what it is that they do, right? So I think there's every leader can think about, you know, what is the right truth for us? And then how do we get there? Yeah, for us, I'll see that we can include like our benchmarking reports in the pod and all of that. But I think the way that we're looking at it would be like your entire software engineering organization combined, as opposed to, you know, yeah, if you're a service organization, it's going to be much higher than 11%.

36:36Yeah, and there's so many nuances, right? And I really hate, I always hate talking in absolutes, even though they're easier ultimately, right, at a certain level. But, you know, I actually wanted to circle back to something else that you had been talking about, which is, you know, understanding, you know, for example, on an individual level, how long does it take to get the code written and get the PRs reviewed? And those are all like individual actions. And one of the things I worry about, I won't lie, one of the things I worry about is the misuse of data, right? It is very easy, I think, to even inadvertently end up weaponizing some of that stuff, right?

37:12Because, again, you're trying to quantify something that has a lot of sort of intangibles around it. Like one engineer who's really good might land fewer changelists, but they're bigger, right? So they take more time versus someone else who's really dialed into small check-ins, you know, small commits are better, right? And so the numbers will look the same, but the ultimate outcomes could be identical. But how do we measure the differences between those two? And also, you don't want to inadvertently disempower the leadership. A frontline manager's job is to kind of have a handle on how the team is operating and how the team works as a system.

37:54The human systems are as important as the technical systems. right i love the the companies that are coming out with good tooling around metrics the ones that are super focused on using language around you help identify your underperformers i'm like whoa okay let's that's not the in i want to follow um but the ones that are like how are your teams doing but then provides to the manager an additional set of information that can be helpful to them because now they have the context right you don't want the individual developer to think, oh my God, I'm going to be fired based on these numbers, right?

38:28And so that's another part of, that's the culture element. What kind of culture are you building throughout, you know, the tools, the processes of the communication that is going to incentivize and inspire your engineers, right? Which ultimately isn't intangible, but it's the things that we have to think about as leaders throughout all of this, because engineers that feel inspired and motivated and rewarded work better, right? Absolutely. I think that's even a tool, but more important, honestly. The culture needs to be there in order to, I would say, deploy data correctly. When we're talking about productivity data, I think I want to be very clear that we're not talking about developer performance.

39:18Yes. Nothing in this podcast is about developer performance. What we're talking about is productivity of the engineering team. Yeah. And I think that that's the difference. Yeah. And sometimes they get conflated. And they can get very easily confused. Yeah. Now, when we're looking at data, you can see signals where there's a bottleneck in the process, the tooling in the process, and maybe the way teams are communicating together, those were your pillars. And using the data to find bottlenecks and then go implement solutions, whether it's automation or it's not automation or it's something else, that's great.

40:05That is way different than saying, I'm a performance management tool from like an HR perspective. And that is not what we're advocating for here. So just, you know, I've seen, yeah. And I didn't think you were, but I think it bears repeating, right? Yes, very important. Because going back to in the same way that AI is not going to assume the responsibility to an outage to a customer, right? An AI or an AI-enabled analyzer cannot assume the responsibility of a people manager, you know, viewing people performance. And so that's where it's like, we have to understand this, this falls on that side of that boundary.

40:50This is a people thing and you just stay that way. I think a good maybe topic to kind of round out the pod. There's a lot of leaders today. I consider you a leader. There's a lot of really smart people today that are trying to improve the, you know, productivity, developer productivity. They want to set goals around this. They want to use numbers. How should leadership think about goal setting for noise reduction and all like what is the right way to do it, in your opinion? I mean, to me, I said it before, it always comes down to outcomes. What are the things that at a high level we state are really important, whether it's, you know, getting features out the door, hitting revenue targets, whatever.

41:39It's like we need to have clearly defined outcomes. And then you need to empower the teams as you go down the org chart to figure out what their piece of that is and then be able to define success. Right. At the end of the day, it's outcomes and success criteria. And the more you can make that be really clear and concrete, the more successful you're going to be because you have something to measure yourself against. The lowest level engineer should be able to know why is what I'm am I doing right now matter and how am I moving the needle? Right. That to me is is is the best scenario. Do you I love it.

42:19Do you have anything for those outcomes that like you have used or seen teams use that are like more concrete is an outcome like, hey, we want to. you know you talked a lot about like noise reduction maybe in an outcome can be like we want to increase developer focus time by 20 and we're going to do that by reducing meeting time by 20 like is there an outcome that you've seen work or not work as well yeah I mean there's there's lots right I think and again it's going to be like what's most relevant to your organization for me a great goal would be a develop a development team could start from scratch get a repo set up get their ci set up get a preliminary set of automated tests get performance analysis get security checking all those other things without having to go ask for help that's cool right that would be a stupendous outcome right what do we need to do to do that we start working backwards and figure out where are the gaps, right?

43:29And I, the way, and I would just say for the leaders listening, and then we'll wrap it up here, that what I really liked about the way that you said that it was really tangible things with the example of what we're trying to do. And the outcome is, you know, Hey, a developer doesn't have to ask for help. So let's measure maybe how many internal help tickets that we get or whatever it is that that's requests, Requests, whatever they are. Yeah. So, you know, we're up on time here. But Tara, it's been an awesome conversation. I really enjoyed having you on the pod and speaking with you. This has been fun.

44:08I always like nerd out on this stuff. I've been doing this job for 30 years. It never gets old to me. Amazing. And thank you, everyone, for tuning in with us today. And remember, if you haven't given us a review on your podcasting app of choice, it does mean the world to us. If you could take 90 seconds to give us a review on this pod. Tara, thanks again for coming on. And we'll talk again hopefully soon. Sure thing. Thanks, Dan.

From the publisher

This week, our host Dan Lines sits down with Tara Hernandez, VP of Developer Productivity at MongoDB. Together, they explore the nuances of developer productivity and the impact of AI in engineering environments.

Tara emphasizes that achieving developer productivity requires a focus on outcomes, reduced noise for developers, and a healthy balance between technology, processes, and communication. She also touches on the strategic framework of the 'three horizons' for conceptualizing your investment breakdown across different projects and how to maintain focused on meaningful development work.

Episode Highlights:

01:43 How should you think about developer productivity?
09:09 Three pillars to improve developer productivity
16:07 Automated does not equal autonomous
24:46 Making the golden path the easy path for developers
27:51 What’s exciting in developer productivity and AI?
29:57 The three horizons
38:34 Developer performance vs productivity data
40:23 What is the right way to think about goal setting for noise reduction?

Show Notes:


OFFERS

  • Start Free Trial: Get started with LinearB's AI productivity platform for free.
  • Book a Demo: Learn how you can ship faster, improve DevEx, and lead with confidence in the AI era.

LEARN ABOUT LINEARB

  • AI Code Reviews: Automate reviews to catch bugs, security risks, and performance issues before they hit production.
  • AI & Productivity Insights: Go beyond DORA with AI-powered recommendations and dashboards to measure and improve performance.
  • AI-Powered Workflow Automations: Use AI-generated PR descriptions, smart routing, and other automations to reduce developer toil.
  • MCP Server: Interact with your engineering data using natural language to build custom reports and get answers on the fly.

More from Dev Interrupted

All 208 episodes
Automated ≠ Autonomous: Developer Productivity and AIDev Interrupted · 45 min
Listen in VO