Episode 821 ·
Bridging Cultures in Remote Tech Teams with Sagar Batchu from Speakeasy and Mark Martin from SolarWinds
Today, we’re talking to Sagar Batchu from Speakeasy and Mark Martin from SolarWinds. We discuss the intricacies of managing distributed teams across different cultures, effective communication strategies in a remote work environment, and the evolving landscape of API development.
All of this right here, right now, on the Modern CTO Podcast!
To learn more about SpeakEasy, check out their website here: https://www.speakeasy.com/
To learn more about SolarWinds, check out their website here: https://www.solarwinds.com/
Produced by ProSeries Media: https://proseriesmedia.com/
For booking inquiries, email [email protected]
About Sagar Batchu
Sagar Batchu is the CEO and Co-Founder of Speakeasy, where he is making it easy to create and consume any API. For the last 10 years, Sagar has worked as a hands-on engineering leader focused on developer and data infrastructure. Prior to founding Speakeasy, he was Director of Engineering at LiveRamp, where he built the London dev center from 0 to a team of 50+ engineers working on data infrastructure & privacy technology.
About Mark Martin
Mark Martin is a seasoned technology leader and the Platform Team Manager at SolarWinds, a global leader in IT management and observability solutions. With extensive experience managing distributed teams across the US, India, and Europe, Mark oversees the development of high-throughput data ingestion pipelines, analytics databases, and AI ops capabilities. His expertise lies in building and coordinating autonomous teams, fostering cross-cultural collaboration, and driving innovation in observability tools. Mark is passionate about creating customer-centric products and leveraging modern technologies to solve complex IT challenges. His leadership approach emphasizes trust-building, open communication, and continuous learning in remote work environments.
Transcript
(Intro Narrator at 00:00:10) Today, we're talking to Sagar Batchu from Speakeasy and Mark Martin from SolarWinds about the ways API integration is being revolutionized and how they approach building remote teams. You're listening to Joel Beasley, Modern CTO.
(Joel Beasley at 00:00:30) Are you both in San Francisco today?
(Mark Martin at 00:00:33) I am. Yeah.
(Sagar Batchu at 00:00:34) Yeah. Me too. Nice.
(Joel Beasley at 00:00:35) Nice. And then how did you two meet each other?
(Sagar Batchu at 00:00:39) So Mark and his team were trying out different products in our space. And Greg, who is on Mark's team, I believe I first came across him when I saw a LinkedIn post from him where he said something like, "Oh, I just come back to this space of OpenAPI after several years. I'm pretty excited to see what tools have evolved in the space." And he named a few. And then at the end, he said, "I really like what Speakeasy is doing."
(Sagar Batchu at 00:01:11) And I was like, "Oh, cool. Okay. This guy likes to speak his mind, and I appreciate that and give feedback." So we connected there. I think we connected on Slack too, and he started using our product.
(Sagar Batchu at 00:01:23) We connected with Mark. So it was pretty organic. Yeah. It was a pretty organic encounter, honestly.
(Joel Beasley at 00:01:30) And then, Mark, on your side, what questions were you guys asking that caused you to explore this?
(Mark Martin at 00:01:37) Well, first of all, let me say Greg is a gem, and I've worked with Greg even before SolarWinds. He's very opinionated and doesn't filter out his feelings. So when he says Speakeasy is great, he means it. So that's I just wanted to point that out. We had been talking about, you know, we had internal APIs already.
(Mark Martin at 00:02:04) We federate some Swagger endpoints because we're on the platform team. We're building things to, you know, accelerate product engineers building observability tools. You can get away with a lot internally in terms of developer experience when you're trying to build something quickly like we were. You can incur some tech debt. You have a budget for it.
(Mark Martin at 00:02:32) But we wanted to, of course, take it to the next level because we knew that it was important to expose the same APIs to our customers and partners. Right? You only really get one impression to give them. So we had talked about releasing SDKs, and that's when I asked Greg, "Hey. Can you evaluate?" You know, we always start with open source tools, of course.
(Mark Martin at 00:03:02) And, you know, he used some of them in anger, just to try it out. But that's when he stumbled across Speakeasy. And like Sagar said, it was totally organic.
(Joel Beasley at 00:03:18) And what type of content were you putting out for Speakeasy? Was it just the social interaction of you guys on LinkedIn, or were they reading your blog post or what?
(Sagar Batchu at 00:03:27) Yeah. I think one of the ways he found us is we actually do a lot of work with the open source generators. So even though, funnily enough, you could claim that they're competition in some way, we find that, ultimately, what it's doing is creating a market and creating awareness around this idea that you need developer experience for your APIs, and the open source tools are a great way to get started, often not the best enterprise solution. And I think we were transparently, I think we were running ads or potentially doing blog posts around the open source.
(Sagar Batchu at 00:04:04) And so people who would encounter open source would then see us and consider us as an enterprise option if they're looking for something more serious. I believe that's what Greg initially saw.
(Joel Beasley at 00:04:16) So, Mark, was it the right decision?
(Mark Martin at 00:04:18) Yes. Absolutely. So far. You know, when Greg gave me the demo, I really had no concept that this was possible so quickly. And, yeah, I was sold right away.
(Mark Martin at 00:04:28) It was kind of a no-brainer for me because I had actually, we did this thing early on in the product where it's like you want to win a customer, so you go spend the weekend writing some maybe not totally production-ready code to get a Terraform provider out there. You know what I mean? And so I had hands-on experience with working with our APIs in terms of building a Terraform provider for our tool. Once I saw, once Greg demoed the actual Go SDK generation, and then I saw that Speakeasy has the Terraform generation capability, I was just like, "Let's do this." Yeah.
(Joel Beasley at 00:05:18) And SolarWinds is a huge company. You guys have been around forever. For people who don't know, what does SolarWinds do?
(Mark Martin at 00:05:25) Yeah. So our mission is to provide, you know, easy-to-use tools for, historically, it's been network admins and IT folks. So, you know, we've evolved. We've grown both through acquisitions and new product development. So, you know, now we encompass all of the observability space.
(Mark Martin at 00:05:52) And, additionally, we have service desk products. So we're doing IT service management and infrastructure management. So our company is about, I want to say over 2,000 employees. We're distributed across the globe. Wherever you can think of, we have a presence. The biggest part of our customer base is from our self-hosted tools, like, you know, we call it now SolarWinds Observability Self-Hosted.
(Mark Martin at 00:06:31) And these are on-prem deployments where you stand up our infrastructure with your own database. But where I am is in the SaaS, SolarWinds Observability Platform. And so I manage the teams building our, you know, high-throughput data ingestion pipeline, the analytics database for all of the telemetry data, the detection capabilities, like alerting, and AI Ops capabilities. It runs the gamut and, you know, we're converging on one platform for all of SolarWinds that could be self-hosted or using the SaaS platform.
(Joel Beasley at 00:07:20) So you manage multiple teams?
(Mark Martin at 00:07:22) Yeah. I have about eight teams in India, Europe, the US. We're very distributed, and it's about, you know, one-third, one-third, one-third.
(Sagar Batchu at 00:07:36) So—
(Mark Martin at 00:07:36) It's kind of an equal distribution.
(Joel Beasley at 00:07:39) What are you learning right now as a leader?
(Mark Martin at 00:07:42) So, yeah, I was thinking about this. If we're talking about hiring remote teams in the US, through your hiring practices, you are trying to get a diversity of viewpoints and folks. But it's usually not a huge lift to get them aligned. And same with on-site locations, like in Europe or India. However, getting them to fit together is pretty challenging without a lot of attention. So you kind of shift from choreography to orchestration, and, actually, my boss likes to talk about this a lot, choreography versus orchestration.
(Mark Martin at 00:08:31) We try to do as much as we can as leaders to get away from the orchestration part because the outcomes are not as great. The teams are not as autonomous. And, you know, the, I guess you could say, the skin in the game is not as real for those teams. So, you know, you want to move towards having autonomous teams that are loosely choreographed that bring great outcomes.
(Joel Beasley at 00:09:02) Yeah. So what's a really difficult thing that you've recently learned or figured out?
(Sagar Batchu at 00:09:07) You want the slightly spicy?
(Joel Beasley at 00:09:10) Slightly spicy. Like, if it was a chicken sandwich, it would be a spicy chicken sandwich from McDonald's. You know?
(Mark Martin at 00:09:17) Yeah. I guess the spiciest thing I could share would be you have to have teams that are aligned on the same customer profile and product that you're building. When they have different ideas of what that is, it's just going to be a failure of coordination and outcomes. So that's what kind of I'm struggling with internally and learning and trying to navigate how to drive towards, like, "Hey. This is the customer, and this is the experience that we're trying to deliver."
(Mark Martin at 00:10:01) And that is extremely hard to do when you're across the ocean, right, from teams.
(Joel Beasley at 00:10:08) Now, Sagar, I've experienced this as well. I'm sure you have too, especially being founders. If you would have talked to me when I was in my early twenties and you would ask me about myself, I'd say, "I hate repeating myself." So it's been pretty odd that I become a public speaker and go tour the same talk in 50 different places. Right?
(Joel Beasley at 00:10:30) But what I found out is that's communication. Right? It's setting the vision, explaining what it is, syncing people up, but then continuing to make sure that that stays in place. And that's the difficult thing because it's monotonous. It's repetitive.
(Joel Beasley at 00:10:46) You have to find ways to deliver it. You can't be condescending. You have to keep it original and fresh. So how do you get teams, different teams aligned, Sagar, since you're here?
(Sagar Batchu at 00:10:57) Yeah. It's a great question. I completely agree with you. As a leader or as a founder, sometimes you think you've come up with the grand plan and it's super simple, and you just state the goal to your team. And then you walk away from it, and a week or two weeks later, it's kind of diffused and diluted.
(Sagar Batchu at 00:11:16) And you're like, "Wait. But it was a one single line in a Notion doc. It should really just click for everyone." But, ultimately, people have a lot of things they're doing every day, you know, especially at a startup. There's an immense amount of context switching going on.
(Sagar Batchu at 00:11:30) And so I've personally found that I have to kind of get over my own inhibitions around reiterating something a couple of times and doing it constantly throughout the week at different levels, at the team level, at all-hands as a company. Sometimes early on, I used to forget to do this, and I realized those goals were just getting, yeah, very quickly diluted into the startup chaos. And so I think what I found works for me now is I think you have to obviously clearly communicate the goal and I find you have to keep surfacing it in different contexts, you know, in that memo that you send out to your team, in the Jira ticket that's filed, in the customer support channel. There's probably different interpretations of that goal that could be brought up in different places, and I find that that really does help. And I also think you need to rely on the other leaders and other, you know, founding employees of a company who are good at carrying that message forward and also adding their own flavor on top.
(Joel Beasley at 00:12:34) Well said. Yeah. It's like double-slit management. Right? You know, the double-slit experiment? That's how I felt so often early on as a leader because it's like, if I'm looking at it, it's working. The moment I take my eyes off it, it stops working. Double-slit management. Right? But the things that have helped me and that you inspired just now hearing you speak was, like, I found if I could first of all, reducing the number of outcomes that I'm looking for.
(Joel Beasley at 00:13:00) So for me, figuring out what's the closest thing and how it ties to revenue. So I have a justification. So I need a few, I need a small set of items to continually reinforce. So it's manageable for me to reinforce them. And to do that, I use revenue as a justification. Right? Revenue, customer happiness, because without that, there's no magic paycheck fairy, and that's what we need to exist. So customers helped me reduce my priorities, which allowed me to be more repetitive. And like you said, just figuring out different ways to resurface that goal.
(Joel Beasley at 00:13:33) One small thing I have found is if I want to change a behavior within my company or within some teams, to link it to an existing behavior. So rather than just saying, "Hey, just do something new," trying to get them to associate whenever I do A, B should happen. And they're already doing A. Right? They're already doing this one thing continuously and well.
(Joel Beasley at 00:13:54) And then I try to attach to it a little bit. But, you know, my success rate's 50 to 70%, so don't listen to me.
(Sagar Batchu at 00:14:04) No. Totally agree. I mean, I can even share from this past quarter that just kicked off for us, to a point of reducing goals. Right? I kind of started the quarter, obviously, the startup, very autonomous. There's a lot of bottoms-up product leadership that happens. But I do feel the importance to set some clear goals also top-down to help kind of, you know, merge those things together. The first time I wrote out our kind of product roadmap for the quarter, I had 15 different goals in there, and that was terrible. I read at that and actually just deleted everything and just had one goal.
(Sagar Batchu at 00:14:42) It is just user acquisition. We have a percentage KPI that we're tracking. We're going to move that up by a 10x improvement. Right? And that's it.
(Sagar Batchu at 00:14:53) And I didn't even, I even kind of steered clear of determining the projects that we're going to do and just said, "Look, the team can determine the projects that you want to do. Here's a couple of ideas. But ultimately, the only thing we're tracking is that customer acquisition." As a startup, you know, the lifeblood is getting customers and getting more customers faster. And so that's now our only stated product goal.
(Sagar Batchu at 00:15:17) Don't tell my competitors, but that's the only thing. Yes. They're—
(Joel Beasley at 00:15:21) They're busy chasing their tail anyways. You guys are going to be the leaders in this space. I judge you mostly on your product and your brand. Like, when I see things that look beautiful, I'm like, "That's going to do well." I don't know why.
(Joel Beasley at 00:15:35) But if you're smart enough to figure out that you need a branding person and you need your stuff to look good, you're typically smart enough to figure out how to make the business work.
(Sagar Batchu at 00:15:45) Totally. We just, it's funny you said that. We just hired a design engineer at the company.
(Joel Beasley at 00:15:50) Mhmm.
(Sagar Batchu at 00:15:50) And design engineers are kind of this rare breed. They're kind of like, I don't know, platypuses. If someone described them to you, you wouldn't believe they exist. Like, they kind of go pixels to prototype. They're everything in between.
(Sagar Batchu at 00:16:05) Right? They do the design, but they're also really good at engineering. A little bit hard to find, but we found this one guy, very excited. But sorry. Digression, but your point on brand—
(Joel Beasley at 00:16:16) Let's go with narwhal. They're a little bit cuter, and they're also magical. Yeah.
(Sagar Batchu at 00:16:21) Yeah. Yeah. I mean, this guy is amazing. The first day he walked into the office, he's wearing an AI tag on a shirt, and I was like, "This guy is perfect. This, you know, our design is going to be amazing."
(Sagar Batchu at 00:16:33) It's going to be cool, innovative. People are going to remember it. Anyway, yeah. So I agree with you. Brand is important.
(Joel Beasley at 00:16:40) Hey, Mark. You actually mentioned something pretty interesting that you've got these three groups of people in three different countries, and there's different cultures in all of the different areas that you mentioned. I think you said US, India, and Europe. Right? Yeah.
(Joel Beasley at 00:16:53) And so you've had to go through this process of communicating complex ideas across cultures. And what have you learned there? Do you have any stories of times that you mistakenly communicated something and it was interpreted the wrong way? Or what's some lessons you have there?
(Mark Martin at 00:17:11) I don't know that I've necessarily put my foot in my mouth very much. So that's a good sign. It's very important to go on-site regularly and hang out. Go have, you know, in the case of Europe, you're at the bar until the wee hours of the morning. In the case of India, you're hitting a ton of restaurants. But that is very important, and just listening mainly is, it has been extremely valuable for me.
(Mark Martin at 00:17:50) Letting folks just kind of spill the beans on how it's going and synthesizing that. Right? Taking it away.
(Joel Beasley at 00:18:00) So let's say I'm a new engineer. Well, I'm an engineering manager and I'm in Texas, which I'm not, but we're going to role play here. So I'm a Texas-based engineering manager. I've been engineering manager. We have hybrid teams.
(Joel Beasley at 00:18:16) So some are remote, some are in person for our Texas company. And I just got a new job offer where I will be managing teams in multiple countries. And I'm coming to you, Mark, and you've only got one piece of advice that you're allowed to give me. What would that be?
(Mark Martin at 00:18:35) Make time to talk to your team in the beginning almost every day. It doesn't really matter what you talk about. You have to establish a relationship and trust. You know, if you don't have that trust from them that you're there and you're listening, they're going to assume that you're going to make decisions while they're asleep without their involvement at all. And that just sort of reduces their autonomy and self-direction.
(Sagar Batchu at 00:19:09) I completely agree with that, actually. One way I think about it is if they were sitting in an office next to you every day, you'd probably be bantering about one thing or the other. And it does feel weird sometimes to get on a Zoom call with a remote team and just chitchat about nothing. It's definitely more forced, but I think you kind of have to force yourself to do it. Just push through it and do it.
(Sagar Batchu at 00:19:33) I completely agree with Mark that there's just not that trust. You don't want them to feel like they're an offshore team. Right? Ideally, you're trying to create the sense that, yeah, you're all in the same place. You're in it together.
(Sagar Batchu at 00:19:48) Yeah, nothing just beats the time and availability. Even sometimes just saying you're available. You could book a meeting with me. Yeah. I've worked with a couple offshore teams in the past.
(Sagar Batchu at 00:19:59) And I think Mark also rightly pointed out doing it upfront is really important. It's really hard to do it later, I find. Once decisions have been made that maybe they don't agree with, it's really hard to go back and try to rebuild that trust. It's much easier to do it when in that kind of honeymoon period of having a new team.
(Joel Beasley at 00:20:20) Yeah. One of the things that we do over here, and we're less than 20 people, is on Mondays, we'll have a 30-minute meeting, and we'll either do breakout rooms depending on how many people are available to make the meeting. So we want to keep it less than five people per breakout room. And then what we do is we'll say, oh, how'd your weekend go? And everybody kind of talks for a few minutes and shares about how their weekend went.
(Joel Beasley at 00:20:45) And then we come back in the main call where we give an update on the business. And then on Thursdays, we do Feel Good Thursday. So this morning, we did Feel Good Thursday. My feel good is I'm going camping this weekend with my kids. So that's exciting.
(Joel Beasley at 00:20:58) And then that way, we all kind of get to know each other a little bit and have some conversation without it being too forced, you know, because it's relevant to what you're feeling good about Thursday or what you did that weekend.
(Mark Martin at 00:21:10) Yeah. And I like to interact in Slack a lot. So we're all in Slack. That's our central point of interaction. And I think I'm in a hundred Slack channels.
(Joel Beasley at 00:21:26) Wow. You're a Slack master.
(Mark Martin at 00:21:28) But I do go through, and I try to process most everything and understand what everybody is talking about, sort of like walking the rounds if I were in a factory or something. I make it a point to chime in in threads. And even if it's, you know, one of my managers sharing that he's in Sicily or something, it's good to interact and the teams to be able to see you there interacting with them.
(Joel Beasley at 00:21:57) Yeah. And what type of issues do you face? So Slack. Josh and I work really closely together. But sometimes when I'm Slacking him, a message will not come across right or he'll be in a different mood than me will be unsynced because we're not together in person.
(Joel Beasley at 00:22:13) So the interpretation changes. Have you had that happen? And if so, how did you handle that?
(Mark Martin at 00:22:19) Yeah. And actually Slack in particular is really good about the huddle button. And I encourage people to just, if something's not clear, punch that button, and I will just answer. If I'm in another—if I'm Slacking you while I'm in another call, I'll just put the call on hold because, you know, unless it's really important, I just make sure that they can call me without feeling weird about it.
(Sagar Batchu at 00:22:46) Oh, cool. Yeah. Cool. Yeah.
(Joel Beasley at 00:22:48) I found that the shortest distance between two points is communication. So I try to advertise as much as possible to the team, if anything seems off, the thing that we need to do immediately is get together to figure it out. Right?
(Mark Martin at 00:23:01) Yep. Yep.
(Joel Beasley at 00:23:02) Sagar, what about you? You ever have some miscommunication situations with Slack? How did you handle those?
(Sagar Batchu at 00:23:08) Happens, I feel like, all too often actually in a startup where the density and intensity of Slack messages feels like 2x than what it was where I worked before. And yeah, it's controlled chaos, really, our Slack because our Slack is also our primary support channel. There's on-call alerts firing off. There's support messages coming in. We have a pretty distributed product that runs on GitHub.
(Sagar Batchu at 00:23:38) And so Slack is now in a supremely overloaded channel. And in the middle of all of that, trying to have a management-related conversation, that feels absurd. It feels absolutely absurd. Firstly, I've been trying a new tactic recently, just if it's something that has at all any chance of being sensitive or being misinterpreted, I've just been waiting to do it in the one-on-one time during the week with the team member. It is a little impractical because sometimes you do need to address something directly.
(Sagar Batchu at 00:24:13) But it has made me really question what is urgent to get across to someone versus what can wait and be kind of rolled up into a bigger discussion. So that's been my tactic, and I think it's maybe idiosyncratic to us. But Slack is just this, yeah, wild west of alerts and comms right now, and it feels like throwing in a sensitive conversation in the midst is just asking for misinterpretation. So, yeah, I've been pulling it out for that reason.
(Joel Beasley at 00:24:46) The number of times that I've sent a message, I said it in my head. I'm probably standing in the kitchen or doing something. So I'm going to type it out real quick, hit send, and then get not good feedback on it. And then I go back and I read it and I'm like, oh, that had a double meaning. If you read it in one tone, it's really good.
(Joel Beasley at 00:25:05) You read it in another tone and it's really bad. So I have been doing my best to, like acting like an LLM and checking my answer before I give it back. Like, is there any way this can be misinterpreted? If so, don't send it. So the text-based communications is rough.
(Joel Beasley at 00:25:26) It's hard.
(Mark Martin at 00:25:26) I worked with a PM once who insisted on including at least one emoji in every Slack message you sent to make the intent clear. I thought it was totally silly for a long time.
(Sagar Batchu at 00:25:43) That's a good idea.
(Mark Martin at 00:25:43) But it's—
(Sagar Batchu at 00:25:44) That's a good idea.
(Mark Martin at 00:25:45) Right? But sometimes it creeps in. And to make the intent clear, sometimes I put some sort of emoji in it.
(Sagar Batchu at 00:25:52) This is a maybe a weird analogy of maybe too software of analogy, but I kind of find the tech comms thing with Slack kind of like the batch and event streaming problem in data engineering. Right? On one hand, when you are streaming events and doing real-time engineering, often the people consuming it need to put an effort on filtering out certain events. There's a concept of a publisher and a subscriber, right, a publisher consumer. And the consumer does have to choose what to listen to, filter out things, deal with missed events.
(Sagar Batchu at 00:26:30) And so that's what Slack feels like to me. It's like a human event bus. Right? And it's just this explosion of events, and you put out some, other people put out some, and then the stuff you consume, you have to choose what channels to be part of. Sometimes you have to boot yourself from a channel because it's creating too much noise for you.
(Sagar Batchu at 00:26:48) And I think things like email and one-on-ones are like batch processing. Right? You pile up a number of things that need to be spoken about. You probably process it three, four times, the shower thoughts, you add on. And then finally, you kind of—not sorry, not laid on, but you talk to the other person. And there's a lot of preprocessing that's happened. So, yeah, that's kind of how I think about it. Maybe we've spent too long in the world of Spark and Kadu.
(Joel Beasley at 00:27:17) You win the most nerdy but relatable engineering leadership advice I think we've ever gotten. So that's great. Pub-sub leadership style. Right?
(Sagar Batchu at 00:27:27) Yeah. Yeah. I remember vaguely a couple years ago listening to a Software Engineering Daily podcast with one of the core engineers on Slack's search graph search team. And he was talking about how internally they always refer to Slack as the human event bus. That was their one of the, maybe, developer visions for what this was.
(Joel Beasley at 00:27:49) I like that. What's the vision for Speakeasy?
(Sagar Batchu at 00:27:53) Yeah. The vision for Speakeasy really is that, simply put, APIs are way harder than they need to be. They're messy. They are some of the more core and oldest technology we have, and yet it feels very underinvested when you compare it to some of the new stuff around. And so we're really trying to bring some of that modern developer experience to the API life cycle.
(Sagar Batchu at 00:28:17) It's about speed, performance, quality, being able to get you to great APIs quickly. And so, yeah, Speakeasy's vision is to be a de facto toolkit for API engineers. Whether you're building the API for external users, internal users, we want to be your go-to toolkit and not try to replace the job, but really give you a lot of leverage in terms of what you can do. So, yeah, that's the vision.
(Joel Beasley at 00:28:47) Mark, you think Speakeasy is living up to that vision?
(Mark Martin at 00:28:51) Yeah. Absolutely. What but what I want to know is how does Sagar feel about GraphQL?
(Joel Beasley at 00:29:00) In the context of leadership advice.
(Sagar Batchu at 00:29:02) In the context of leadership, but should I try to make another crazy analysis? Let's do it. Let's try. Let me try it. You know, GraphQL is all about inversion of control. Right?
(Sagar Batchu at 00:29:13) It's amazing for autonomy. People building a GraphQL can do whatever they want. But at scale, it becomes really messy because there's no guidance on what the right thing to do is. And so I feel like if you want to draw that to leadership as you scale, as Mark said earlier, when you have super autonomous teams, that's phenomenal. They move quickly.
(Sagar Batchu at 00:29:34) Decisions are made. People feel like stuff's getting shipped. But at scale, there's going to be noise. There's going to be chaos. And without a little top-down guidance on the North Star, you get around to scaling problems.
(Sagar Batchu at 00:29:47) And so you need a good old REST API to save the day.
(Mark Martin at 00:29:51) That's a great—
(Joel Beasley at 00:29:52) He did it. Mark, he did it.
(Sagar Batchu at 00:29:53) Yeah.
(Mark Martin at 00:29:54) That was amazing. I love it.
(Joel Beasley at 00:29:57) Oh my gosh. That's founder right there for you. Making it happen.
(Sagar Batchu at 00:30:01) Yep. I'll even extend it further, and I'll say that's why I think REST works great for public APIs because the people you're working with, they're not necessarily teams internally that have shared culture and shared backgrounds, shared guidance. The developers are anywhere and everywhere. And so you're letting them basically write queries against your database, which to me has always been a really scary thing. I know there's a lot of good tech like Apollo and stuff that will let you do federation, predefined queries. But ultimately, at scale, it feels like GraphQL is not the right solution for really at-scale products. REST has kind of proven itself.
(Sagar Batchu at 00:30:43) I still love GraphQL, especially when you're doing UI development internally at a company. I think it's amazing. But it definitely has had its honeymoon phase, and I think—don't want to be too harsh on it, but I think the scoreboard kind of speaks for itself in that something like 85% of all APIs today are REST. I think little over 10% is GraphQL and a couple percent is gRPC. They're all growing.
(Sagar Batchu at 00:31:08) The whole market's growing. It's not saying you shouldn't go use it, but when in doubt, go with the simple option. If you're not sure why to pick GraphQL, I would go with the REST and then revisit later.
(Joel Beasley at 00:31:21) Are there any popular—I've never programmed against a GraphQL service that I'm aware of. Everything I'm aware of, I believe, is REST. Is there any main popular household name services that use that as their API?
(Sagar Batchu at 00:31:33) Yeah. You know, it's a good question. For a long time, GitHub was.
(Mark Martin at 00:31:38) Oh, they did?
(Sagar Batchu at 00:31:39) Yeah. Externally, it was GraphQL APIs. Yep. Now they do REST as well. I think there was a blog post some time ago around the struggles they had scaling it. They do both. But the REST APIs, I think, are their focus right now. Don't quote me on that.
(Joel Beasley at 00:31:52) We're going to quote you. That's actually going to be the clip of the show to highlight. It'll go on the newsline.
(Sagar Batchu at 00:31:56) It messes up, get that called out.
(Joel Beasley at 00:31:59) Dude, this has been great. Let's start to wrap up here. If people want to try Speakeasy, they want to get their hands on it, they want to explore. It might be the tool that they need to solve the problem they're experiencing today. Where do they go?
(Joel Beasley at 00:32:14) How do they do it?
(Sagar Batchu at 00:32:15) Yeah. Really easy. Speakeasy.com. You can hit the big Try It Now button. You'll make an account.
(Sagar Batchu at 00:32:22) You'll follow a nice little quick start experience, and, hopefully, in a few minutes, you have your first SDK.
(Joel Beasley at 00:32:28) Oh, amazing. If people want SolarWinds Observability, where do they go?
(Mark Martin at 00:32:33) They go to solarwinds.com, navigate to SolarWinds Observability, and you can sign up for a free trial right on the website. And first steps are, you can instrument your APM, or instrument your application with APM using our OpenTelemetry-based tools. You can spin up our agent with a one-liner in bash, which will download and spin up infrastructure monitoring. You can install a Helm chart to monitor your Kubernetes cluster. Lots of different ways to get data in easily.
(Mark Martin at 00:33:18) Nice.
(Joel Beasley at 00:33:19) Nice. So solarwinds.com and speakeasy.com. Those are the sites. Josh is going to put links in the show notes below for everybody that wants to click a link. And that's it.
(Joel Beasley at 00:33:29) We made a podcast. How do you feel?
(Sagar Batchu at 00:33:32) I feel great. I feel like I bashed on GraphQL a little bit.
(Joel Beasley at 00:33:35) No. Good. You did just the right amount. Just the right amount.
(Sagar Batchu at 00:33:38) I wanted—
(Mark Martin at 00:33:38) I wanted more. I wanted more but—
(Sagar Batchu at 00:33:39) You wanted more.
(Joel Beasley at 00:33:41) Thank you so much for listening. And if you found this episode useful, please share it with a friend or colleague who you think would get value from it. And if you have topics that you'd like to hear discussed on the podcast, either add me on LinkedIn or send me an email [email protected]. Every time I get an email or LinkedIn message, it absolutely makes my day and inspires me to keep going.