Screaming in the Cloud - Remote Versus Local Development with Mike Brevoort

Episode Date: May 23, 2023

Mike Brevoort, Chief Product Officer at Gitpod, joins Corey on Screaming in the Cloud to discuss all the intricacies of remote development and how Gitpod is simplifying the process. Mike expl...ains why he feels the infinite resources cloud provides can be overlooked when discussing remote versus local development environments, and how simplifying build abstractions is a fantastic goal, but that focusing on the tools you use in a build abstraction in the meantime can be valuable. Corey and Mike also dive into the security concerns that come with remote development, and Mike reveals the upcoming plans for Gitpod’s local conference environment, CDE Universe. About MikeMike has a passion for empowering people to be creative and work together more effectively. He is the Chief Product Officer at Gitpod striving to remove the friction and drudgery from software development through Cloud Developer Environments. He spent the previous four years at Slack where he created Workflow Builder and “Platform 2.0” after his company Missions was acquired by Slack in 2018. Mike lives in Denver, Colorado and enjoys cycling, hiking and being outdoors.Links Referenced:Gitpod: https://www.gitpod.io/CDE Universe: https://cdeuniverse.com/

Transcript
Discussion (0)
Starting point is 00:00:00 Hello, and welcome to Screaming in the Cloud, with your host, Chief Cloud Economist at the Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud. It's easy to f*** up on AWS, especially when you're managing your cloud environment on your own.
Starting point is 00:00:36 Mission Cloud unf***s your apps and servers. Whatever you need in AWS, they can do it. Head to missioncloud.com for the AWS expertise you need in AWS, they can do it. Head to missioncloud.com for the AWS expertise you need. Have you listened to the new season of Traceroute yet? Traceroute's a tech podcast that peels back the layers of the stack to tell the real human stories about how the inner workings of our digital world affect our lives in ways you may have never thought of before. Listen and follow Traceroute on your favorite platform, or learn more about Traceroute at origins.dev. My thanks to them for sponsoring this ridiculous podcast.
Starting point is 00:01:15 Welcome to Screaming in the Cloud. I'm Corey Quinn. I have had loud, angry, and admittedly at times uninformed opinions about so many things over the past few years. But something that predates that a lot is my impression on the idea of using remote systems for development work as opposed to doing local dev. And that extends to build and the rest. And my guest today here to argue with me about some of it, or agree, we'll find out, is Mike Brevoort, Chief Product Officer at Gitpod, which I will henceforth be mispronouncing as Jitpod because that is the type of jerk I am. Mike, thank you for joining me.
Starting point is 00:01:54 Thank you for insulting my company. I appreciate it. No, by all means, it's what we do here. So you clearly have opinions on the idea of remote versus local development. And I am using the word remote development. I know you folks like to use the word cloud in place of remote. But I'm curious to figure out, is that just the zeitgeist that has shifted? Do you have a belief that it should be in particular places, done in certain ways, etc.? What are your opinions on this start and stop?
Starting point is 00:02:22 I think that, I mean, remote is accurate, an accurate description. I don't like to emphasize the word remote because I don't think it's important that it's remote or local. I think that the term cloud connotes different values around the elasticity of environments and the resources that are more than what you might have on your local machine versus a remote machine. It's not so much whether the one machine is local or remote as much of it is that there are infinite numbers of resources that you can develop across in the cloud. That's why we tend to prefer cloud development environments. From my perspective, I've been spending too many years now living in basically hotels and airports. And when I was doing that for a long
Starting point is 00:03:05 time, the only computer I bring with me has been my iPad Pro. That used to be a little bit on the challenging side. And these days that's gotten capable enough where it's no longer interesting in isolation. But there's no local development environment that is worth basically anything on that. So I've been SSHing into things and using VI as my development environment for many years. When I started off as a grumpy Unix sysadmin, there was something reassuring about the latest state of whatever it is I'm working on lives in a data center somewhere rather than on a laptop I'm about to leave behind in a coffee shop because I'm careless. So there's a definite value and sense that I am doing something virtuous historically.
Starting point is 00:03:44 But it didn't occur to me until I started talking to people about this, just how contentious the idea was. People would love to ask all kinds of fun objections to this, where it was, oh, well, what about when you're on a plane and you need to do work? It's, well, I spend an awful lot of time on planes, and that is not a limiting factor
Starting point is 00:04:01 in me writing the terrible nonsense that I will charitably call code in my case. I just don't find that that idea holds up anymore. The world has become so increasingly interconnected that that seems unlikely, but I do live in San Francisco. So here, every internet is generally pretty decent. Not every place is. What are your thoughts?
Starting point is 00:04:19 I agree. I mean, I think one thing is I would just like not to think about it, whether I can or can't develop because I'm connected or not. And I think that we tend to be in a world where that is is more so the case. And I think a lot of times when you're not connected, you become reconnected soon. Like if your connection is not reliable or if you're going in and out of connectivity issues. And when you're trying to work on a local laptop and you're connecting and disconnecting, it's not like we develop these days and everything is just isolated on our local laptop, especially we talk about cloud a lot on this podcast. And a lot of apps now go way beyond
Starting point is 00:04:55 just I'm running a process on my machine and I'm connecting to data on my machine. There are local emulators you could use for some of these services, but most of them are inferior. And if you're using SQS or using any other like cloud-based service, you're usually as a developer connecting to some version of that. And if you're disconnected anyway, you're not productive either. And so I find that it's just like an irrelevant conversation in this new world and that the way we've developed traditionally has not followed along with this view of, I need to pile everything in on my laptop to be able to develop and be productive, has not followed along with the trend that moved into the cloud. Right. The big problem for a long time has been, how do I make this Mac or Windows laptop look a lot like a Linux EC2 instance? And there have been a bunch of challenges and incompatibility issues in the RAST.
Starting point is 00:05:45 And from my perspective, I like to develop in an environment that at least vaguely resembles the production environment it's going to run in. Which at AWS's case, of course, comes down to expensive, but don't tiss. Yeah, it's a really big challenge. It's been a challenge, right?
Starting point is 00:05:59 When you've worked with coworkers that were on a Windows machine and you were on a Mac machine and you had the one person on their Linux machine forever. And we all struggled with trying to mimic these development environments that were representative ultimately of what we would run in production. And if you're counting costs, we can count the cost of those cloud resources. We can count the cost of those laptops, but we also need to count the cost of the people who are using those laptops and how
Starting point is 00:06:24 inefficient and how much churn they have and how, I don't know, there was for years of my career, someone would show up every morning to the stand up meeting and say, it's like, well, I wasted all afternoon yesterday trying to work out my issues with my development environment. And it's like, I hope I get that sorted out later today and I hope someone can help me. And so I think cost is one thing. I think that there's a lot of inconsistencies that lead to a lot of inefficiencies and churn. And I think that regardless of where you're developing, the more that you can make your environments more consistent and sound, not for you, but for your own team and have those be more representative of what you are running in production, the better. We should disambiguate here because I fear this is one of the areas where my use case tends to veer off into the trees, which is I tend to operate largely in isolation from a development
Starting point is 00:07:16 point of view. I build small micro things that wind up doing one thing poorly. And that is like what I do as a proof of concept or to be funny or to kick the tires on a new technology. I'll also run a bunch of random things I find off of Github. Yes, that's how I pronounce GitHub. And that's great, but it also feels like I'm burning as a result every stack and
Starting point is 00:07:38 every language in every various version that it has. And very few of the cloud development environments that I've seen really seems to cater to the idea that simultaneously, I want to have certain affordances in my shell environment set up the way that I want them. Tab complete this particular suite of tools generically across the board, but then reset to that baseline and go in a bunch of different directions of today, it's Python in this version, and tomorrow it's Node in this other version,
Starting point is 00:08:06 and three, what is a TypeScript anyway? And so on and so forth. It feels like it's either, in most cases, you either get this generic, one size fits everyone in this company for this project approach, or it's, here's a very baseline, untuned thing that does not have
Starting point is 00:08:22 any of your dependencies installed, start from scratch every time. And it feels like there are two paths and they both suck. Where are you folks at these days on that spectrum? Yeah, I think that, one, if you do all of that development across all these different libraries and technology stacks, and you're downloading all these repos from GIF Hub, is that right? And you're experimenting, you tend to have a lot of just collision of things. Like if you're using Python, it's like really a pain to maintain isolation
Starting point is 00:08:50 across projects and not have, like your environment is like one big bucket of things on your laptop. And it's very easy to get that into a state where things aren't working. And then you're struggling. There's no big reset on your laptop. I mean, there is, but it takes,
Starting point is 00:09:04 it's a full reset of everything that you have. And I think the thing that's interesting to me about cloud development environments is I could spin one of these up. I could trash it to all hell and just throw it away and get another one. And I could get another one of those at a base of which is been tuned for whatever project or technology I'm working on. So I could take, you know, do the effort to preset up environments. One that is set up with all of my like Python tooling, another one that's set up with all my like Go or Rust tooling or front end development, even as a base repo for what I tend to do or might tend to experiment with. Or what we find is that whether you're working alone or you're working with coworkers,
Starting point is 00:09:43 that setting up a project and all the resources and the modules and the libraries and the dependencies that you have, someone has to do that work to wire that up together. And the fact that you could just get an environment and get another one and another one, we use this analogy of tissue boxes, where you should just be able to pull a new dev environment out of a tissue box and use it and throw it away and pull as many tissues out of the box as you want. And they should be cheap and ephemeral, and they shouldn't be be long lived because they shouldn't be able to drift. And whether you're working alone or you're working in a team, it's the same value. The fact that like I can pull one of these out, I have it, I'm confident in it of what I got. Like for
Starting point is 00:10:16 example, ideally you would just start a dev environment. It's available instantly and you're ready to code. You're in this project with, and maybe it's a project you've never developed on. Maybe it's an open source project. This is where I think it really improves the sort of equitability of being able to develop, whether it's an open source, whether it's inner source and companies, being able to approach any project
Starting point is 00:10:37 with the click of a button and get the same environment that the tech lead on the project who started it five years ago has. And that I don't need to worry about that. And I get the same environment. And I think that's the value. And so whether you're individual or you're on a team, you want to be able to experiment and thrash and do things and be able to throw it away and start over again and not have to, like, for example, maybe you're doing that on your machine and you're working on this thing and then you actually have to do some real
Starting point is 00:11:03 work. And then now that you've done something that conflicts with the thing that you're working on this thing and then you actually have to do some real work. And then now that you've done something that conflicts with the thing that you're working on and you're just kind of caught in this tangled mess where it's like, you should just be able to leave that experiment there and just go work on the thing you need to work on. And why can't you have multiples of these things at any given time?
Starting point is 00:11:17 Right, one of the things I loved about EC2 dev environments has been that I can just spin stuff up and, okay, great. It's time for a new project, spin up another one and turn it off when I'm done using it, which is the lie we always tell ourselves in cloud and get charged for things we forget to turn off. But then, okay, I need an Intel box one day. Done. Great. Awesome. I don't have any of those lying around here anymore, but clickety clickety, and now I do. It's nice being able to have that flexibility, but it's also sometimes disconcerting
Starting point is 00:11:45 when I'm trying to figure out what machine I was on when I was building things and the rest, and having unified stories around this becomes super helpful. I'm also finding that my overpowered desktop is far more cost-efficient when I need to compile something challenging as opposed to finding a big, beefy EC2 box
Starting point is 00:12:02 for that thing as well. So much of the time, what my remote system is doing is sitting there bored. Even when I'm developing on it, it doesn't take a lot of modern computer resources to basically handle a text editor. Unless it's Emacs, in which case that's neither here nor there. I think that the thing that becomes costly, especially when using cloud development environments, is when you have to continue to run them even when you're not using them for the sake of convenience, because you're not done with it.
Starting point is 00:12:29 You're in the middle of doing some work and it still has to run or you forget to shut off. If you're going to just spin up a really beefy EC2 instance for an hour to do that big compile and it costs you 78 cents, that's one thing. I mean, I guess that adds up over time. And yes, if you've already bought that Mac Studio that's sitting under your desk humming, it's gonna be more cost-efficient to use that thing. But there's like an element of convenience here that like, what if I haven't bought the Mac Studio,
Starting point is 00:12:57 but I still need to do that big beefy compilation? And maybe it's not on a project I work on every single day. Maybe it's the one that I'm just trying to help out with or just starting to contribute to. And so I think that we need to get better about and something that we're very focused on at JITPod is our good pod is. I'm going to get you in trouble at this rate. Is really to optimize that underlying runtime environment so that we can optimize the resources that you're using only when you're using it, but also provide a great user experience, which is for me as someone who's responsible for the product to get pod. The thing I want to get to is that you're paying for, that there's a meter spinning, that if you forget it, that you're like, ah, it's going to cost me a lot of money, that I have to worry about ever losing it. And really, I just want to be able to get a new
Starting point is 00:13:52 environment, have one, use it, come back to it when I need it, have it not cost me a lot of money, and be able to have five or 10 of those at a time because I'm not as worried about what it's going to cost me. And I'm sure it'll cost something, but the convenience factor of being able to get one instantly and have it and not have to worry about it ultimately saves me a lot of time and aggravation and improves my ability to focus and get work done. And right now we're still in this mode where we're still thinking about, is it on my laptop? Is it remote? Is it on this EC2 instance or that EC2 instance, or is this thing started or stopped? And I think we need to move beyond that and be able to just think of these things as development environments that I use and need and they're there where I want
Starting point is 00:14:34 to when I need to work on them and I don't have to tend to them like cattle. Speaking of tending large things in herds, I guess, that's sort of the most tortured analogy slash segue I've come up with recently. You folks have a conference coming up soon in San Francisco. What's the deal with that? And I'll point out it's all on-site locally, not in the cloud.
Starting point is 00:14:54 So, hmm. Yeah, so we have a local conference environment, a local conference that we're hosting in San Francisco called CDE Universe on June 1st and 2nd. And we are assembling all the thought leaders in the industry who want to get together and talk about where not just cloud development is going, but really where development is going. And so there's us, there's a lot of companies that have done this themselves. Like before I joined Gitpod, I was at Slack for four years and I got to see the transition
Starting point is 00:15:25 of a sort of remote development hosted on EC2 instances transition and how that really empowered our team of hundreds of engineers to be able to contribute and like work together better, more efficiently to run this giant app that you can't run just alone on your laptop.
Starting point is 00:15:42 And so Slack's going to be there. They're going to be talking about their transition to cloud development. The Uber team is going to be there. There's going to be some other companies. So Nathan, who's building Zed, he was the one that originally built Atom at GitHub, is now building Zed, which is a new IDE, is going to be there. And I can't mention all the speakers, but there's going to be a lot of people that are really looking at how do we drive forward development and development environments? And that experience can get a lot better.
Starting point is 00:16:09 So if you're interested in that, if you're going to be in San Francisco on June 1st and 2nd and want to talk to these people, learn from them and help us drive this vision forward for just a better development experience, come hang out with us.
Starting point is 00:16:23 I'm a big fan of collaborating with folks and figuring out what tricks and tips they've picked up along the way. And this is coming from the perspective of someone who acts as a solo developer in many cases. But it always drove me a little nuts when you see people spending weeks of their lives configuring their text editor, Vim in my case, because I'm no better than these people. I have one of them. And getting it all set up and dialed in. It's how much productivity are you gaining versus how much time are you spending getting there? And then when all was said and done a few years ago, I found myself switching to VS Code for most of what I do because it's great. And suddenly the world's shifting on its axis again. There's at some, you want to get away from focusing on productivity
Starting point is 00:17:06 on an individualized basis. Now, the rules change when you're talking about large teams where everyone needs a copy of this running locally or in their dev environment, whatever that happens to be. And you're right.
Starting point is 00:17:17 Often the first two weeks of a new software engineering job are, you're now responsible for updating the onboarding docs because it's been 10 minutes since the last time someone went through it. And, oh, the version's bumped again of what happens when you type brew install on a Mac and suddenly everything's broken. Yay. I don't miss those days.
Starting point is 00:17:35 Yeah. The new like ARM-based Macs came out and then you're, now all of a sudden all your builds are broken. We hear that a lot. Oh, what I love now is that in many cases, I'm still in a process of, okay, I'm developing locally in an ARM-based Mac, and I'm deploying it to a Graviton2-based Lambda or instance, but the CICD builder is going to run on Intel. So it's one of those, what is going on here? Like there's a tool chain lag around embracing ARM as an architecture
Starting point is 00:18:01 that's mostly been taken care of as things have evolved, but it's gotten pretty amusing at some point just as how quickly that baseline architecture has shifted for some workloads and for some companies. Yeah. And things just seem to be getting more and more complicated, not less complicated. And so I think the more that we can try to simplify, build abstractions, you know, the better. But in those cases where I think it's actually good for people to struggle with setting up their environment sometime with caring about the tools that they use and their experience developing. I think there has to be some ROI with that.
Starting point is 00:18:31 If it's like a chronic thing that you have to continue to try to fix and make better, it's one thing. But if you spend a whole day improving the tools that you use to make you a better developer later. I think there's a ton of value in that. I think we should care a lot about the tools we use. However, that's not something we want to do every day. I mean, ultimately, I know I don't build software for the sake of building software. I want to create something. I want to create some value, some change in the world. There's some product ultimately that I'm trying to build. And early on, I've done a lot of work in my career on like workflow type builders and visual builders.
Starting point is 00:19:12 And I had this incorrect assumption somewhere along the way. And this came around like sort of the maker movement when everybody was talking about everybody should learn how to code. And I made this assumption that everybody really wants to create. Everybody wants to be a creator
Starting point is 00:19:26 and if given the opportunity, they will. And I think what I finally learned is that actually most people don't like to create. A lot of people just want to be served. Like they just want to consume and they don't want the hassle of it. Some people do if they have the opportunity and the skill sets too,
Starting point is 00:19:42 but it's also similar to like, if I'm a professional developer, I need to get my work done. I'm not measured on how well my local tooling is set up. I'm sort of measured on my output and the impact that I have in the organization. And I tend to think about like chefs, if I'm a chef and I work 60 hours in a restaurant, 70 hours in a restaurant, the last thing I want to do is come home and cook myself a meal. Like, and most of the chefs I know actually don't have really nice kitchens at home. They like tend to, they want other people to cook for them. And so I think like there's a place in a professional setting where you just need to get the work done and you don't want to worry about
Starting point is 00:20:22 all the meta things and the time that you could waste on it. And so I feel like there's a happy medium there. I think it's really, it's good for people to care about the tools that they use, the environment that they develop, and to really care for that and to curate it and make it better. But there's got to be some ROI and it's got to have value to you. You have to enjoy that. Otherwise, you know, what's the point of it in the first place? One thing that I used to think about was that if you're working in regulated industries, as I tended to a fair bit, there's something very nice about not having any of the data or IP or anything like that locally. Your laptop effectively just becomes a thin client to something that's already controlled by the existing security and compliance apparatus.
Starting point is 00:21:10 That's very nice, where suddenly it's, oh, someone steals my iPad, or I drop it into the bay, it's locked, it's encrypted, cool. I go to the store, get myself a new one, restore a backup from iCloud, and I'm up and running again in a very short period of time, as if nothing had ever changed. Whereas when I was doing a lot of local development and had bad hard drive issues in the earlier part of my career, well, there goes that month. Yeah, it's a really good point. I think that we're all walking around with these I'm on a local coffee shop and the latest vulnerability that an update I have to do on my Mac if I'm behind. And there's actually a lot of risk in having all that just sort of thrown to the wind and
Starting point is 00:21:54 spread across the world. And there's a lot of value in having that in a very safe place. And what we've even found that at Gitpod now, like the latest product we're working on is one that we call Gitpod Dedicated, which gives you the ability to run inside your own cloud perimeter. And we're doing that on AWS first. And so we can set up and manage an installation of Gitpod inside your own AWS account. And the reason that became important to us is that a lot of companies, a lot of our customers treat their source code as their most sensitive intellectual property, and they won't allow it to leave their perimeter. They may run AWS, but they have this concept of our perimeter, and you're either inside
Starting point is 00:22:36 of that and outside of it. And I think this speaks a little bit to a blog post that you wrote a few months ago about the lagging adoption of remote development environments. I think one of those aspects is sort of convenience and the user experience, but the other is that you can't use them very well with your stack and all the tools and resources that you need to use if they're not running sort of close within your perimeter. And so, you know, we're finding that companies have this need to be able to have greater control.
Starting point is 00:23:08 And now with the sort of trends around like coding assistance and generative AI, and it's even the perfect storm of not only am I like sending my source code from my editor out into some LLM, but I also have the risk of an LLM that might be compromised, that's injecting code that I'm committing on my behalf that may be introducing vulnerabilities. And so I think getting that off to a secure space that is consistent and sound and can be monitored and be kept up to date, I think has the ability to sort of greatly increase a customer's security posture. While we're here kicking the beehive, for lack of a better term, we support for multiple editors in Gitpod, the product. I assume that most people would go with VS Code because I tend to see it
Starting point is 00:23:58 everywhere. And I couldn't help but notice that neither VI nor Emacs is one of the options the last time I checked. What are you seeing as far as popularity contests go? And that might be a dangerous question because I'm not suggesting you alienate many of the other vendors who are available, but in the world I live in, it's pretty clear where the zeitgeist of my subculture is going. Yeah, I mean, VS Code is definitely the most popular IDE. The majority of people that use Gitpod, especially we have like a pretty heavy free usage tier, uses it in the browser just for the convenience of having that in the browser and having many environments in the browser. We tend to find more professional developers use VS Code Desktop or the JetBrains suite of IDEs. Yeah, JetBrains I'm seeing a fair bit of in a bunch of different ways.
Starting point is 00:24:49 And I think that's actually most of what your other options are. I feel like people have either gone down the JetBrains path or they haven't. And it seems like people who are into it are really into it, and people who are not just never touch it. Yeah, we want to provide the options for people to use the tools that they want to use and feel comfortable in. And we also want to provide a platform for the next generation of IDEs to be able to build on and support and to be able to support this concept of cloud or remote development more natively. So like I mentioned, Nathan Asobo at Zed, I met up with him last week. I'm in Denver, he's in Boulder, and we were talking about this. And he's interested in Zed working in the browser. He's, I'm in Denver, he's in Boulder. And we were talking about this and he's interested in, you know, Zed working in the browser.
Starting point is 00:25:27 And he's talked about this publicly. And for us, it's really interesting because like IDEs working in the browser is like a really great convenience. It's not the perfect way to work necessarily in all circumstances. There's some challenges with like all this tab sprawl and stuff,
Starting point is 00:25:40 but it gives us the opportunity if we can make Zed work really well and for Gitpod or anybody else building an IDE for that to work in the browser. And ultimately what we want is that if you want to use a terminal, we want to create a great experience for you for that. And so we have, we're working on this ability in Gitpod to be able to effectively like bring your own IDE if you're building on that and to be able to offer it and distribute on Gitpod, to be able to create a new developer tool and make it so that anybody in their Gitpod workspace can launch that as part of their workspace, part of their tool. And we want to see developer tools and IDEs flourish on top of this platform that is cloud development because we want to give people choice.
Starting point is 00:26:20 Like at Gitpod, we're not building our own IDE anymore. The team started to, they created Thea, which was one of the original cloud sort of web-based IDEs that now has been handed over to the Eclipse Foundation. But we moved to VS Code because we found that that's where the ecosystem or that's where our users were, our customers and what they wanted to use. We want to expand beyond that and give people the ability to choose not only the options that are available today, but the options that should be available in the future. And we think that choice is really important. When you see people kicking the tires on Gitpod for the first time, where does the bulk of their hesitancy come from? Like, what is it where people, in my experience, don't love to embrace change. So it's always this thing sucks is sort of the default response to anything that requires them
Starting point is 00:27:05 to change their philosophy on something. So, okay, great. That is a thing that happens. We'll see what people say or do, but are they basing it in anything beyond just familiarity and comfort with the old way of doing things? Or are there certain areas
Starting point is 00:27:19 that you're finding that new customers are having a hard time wrapping their head around? There's a couple of things. I think one thing is just habit. People have habits and preferences, which are really valuable because it's the way that they've learned to be successful in their careers and the way that they expect things. Sometimes people have these preferences that are fairly well ingrained that maybe are irrational or rational.
Starting point is 00:27:41 And so one thing is just people's force of habit. And then getting used to this idea that if it's not on my laptop, it means like what you mentioned before, it's always what if. So like, what if I'm on a plane? Or like, what if I'm at the airport in a hurricane? What if I'm on a train with a spot internet connection? And so there's all these sort of what ifs situations. And once people get past that and they start actually using Gitpod and trying to set their projects up. The other limiting factor we have is just connectivity. And that's like connectivity to the other resources that you use to develop. So whether that's a package or module repositories, or that's some internal services or a database that might be running behind a firewall, it's like getting connectivity to those things.
Starting point is 00:28:21 And that's where the dedicated deployment model I talked about running inside of your perimeter on a network they have control over kind of helps. And that's why we're trying to overcome that. Or if you're using our SaaS product, using something like Tailscale or a more modern VPN that way. But those are the two main things. It's that it's like familiarity, this comfort for how to work sort of in this new world and not having this level of comfort of like it's running on this thing I can hold as well as connectivity. And then there is some cost associated
Starting point is 00:28:52 with people now paying for this infrastructure they didn't have to pay for before. And I think it's a mistake to say that we're going to offset the cost of laptops. Like that shouldn't be how you justify a cloud development environment. Yeah, I feel like people are not requesting under spec laptops much these days anymore.
Starting point is 00:29:12 It's just like you want, I want to use a good laptop. I want to use a really nice laptop with good hardware. And that shouldn't be the cost. The proposition shouldn't be, it's like save a thousand dollars on every developer's laptop by moving this off to the cloud. It's really the time savings.
Starting point is 00:29:24 It's the focus. It's the, you know,000 on every developer's laptop by moving this off to the cloud. It's really the time savings. It's the focus. It's removing all of that drift and creating these consistent environments that are more secure and effectively automating your development environment. That's the same for everybody. But I think habits are the big thing. little bit that element of like, we still have this concept of like, I have this environment and I start it and it's there and I pay for it while it's there and I have to clean it up or I have to make sure it's stopped. I think that still exists. And it creates a lot of sort of cognitive overhead of things that I have to manage that I didn't have to manage before. And I think that we have to, Gitpod needs to be better there. And so does everybody else in the industry about removing that completely. Like there's one of the things that I really loved that I learned from
Starting point is 00:30:11 like Stuart Butterfield when I was at Slack was he always brought up this concept called the convenience threshold. And it was just the idea that when a certain threshold of convenience is met, people's behavior suddenly changes. And as we thought about products and like the availability of features, that it really drove how we thought about even how to think about adoption or like what is the threshold?
Starting point is 00:30:37 What would it take? And like a good example of this is even like the way we just use credit cards now or debit cards to pay for things all the time where we used to carry cash. And in the beginning, when it was kind of novel that you could use a credit card to pay for things, like even pay for gas, you always had to have cash because you didn't know if it'd be accepted. And so you still had to have cash. You still had to have it on hand. You still had to get it from the ATM. You still had to worry about like, what if I get there?
Starting point is 00:31:04 They don't accept my cards. And how much money is it going to be? So I need to make sure I have enough of it. But the convenience of having this card where I don't have to carry cash is I don't have to worry about that anymore as long as I have money in my bank account. And it wasn't until those cards were accepted more broadly that I could actually rely on having that card and not having the cash. It's similar when it comes to cloud development environments. It needs to be more convenient than my local development environment. It needs to be. It's kind of like early.
Starting point is 00:31:30 I remember when laptops became more common. I was used to developing on a desktop and people were like, nobody's ever going to develop on a laptop. It's not powerful enough. The battery runs out. I have to, you know, when I close the lid, when you open the lid, it used to take like five minutes before like it would resume and un-hibernate and stuff. And it was amazing where you could just close the lid and open it and get back to where you were.
Starting point is 00:31:50 But that's the case where laptops weren't convenient as desktops were because they were always plugged in, powered on. You could leave them and you could effectively just come back and sit down and pick up where you left off. And so I think that this is another moment where we need to make these cloud development environments more convenient to be able to use and ultimately better. And part of that convenience is to make it so that you don't have to think about all these parts of them, whether they're running, not running, how much they cost, whether you're going to be there with them or lose their data. That should be the value of it. I don't have to think about any of that stuff. So my last question for you is, when you take a look at people who have migrated to using GitMod,
Starting point is 00:32:34 specifically from the corporate perspective, what are their realizations after the fact? Assuming they still take your phone calls, because that's sort of feedback of a different sort. But what have they realized has worked well? What keeps them happy and coming back and taking your calls? Yeah, our customers could focus on their business instead of focusing on all the issues that they have with configuring development environments, everything that go wrong. And so a good example of this is a customer we have, Quizlet. Quizlet
Starting point is 00:33:00 saw a 45-point increase in developer satisfaction and a 60% reduction in incidents. And the time that it takes to onboard new engineers went down to 10 minutes. So we have some customers that we talk to that come to us and say, it takes us 20 days to onboard an engineer because of all the access they need and everything they need to set up and the credentials and things. And now we could boil that down to a button click. And that's the thing that we tend to hear from people is that they just don't have to worry about this anymore. And they tend to be able to focus on their business and what the developers are actually trying to do, which is build their product. And in Quizlet's example, it was really cool to see them mention in one of the recent OpenAI announcements around GPT-4 and plugins is they were one of the early customers that built GPT-4 plugins or chat GPT.
Starting point is 00:33:52 And they mentioned that they were sharing a lot of Gitpod URLs around when we reached out to congratulate them. And the thing that was great about that for us is like they were talking about their business and what they were developing and how they were being successful. And we'd rather see Gitpod and your development environment just sort of disappear into the background. We'd actually like to not hear from customers because it's just working so well from them. So that's what we found is that customers are just able to get to this point where they could just focus on their business and focus on what they're trying to develop and focus on making their customers successful and not have to worry about infrastructure for development. I think that really says it all. On some level, when you have customers who are happy with what's happening and how they're approaching this,
Starting point is 00:34:34 that really is the best marketing story I can think of. Because you can say anything you want about it, but when customers will go out and say, yeah, this has made our lives better, please keep doing what you're doing. It counts for a lot. Yeah, I agree. And that's what we're trying to do. We're not trying to win sort of a tab versus spaces debate here around local or cloud. I actually just want to enable customers to be able to do their work of their business and develop software better. We want to try to provide a method and a platform that's extensible and customizable and
Starting point is 00:35:05 gives them all the power they need to be able to just be ready to code, to get to work as soon as they can. I really want to thank you for being so generous with your time. If people want to learn more, where's the best place for them to find you other than at your conference in San Francisco in a few weeks? Yeah, thank you. I really appreciate the banter back and forth and uh i hope to see you there at our conference you should come consider this an invite for uh june 1st and 2nd uh in san francisco at cde universe of course and we'll put links to this in the show notes thank you so much for being so generous with your time appreciate Appreciate it. Thanks, Corey. That was really fun. Mike Brevoort,
Starting point is 00:35:48 Chief Product Officer at Gitpod. I'm cloud economist, Corey Quinn, and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice. Whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice,
Starting point is 00:36:01 along with an angry comment detailing exactly why cloud development is not the future, but then lose your content halfway through because your hard drive crashed. If your AWS bill keeps rising and your blood pressure is doing the same, then you need the Duck Bill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duck Bill Group works for you, not AWS. We tailor recommendations to your business, and we get to the point. Visit duckbillgroup.com to get started.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.