Join Corey and Jeff as they discuss what Jeff does at the helm of Microsoft’s developer relations group, how Microsoft defines “developer relations,” the critical role docs play in developer success, how Microsoft was able to seamlessly transition Build into a fully remote event during the COVID-19 pandemic, how successful documentation is more of a lifestyle than an initiative, how Microsoft writes docs before they write code, the one thing that makes Microsoft tick, and more.
They are excited to support and contribute to open source platforms, tools, and processes. As Developer Advocates, they’re spreading awareness of Azure and enabling developers to do what they love; write, code, and learn. Great online content (docs, demos, videos, code) is the foundation of everything they do.
They create global developer online experiences for Microsoft like docs.microsoft.com, Channel 9, and dev.microsoft.com. They connect with developer communities through their programs including Microsoft MVP, Microsoft Regional Director, their annual Build conference and third-party developer events around the globe.
Announcer: Hello, and welcome to Screaming in the Cloud with your host, Cloud Economist 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.
Corey: This episode is brought to you by DigitalOcean, the cloud provider that makes it easy for startups to deploy and scale modern web applications with, and this is important to me, no billing surprises. With simple, predictable pricing that’s flat across 12 global data center regions and UX developers around the world love, you can control your cloud infrastructure costs and have more time for your team to focus on growing your business. See what businesses are building on DigitalOcean and get started for free at do.co/screaming. That’s D-O-Dot-C-O-slash-screaming and my thanks to DigitalOcean for their continuing support of this ridiculous podcast.
Corey: This episode is brought to you by Spot.io, the continuous cloud cost optimization platform, saving businesses millions of dollars each year on their cloud bills used by some of the world's largest enterprises and fastest growing startups like Intel and Samsung. Those are enterprises and duo lingo. That's a startup. Spot.io delivers the optimal balance of cost and performance by leveraging spot instances, reserve capacity, and on demand. Give your workloads the infrastructure they deserve. Always available, always scalable, and always at the lowest possible cost. Visit Spot.io to learn more.
Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. I'm joined this week by Corporate Vice President at Microsoft of Developer Relations Jeff Sandquist. Jeff, welcome to the show.
Jeff: Hey, thanks for having me, Corey. Great to be here.
Corey: It's always a pleasure to talk with you. So, you are a corporate vice president: three words, each one of which tells me that Twitter means something bad. But the developer relations part is the rest of it. What does that mean? Where do you start and where do you stop professionally?
Jeff: I work in engineering. I work in Scott Guthrie's organization and we see developer relations as an engineering discipline. And we believe that's really something, kind of, simple. It's about helping developers. So, we build the services that run documentation, our learning platform, localization. Ensure that our products get to developers around the world, and are really able to be used by many.
And a big part of that is advocacy, our cloud advocates, and really developer relations, to me, is really about going where developers are and being able to connect with them authentically. Advocate about a community, Node, Python, and really bringing them inside of Microsoft and helping them understand why we make the decisions we do, and what will it take for them to be able to use our products. At the end of the day, we're just here to help.
Corey: One thing that I found that was super interesting, at least from my somewhat naive perspective, is that I know an awful lot of people who work for Microsoft Developer Relations, or specifically over in Azure, and they say a lot of things, oh, do they say things. But one thing that they don't say is nothing that has ever come across my radar as an explicit sales pitch for Azure. So, the old trope about Developer Relations—DevRel, being a Devreloper, whatever term you choose to use—it does not translate in your interpretation of it into a sales force with credibility, as best I can tell.
Jeff: We help first. And I think—maybe even just, kind of, step back is that a few years back, we made a decision to, in a lot of ways, rebuild, build-out, really our advocacy efforts at Microsoft. And we didn't start there. We actually said—the first thing we did was, “Wow, we need to go build great docs.” And that was really one of the first problems we had to solve. How do we build great docs, not just for .NET Windows, but for Node, Python, Go? Azure is a cloud that really any developer should use. And it has to start with docs.
But our advocacy work is really founded in the principles of, everything starts with great content. We go where developers are, and we bring them back to Microsoft. And our approach, when we went to restart things, was really about aligning with communities. So, I’m sure at one point in time at Microsoft, we probably had a Windows start menu advocacy, or evangelism team or a team that was from Windows Server. And when we started developer advocacy at Microsoft, we built our teams around communities.
So, I have a team that focuses on Node, and those people come from the Node community and live with that community. And they spend all of their time advocating on behalf of that community, in engineering. How do we need to be looking at our docs? How do we make this product easier? How do we make it five minutes to “Wow?” And around that—of our people being from those communities. It gave us a connection to those communities, but I actually think it actually changes the tone of the conversation because we're not taking someone from Microsoft that may have grown up through experience with .NET or Windows or Visual Studio and saying, “Hey, be a Linux person,” or, “Be a Node person.” That's almost like asking somebody to be a poser. We hired people from those communities that are genuinely part of it, and we embraced that. And I think that's where that comes through. We also—these people aren't on quota. We're not in marketing; we're in engineering, and we run this as an engineering team, with sprints. It’s really about connecting with those customers.
Corey: And to that end, we're having this conversation right after your Build Conference finished, which I got to say was nothing short of astonishing from my perspective. We went into worldwide lockdown about three months ago, give or take, which means you didn't have a whole lot of time beyond that to transition the event into a fully remote digital experience, to borrow from your marketing's overly corporate phrasing, but you really pulled it off in ways I was not expecting. Oh, great. It's going to be 48 straight hours of content—and it was—but it was structured in such a way that made sense. A certain competitor of yours just announced the same week that they're going to be doing their online conference for eight weeks. I imagine that they could easily spend that much time talking at their customers, but I'm not sure anyone wants to hear it. This was, it felt like, the perfect amount of time, and it leveraged the remote aspect in a way that I was not expecting. I frankly expected it to be a terrible half-assed version of an in-person conference and it was very much not that at all. How did this happen?
Jeff: How did this happen?
Corey: Explain yourself.
Jeff: Yeah. Sometimes I wonder how it's happened, too. But how did Build happen? Build happened because of, just, a phenomenal group of people, like, an absolute team sport. I had a great partner on this, a guy named Bob Bejan, who's been working on events forever. And about eight weeks ago—probably shorter than that—we knew that Build was not going to happen. And you saw events being canceled and so forth, and we made the decision in the company that we're going to still have Build. We were going to make it free, and we're going to make it online.
Corey: And both of those make sense. But I expected the third bullet point there, that you didn't hit, was, “And you're going to postpone it.”
Jeff: Yeah, and we did not postpone it. And I would say—I mean, I use a quote that Scott Hanselman was quoted on The Verge in an article he said, “Hey, we didn't just pull this out of our butt. We created an all-new event.” It was quite eloquent.
Corey: Oh, yeah, there was some joking about that going around on Twitter, but I’m in favor of quotes like that. It’s, “Heaven forbid that due to that quote, one of our folks sounded like a human being.” Yeah, that is not a failure mode in any realistic sense, for any customer you want to deal with.
Jeff: And being a human—what a great way to put it—that's what this was all about. So, eight weeks ago we rewrote the event. We started from the ground up and said, “We cannot run this with somebody for three hours in front of a podium going through product announcements.” We have to design this for, really, the attention of the internet. We have to make this entertaining, and really even being careful because COVID-19 is going on, people are going through all sorts of different things.
But we knew we had to bring the community together. We knew that we had to go connect with the community, both ourselves, and we knew, if we were going to do this, we had to do a few things, which was, one, really start and build an event and adjust the overall flow and timing of it. So, we didn't do those long keynotes. We shortened them up as small segments. We did Imagine Cup, which is something we've done always at these events with our students. That was a shorter, smaller bit.
And we really started writing the show. When we work on an event like this—we always do this—we treat it like a movie. We have a writer’s room, three times a week, we get together and we start adding people into that group, and we start writing the story of the event. Now, this isn't like the story of what product news we're landing and exactly what that announcement is, yet. This is about talking about the overall story of the event, and we start writing that out.
And I think it's really important to know is that we started this eight weeks ago from the ground up. We were planning an event called Build. And so, we decided that no, we're going to do a whole new session process. We're going to shorten these to small segments. There's a lot of us at the company. I started a thing called Channel Nine with a group of people quite some time ago, and it was progressive at the time. It was really about—
Corey: Oh, yeah. Big fan.
Jeff:—getting people with video cameras and allowing people to meet the people behind our products. We have a lot of people that work with media, much like you. I'm a kind of hacker at it as well, but love the space and connecting with people on social. And so, there's a lot of people that got it. We cannot just go up and push sessions out. So, as we crafted the event, we started really working with our speakers.
And we ran speaker training. And the speaker training was really about how do you hold an audience? How can we ask the questions differently? What are the things that streaming does to bring an audience? And how do you do these demos? And that became this area of the event you saw Scott Hanselman, do a keynote where he completely changed it based on the modality. Bringing people into meetings, via Teams, and bringing people into the overall keynote. And I think really what happened is it, kind of, became a life of its own. You can imagine a company after you do an event, and you [unintelligible] look the press out there.
There's been phenomenal engagement numbers around the event. What was so special about this is it truly felt like it was just a solid core group of people that cared about developers. And it was just this like, “Hey, how are we going to do this?” The answers were always, “We'll figure it out.” And I'll be honest, there were some areas, if you go around the event, you're going to see where it was rough around the edges. That's because we're repurposing infrastructure for session videos and live that maybe we built five years ago, we weren't quite using anymore. And as the time started leading up to the event, and we got ready to announce registration for it, could not believe what was happening for, really, just sign up, and getting people to attend the event. Let me look for some of these things here as numbers.
Jeff: Okay, so, so, couple things. We know, right, there are people around our company, we live and breathe community. We're part of those communities. We live there and we wanted to get out and get with them. We were hearing from people, too. Our customers were quarantined at home, too. A lot of people looking for online content to consume. And let's just, kind of, talk about the event.
At the start of the event, we were well over 200,000 people that registered. I want to put that in perspective. I don't even—[unintelligible] weren’t quite sure what to do with that number, Corey, because this is a free web streaming event. You didn't have to register, but 200,000 people decided that they would. And we made sure that the streaming was everywhere. The idea we wanted was we wanted no friction. If you want to watch the keynote, great. Watch it or watch the sessions, you can do—so, via Twitter, you can do on our own properties.
Corey: And they don't appear to be edited either, so if someone had spilled a cup of coffee over themselves, you can still grab that and just go loop that as your new Zoom background.
Jeff: You could, and I'm sure you'll find some, some happy—
Corey: Sorry, Teams background. I forgot who I'm talking to for a moment there.
Jeff: Maybe a Team's background. But hey, we go where developers are. So, sometimes we might be using Zoom, we might be using many of those things. But, we're at 200,000 registrations. Guess what? People still kept registering, even when the event’s going on. Tens of thousands of people, and they were in chat rooms, and attending those sessions, and it was going on on Twitter.
Guess what, though? You know what the average viewing duration was of our users? 161 minutes. 95% of our presenters were remote. Heck, we had several hundred people delivering their program from their bedrooms, or home offices, in their kitchen. There's a global audience. 80% historically was US attendees for events, 20% around the world. 65% of our audience was from around the world, and we made the decision—and I was so proud of the team—we're going to go 48 hours straight. And there's a very small number of people, probably—what is it—like, 0.01 percent of our customers, really, of any company that ever get to a major developer event.
And we didn't want to do something where we just showed up to the US and, hey, did something great and ran pre-recorded materials through the night. We wanted to go around the world, and we wanted to follow the sun. When we did that, sessions that we did during the day, when it became the evening, we ran them again. Scott Hanselman did this great talk on really this .NET futures talk. They delivered it last night at two in the morning.
Now, sometimes we did pre-recorded talks. And we’d run them again. So, we showed up in the chat room. We're upfront about it, “Hey, this is pre-recorded. That's why I couldn’t answer your questions, but I'm here to answer that.” And it was really about making that connection with the community and paying it off for our customers that are all around the world and giving them an outlet. I'm really proud of our team, too because what we did was we did a live—a sports test, so to speak. And that was my advocacy team. They were out there and they're great online. They're great at making things interesting.
Corey: One thing that really stuck out to me was my favorite talk of Build was a pre-recorded talk that Emily Freeman did, where she talked about building remote DevOps cultures. And she's always a good speaker; always gives a good talk. And at the end of her pre-recorded talk, that turned into a screen split with someone that she was talking to who asked questions from the chat that people had asked just then, and she answered, and oh, my God, it wasn't pre-recorded. This was done live. And that completely caught me off guard at the end of that just because it was so well polished, and no glitches whatsoever that I had just assumed that, “Oh, yeah, of course, it's going to be a video thing. Why wouldn't you pre-record it?” It really forced me to reassess how, I guess, proficient at this, both she was personally, as well as the entire team.
Jeff: Doing the right thing at the right time, kind of like having the right Lego blocks. a little bit further back, probably about 12 weeks ago, we started seeing some of our key flagship events having to be canceled due to COVID-19. And our team, we live in media. We're doing videos and short bits, and we build an overall skilling platform that's part of this. It's pretty interesting.
But, we started, kind of, building on small nuggets of content. And so, what we tried to look at is like, “Hey, what's the best use of time? And how do we make the most of this?” And I think when you go to an event, if you're like me, it's hallway conversations. I want to get a question answered that I can get answered nowhere else. So, maybe for Emily, it was like, “Hey, let's do a pre-recorded talk because of timing, but let's be there. Let's be with a chat with our customers.”
Corey: Just to be very clear, it wasn't a pre-recorded talk. It was so polished, I assumed it was just absolute clarity on that point.
Jeff: Okay, that is clarity because I was at, actually, Emily’s talk, and watched [crosstalk]—
Corey: Yeah, and it was amazing.
Jeff: Yeah. And I'd say, you know what, a lot of the people that are across our team and company, they're comfortable with doing online. The advocacy team that I lead is about online outreach. We [unintelligible]. We go to third party events, and communities, and even our first-party ones. But it's about connecting with developers where they are, and guess what? We go where developers are, they’re online right now, and so that's where we are. That's not just video. That’s GitHub, contributing to open source projects, but I do believe at our company—and this goes way back—Microsoft, in many ways has probably, and easily the most liberal social media policy of any company around the planet.
We trust our employees to get out there and communicate authentically, and we say, “Come as you are and do what you love.” And we mean that. We mean that; when you're speaking at a talk be Emily. Be Jeff. Be Corey. Be an engineer, and be that person that a developer wants to talk to. Even how we build up the events. Satya will say this over and over, “Hey, come work at Microsoft. But make sure you use Microsoft as a platform to be able to do what you believe in, in the world.” And he really means that, and so you saw things around build for good, or areas that we did certain things with students. Those are areas that people at our company will have a passion for, and it manifests in the event.
And so, when I was talking about that writing room and how we write the story of the event, that is a lot like when people write a TV show, we're in that room, we're coming up with ideas, not all of them do we go do, thank goodness, but that is really about how do we deliver on something great for our customers, and something for the community, and we will really mean that and that comes through. It's paid off with what I believe we've got some of the best presenters in the world, in the industry, in our company, in our team. And guess what? They're all making the adjustments. Not all are just advocates that are used to being online. Through this, we purposely reworked our speaker training and dry-run approach to be designed for this medium. And we helped one another. By the way, lighting, this is the Achilles heel.
Corey: Oh, my God, yes. Same problem in my world. The camera, I can make that work. Audio, I do podcasts and I sound amazing. But lighting is the bane of my existence for these things.
Jeff: What's awesome, though, and I mentioned a guy named Bob Bejan, who was really my partner in crime on the event. He's got years of TV production, and it's really this fun dynamic. We have an amazing group of people that are pro-style, they produce our shows, our events, and videos, and it's just a phenomenal team. And I've tweeted some behind the scenes pictures of things that were happening around the event. Now, they're pros at a lot of this stuff, from lighting and lighting sets. And I was talking to one of them and said, “Hey, I got a TV in the back of my office that I want to run and play videos. I don't know how to do it, I have these key lights, and they're showing up. And I'm literally chatting with one of the producers. He says, “Oh, you need to get some gaffer tape.” And I didn't even know what gaffer tape was until this, and he helped me understand how I build, kind of, a crown with a gaffer tape around the light.
And this is actually just a fun part of the event is, I guess, [unintelligible] COVID-19. We're all trying to figure out how do you lead teams? How do you connect with developers and do so online? We're all figuring it out together. And so, you see many of us, kind of like, literally decking out our battle stations. A year ago, we probably had a nice, simple, minimal desk, and now we're in this battle station with microphones and Stream Decks.
But what's been fun about is we're learning together. People are helping one another. We're learning how to even use things like OBS. We’re pretty nerdy about it. And we're building ways so that we can really connect with people, because right now—the world needs community now more than it ever has, I totally, completely see that and believe it. It's lonely. We're at home. We're trying to connect. We're not getting up at conferences to meet with the people that we care about, too. And we knew we had to go create something with that. And what's been fun is watching people learn new ways of doing that and how excited people get when we're able to connect to them. But it's seriously like when Satya says, “Hey, we did two years of evolution in two months.” Totally, with an event like this.
Corey: One thing that I think you nailed that is a common, if not the most common failure mode, is you get the lighting finally mastered. You get video taken care of. You get the sound done. The upstream is great. And all of the production quality becomes first class and the content is garbage. Where it's boring, it's crappy. It’s nothing anyone cares about. It doesn't matter how well-produced it is if it's crap, whereas people will forgive an awful lot of production snafus for content that's engaging and fun. Ideally, you hit both. And in your case, you did.
Jeff: Oh, thank you. You know, everything starts with great content. And I think when we start building the event, it's by developers for developers. The people building this event are developers, or we're a developer. And it's really about what do developers want to hear? How do we help explain what we're building at Microsoft? We're excited about what we're building. We want to bring people inside and we want to let them understand why we're building things.
We want to be able to share with them why certain things would have bugs, or certain ways of using it, and where we're headed. And we're out here to listen. And really how do we make this product better? How do we hustle? How can we make it that people want to go use it? A lot of the workaround this one feature, it's this Azure Static Web App. We just came up with that, and this is an example of an area where our advocates, especially for people that work with the Node community. How do you make it really easy to deploy static websites? And I lived in the weeds with an event and I lead a big size team that is doing this, you imagine a lot of times I'm doing anything but writing code.
Jeff: So I was talking to John Pop on my team. And John is from the Node community, he's a cloud advocate. And I run this website that's basically static HTML, and it's running in Azure. Really simple. And I use it just to keep up with deploying it. And there was an area of Azure that John and team really, really, really wanted to make sure that we made it easier for the Node community. And so, we released this thing called Azure Static Web Apps.
And I was talking to John and I said, “How hard is it for me to move over to it? Should I?” And he said, “Which website are you doing?” And I said, “Well, it’s Bronco Named Sue. It’s for my Bronco. And I want to move it over to this because I want to start doing some more things with Node and React with it.” And he goes, “Where's your GitHub repo?” And I said, “Okay, here it is.” I gave him a link to my GitHub repo for it. And one minute later, he came back and said, “You're live.” And literally, based on that repo—because it was public—in two minutes, he was deployed and running on Azure Static Apps.
And for me, one of the things we want to really enable and really get for developers five minutes to wow. Okay, I didn't know what this thing was. What are the docs? We are grounded. We live in docs, everything starts great technical docs, period. That's what developers are. And if we can take them from the docs, to deploying something, that's what we want to try and do. Now, we don't do that all the time. But that's what it's all about for me is how do we help?
Corey: One challenge that I had as I was, I guess, digesting the firehose of announcements that came out of Build was I consistently felt, to be very direct, lost. Where you folks were talking about a service I was either directly or tangentially familiar with and then seamlessly transitioned into talking about things that are very, to be direct, Microsoft ecosystem, which is not a world I am particularly well versed in for the past decade and a half. So, on some level it felt like I was either missing obvious things, or I was not up to speed where I needed to be. In truth and in practice, it was aimed at folks who are much more aligned with the broader Microsoft ecosystem than I tend to be in large part. But I'm wondering, for someone in my position, what is the best on-road to, I guess, learning more about this that doesn't involve: step one, go work somewhere that's steeped in the Microsoft ecosystem and spend five years learning all the ins and outs.
Jeff: Well, first, you got to hang out with us a lot more.
Corey: Oh, there we go.
Jeff: That's number one. But I think we have at Microsoft, some of the best ways to go learn about our platform. And I think it starts with something called Microsoft Learn. Microsoft.com/learn, and really, where the [00:26:13 unintelligible] is think about, like, TryRuby for the cloud. And it's really about the fact that how do you learn today? People have all different ways that they want to learn, and we believe that you want to make it so that people can do 10 minutes here, or 15 minutes there. And so, I think one of the best ways for you to start spending time going through Microsoft Learn.
And what's, kind of, unique about it is, it’s typical training, but it's small bite-sized chunks. It's really built around learning paths where you can do five minutes here—and guess what? If you need that little section, say something around identity, and you come down to another concept that you want to learn later? Guess what? It's checked off and you don't have to do it. And as you work through and answer questions, and assess your skills, you get to do a few things.
One, we have this thing called Cloud Shell. It's basically our command-line interface, right in the cloud. When you need to deploy a VM, our Cloud Shell pops onto the screen of Microsoft Learn, you start typing command-line commands for deploy a VM. And guess what? It's free. That's a subscription that I run. We set some group policy around it, and you get to go use it free. And so, in your company, you don't have to worry about somebody accidentally deploying some Hadoop cluster, not knowing what they're doing, and probably driving costs up. It's probably something that you know a bit about of—
Corey: Oh, maybe once or twice.
Jeff: But it's really about giving that way to go do it, and really learn the platform. Now, we don't just sit there and go do simple if/thens, we actually look at the deployments of the users against that, to give them points. And so, if somebody takes the default settings in the learning, and applies it as is, they get a certain set of points, but hey, maybe they deploy to a different region or different data centers. They basically build up those skills. And that's something that we've been building up for about the last two years, and it's been unbelievably successful for us.
We've had about 72 million monthly active users to our technical docs and learning sites. But on the Learn platform alone—and this is relatively a new thing for us over the last couple of years—about 3.9 million registered learners now. And you go from February to March of this year, it's like 25% month over month. Frankly, we're about 272% year over year. But this Microsoft Learn: get started there. But you know how developers learn, and I think how we think about our developer relations work is it's two in the morning, inspiration strikes, you're a developer, you don't go to the marketing pages. You don't go to reading the glossy brochure. You sure as heck don't go to your procurement manager and say, “Hey, can I get a license of this?”
You go to Google, maybe a few percentage of you go to Bing, and you start typing in search terms, you start typing in codes, things like this, and where do you end up? You end up at your docs. And that's why we really focus on having great docs that are localized, at least across the 17 languages that we localize Azure, but maybe up to 65 locales around the world. And we care deeply about linguistic quality. We have humans, both in the community and outside the community, that makes sure that is of quality, and we're maniacal about our docs. And we wanted that to be one of the first things that a developer sees, because that, to me, great docs is about the ultimate source of empathy. James Governor said this a while back, and it's true. How do you get somebody started? And it really starts with that great content. And we care deeply about that total renaissance of technical documentation at Microsoft over the years.
Corey: This episode is sponsored in part by N2WS. You know what you care about? Many things, but never backups. At least until right after you really, really, really needed to care about backups. That's what N2WS does for your AWS account. It allows you to cycle backups through different storage tiers; you can back things up cost-effectively, and safely. For a limited time, N2WS is offering you $100 in AWS credits for setting up their free trial, and I encourage you to give it a shot. To learn more visit snark.cloud/n2ws. That's snark.cloud/n2ws.
Corey: Oh, the documentation is nothing short of spectacular, to be very clear. I wound up pulling up the page you folks have, which I think is a great page to have, by the way. Explains Azure services through a lens of what AWS’s equivalent are. And I don't know Azure services for beans, but I can quote chapter and verse in the AWS side, and I was all setting up to just tear it apart and spend some time dunking on you folks. And I couldn't, it was really, really well done. The other only one or two minor things I saw and they were more stylistic than anything else. This is an actual legitimately good resource. In fact, the only thing that causes any skepticism around it is the fact that it’s Microsoft on the top of it. It was very even-handed and it got it all right. I don't rave about documentation all that often, but you folks have really hit it out of the park.
Jeff: It's hard work and it is a team sport, I'll often say. This didn't happen overnight. Our workaround documentation and really putting a focus on it has been something that we've been after for many years, and we'll never be done. Our docs at Microsoft at one point in time, I think they were scattered across 17 different websites around the company, all varying areas of quality. And probably were very emphasis on .NET Windows.
It was about two in the morning, and I was walking around with my team, and we were trying to figure out how we're going to go build a doc site for our company, and somebody said to me, “Hey, Jeff, what are we going to build for a CMS?” And I said, “You know, everybody I've ever met who's built a CMS either failed or is fired.” I said, “Let's not do this. What if we built her on GitHub?” And this was years ago, and this was one of the best moves we did. We really standardized on GitHub for our documentation platform. And that gave us a couple things that were really wonderful.
One, you're an employee and you want to make an update to our docs? It's a pull request. Docs are just code. You’re a customer, and you want to update a doc because you say, “Hey, this is not accurate,” and you want to do it. It's just a pull request. The format and the tools that we really use, it's just markdown. So, we're able to simplify overall the tooling that we use: it's just markdown. We're able to make it that, to contribute to our docs, whether you work at Microsoft or in the community, it's just a pull request, docs or code.
And then, we just really were able to build, frankly, a very simple platform that was around GitHub where developers are, and make it run great for people to be able to update it and participate on it. And it's been a number of years working at it. And it's not just about the platform. It's also working across the content in itself. And this starts at the top. I mean, literally the entire top of the company. And absolutely Scott Guthrie, who runs our overall cloud and AI, he absolutely is a champion of docs, and really, we'll even run through product reviews. And as we're going to launch said, “Okay. Let's start going through the docs. What do they look like?” We spend time on it.
Corey: I have no trouble believing that because this level of documentation does not come from someone saying, you know, we should really improve the docs one of these days. This has to come from the top. It has to be a strategic initiative and one that has paid off handsomely.
Jeff: I don't know if a strategic initiative, actually, will do it. It has to be part of the lifestyle. And sure, we have an amazing team, they report to me, there are technical writers. To me, it's one of the most underappreciated disciplines and crafts of our entire industry. And I think some companies do a disservice to that role. Not at Microsoft. But documentation is not the responsibility solely of a DevRel team, or a docs writing team. Docs are about building the product. And so, as we build docs—we will write the docs before we write a line of code. Our docs can be written by our PMs, our engineers, and frankly, it's a badge of honor to write great docs because it's hard.
And you know what? If the docs takes 70-some pages or 17, or 7 to write, and that's too long, it probably was not a problem with the writer. It's probably a problem with the user journey. So, why wouldn't you want to start writing that out from the beginning? And so, it's not just having a great docs team, or not about just building on GitHub. This is cultural. And Microsoft is a developer-first company. That's how we're founding it. So, not only do we talk about this at Scott's level, I've been in Satya’s leadership team meetings where we've talked about docs, and Amy Hood will talk about, “Oh, my gosh, I sent this to a customer and it works so well. And these docs are great.”
We are talking about documentation at that level because it matters so much in our company. And there's no point—this is the very first thing that Scott talked to me about when I was thinking to come back to Microsoft. He said, “There is no point Jeff in going out and doing evangelism, advocacy, or developer relations if you cannot go on stage or go online, and after you've finished a talk, say ‘hey, you want to do this, go to ak.ms/this and get started.’” You have to be that way, and it's cultural and it's lifestyle. And you can tell we're really proud of it, but we're never going to be done. We're never going to be done with our docs. We're always going to be updating them. And that's where we're lucky to have our own GitHub because it makes it fairly easy.
Corey: One thing that was challenging for me is shifting my mindset away from the lens that I normally look at the cloud space through and coming to a Microsoft specific one. I was given early access to a lot of the announcements through the analyst program, which was appreciated and also useful because it turns out I had a really bad take the first time I saw a particular announcement: namely the Azure for Healthcare offering. And my immediate thought on that was that, wow, that's really dumb. It doesn't make any sense whatsoever. It's bifurcating the market and more or less just distracting people from the things that are truly important.
And that's the right perspective to take for other cloud companies. But then I got to thinking, wow, think twice, then write. And what a concept, embargoes help with that. And I realized that Microsoft has done exactly this—the industry specificity—for many decades now, and it has worked out profoundly well for them across the board. So, I'm looking at this and realizing no, that's not a terrible idea at all, that is the right differentiation direction to go in. But having time to think and absorb something that goes beyond the 30 seconds, it takes me to write us a crappy tweet was extraordinarily helpful, and it led me to wonder what other things are being perhaps viewed unfairly through the lens of, well, if another cloud company did this thing, it would be terrible, therefore, it must be terrible if Microsoft is doing it, too.
Jeff: Some companies might call that being customer-obsessed. But really, just on—
Corey: Careful, they may have trademarked it by now.
Jeff: They may have. But I think that's the first thing on the healthcare is really about listening to customers and really about—look, we've been out in the enterprise, and how we really are able to deliver solutions and things for its customers is basing them on what they're looking for. And that there is based on experience, and listening, and learning our customers. Where are we misunderstood in other areas like that, I think it’s—what I would want to make sure that if somebody listening to this podcast and they're saying, “Look, why would I trust Microsoft?” Or, “Why would I want to go learn more about something of us?” Or, “What do I misunderstand?” Is we're a developer-first company. And I've worked at other companies, but we're not founded in retail, social networking, digital advertising, any of those, and founding moments for companies matter.
And don't be confused about this, we were founded with two nerds that were basically building tools for developers. BASIC for the Altair: it was Bill and Paul. It was the very first thing that we were doing as a company. That's our founding moment. And what was the first thing that they did after they got done? They went off to the Homebrew Computing Club and went off to go share what they built. They did it at an event. They did it about trying to share something that they truly believed in and were excited about, and wanted to share it with other developers.
And if you look at us at Microsoft, and you're wondering what makes us tick, it's that founding moment. And I think what I love about the Microsoft that I came and returned to is we care about developers because we are, too. And because of that moment, understand us that when we are trying to ship products, we're iterating like you. We’re trying to make it better. And frankly, we get really excited about the work that we're doing. And maybe we can do a better job of, kind of, giving more context, but you ask anyone from Microsoft, “Why does this work?” Or, “How can I make this work in my environment?” We are hungry for the business. We're here to hustle, and we're here to learn from you. And that, combined with our founding moments is really what drives us.
Corey: One other thing that really is, I guess, challenging for me, again, not being steeped in the ecosystem, is I took a look at the things that were announced, and it turns out there's kind of a lot. What are the highlights? Some of these things are very clearly aimed at, if you're using this product, and using it with this other product, it is very clearly a win for you, but the rest of us are sitting around trying to figure out if those are real products or things that got made up. I have it on good authority that something called Dynamics 365 does exist. And there's this whole Power thing, as well, that is not made up just to troll me, but is in fact viable business in their own right. But looking at this from the outside in, what are the interesting key takeaways? What are the easy on-ramps and what are the notable changes that were announced?
Jeff: Great question. Okay. Let me think through a couple things. We have some amazing big announcements over at Azure. You read the blog posts, you walk that through, but let me give you a couple things that I think people should pay attention to, where I think there's opportunity. Number one, you made some comments about Teams. But if you're looking at building something in your company, and so forth, or maybe even building, kind of like, the next thing, or doing a startup, go look at Teams. Now, Teams is not Zoom, and it's not Slack. It does those things there.
It's a platform. And it's a platform that is real, that you can go build on. You can write Node to go be part of Teams, and it is an overall platform. And I would say Microsoft Teams is probably the single largest developer opportunity that's new. On the planet right now, period. And I use Slack, and I've used all the different products over the years, but there's something very unique right around with Teams that you have—and M365 that you cannot ignore, due to the growth of that overall product. And A lot of it's due to the unprecedented times, but I think that as people and organizations really get used to the way that probably like a lot of people who listen to this podcast work, that is going to be a platform where there's going to be opportunity. The second one is just developer productivity. VS Code that is used around the planet. We are all about how do we make it easier for you to do your work. How do we make developers write less code? How do we make it quick and easy? You know, we're showing different ways for updating, even iOS apps are built through .NET. We talked about all the different workaround code spaces, and how do we make it just easier for developers to do what they love? But there's another aspect of it is Power Apps.
Corey: Tell me more.
Jeff: Power Apps is an absolutely—it’s no-code, right? And I know there's lots of people in the valley that are talking about no-code, and it's all the new, new thing—
Corey: I'm a huge proponent of the whole no-code movement. So, please, you have piqued my interest.
Jeff: Yeah, we've been doing it for a while and we have a real project there. And it is so important. What I love about Power Apps is, one, I remember back years ago, when I was an IT admin, and you wanted to have somebody in line of business area do something, to go build an app. I think you probably gave him an SQL Server password and the SA accountant said, “Go to town,” and they built it around Excel. Power Apps—you know Excel, you can build an app. And it's going to be GDPR, it's going to be really about something that you can enable with all the controls. And your developers are not going to have to build those apps, because you're going to enable people within the business to go do that. And it goes beyond that.
Developers, it isn't just about them saying, “Hey, great, I don’t have to go build this app.” There's certain areas where our templating and different things that we enable through Azure—our portal—that are built around this, and the developers themselves should be looking at Power Apps saying, “You know what, I really don't want to write code for this. I want to spend my time writing code for something that's really going to need this. And where can I go and make it so that we can have these no-code solutions?” Because there's so many apps that need to be built around the world, that there's not enough developers for it. There never will be.
And I absolutely adore Power Apps. Think of it almost like our VBA in a good way, that connects our cloud together. Think about it, how we actually bring together really, we say, M365, but that's our productivity cloud. How do we bring things together and connect that back to Azure? And so, really, the next one is, look at Power Apps. In these times, do you really need to build custom code for every app that you're doing? No, please don’t. For the things that can and you can do some really compelling applications with it. That's Power Apps.
Next, look at all the things that we did about building the best, really, developer workstation. Go watch Hanselman’s keynote. We talked about all of the work that we're doing around Linux and really enabling all of that, from GPU to our new terminal. We want Windows to be the best darn developer box that you can have, and we want to make it so you don't spend two days setting up your dev environment. We want you to go five minutes to wow. And really, that is about developer productivity again. Those are a few things that stood out to me.
And they're just areas that we're more even personally of things that I can go use, because I don't just run an awesome advocacy team. I run a service engineering team. I've been really living the move to the cloud, like anybody. I've got legacy systems that I'm bringing online and hundreds of engineers that build services for Azure, as well. And I lead a dev team, too, so I'm looking at these not just as somebody at Microsoft to share to the developer community, but as a leader of a developer teams as well, too.
Corey: So, I've been fairly public about my love of the whole no-code world. I write a sarcastic newsletter every week that people really should be subscribed to and if they're not it's called Last Week in AWS. Slap a dot com on the end, and there you are. But the way I do this is with a bunch of lambda functions, specifically at last count, 27 of them behind four API gateways. And tying this all together with scripts was not workable. So, I don't know how front-end works. I'm terrible at it, and I get more confused when I end than where I start. But I found something called Retool that got me pretty far down that path, where it just hits API endpoints.
And it's drag-and-drop for a web interface for internal apps, which was effectively life-changing for my perspective of these things. It feels, to be blunt, like Visual Basic for Web Apps, which was exactly what I needed, and is the fun cherry on top. I did a little digging into oh, what am I talking to when I connect to this website? It all runs on top of Azure, which is fascinating to me. It's oh wow, I accidentally trip over an Azure customer in the wild. It was really just a glorious thing, start to finish. Later in time, I wound up bullying them into sponsoring a couple of things, and I’m just a fan of what this unlocks. Suddenly you don't need to go to cloud school, or developer school to learn how all these things work, you can have a business idea and put that together quickly and easily.
Jeff: So, let me tell you a story. And this is one of my favorite ones about Power Apps, and it’s from a while ago; there's great video out there. And there's a fellow, he was at Safelite Auto Glass. And he worked in the claims adjusting group, and so he saw what you'd see in many companies: hey, somebody has a window auto glass that needs to be fixed. They have a mobile adjuster, comes and looks at it. They fill out a PDF. I think then that was uploaded somewhere where somebody turns it into another PDF—the ongoing story of just inefficiency. And there's a fella, he was not a dev. He worked in the claims department, and he went there's got to be a better way.
And on his own he got to Power Apps, and he went, “Wait, I can use this. Literally, I can build a mobile app where my friends that are claims adjusters can literally just bring it up on the phone, and we can make it that we don't need a PDF. I can do this PDF, we can actually bring it right into the systems.” And so, he did that. And the app was used around the UK. There was a great video on YouTube around this. And guess what he did after that? He started building more apps, and really, his career totally changed. And now he is deploying these apps and building them out for the company for all of Safelite. And so, not only did he totally help change the company from how they're doing tooling and how they're automating, he was on Microsoft Learn, he was actually able to build more skills and invest himself and it's been a game-changer, both for him professionally, and in his company.
And those type of stories again, and again—I don't know how you started, but I started on a Commodore 64 and in my basement and it was that discovery approach of trying something. Did it work? Constantly pecking at it. And this story, I tell it again and again, where there is somebody that was in a department, no IT resources, that completely changed through Power Apps, and automated something in a way that would not have been possible, and did so where he was able to totally forever change his company. And there’s story and story like that again, and again, about Power Apps that it's unbelievable. If you can mess around in Excel, you can build a mobile plus web app, and you can do it in around your company. Frankly, Teams; we announced Teams, you want to build apps around Teams? Great. Go do it through Power Apps, too. And I think there is a lot there, and it is a place to pay attention to.
Corey: It'll be interesting to see how the messaging continues to evolve because from what you're saying, it sounds like this world of Power Apps is also accessible to folks who aren't already deep into the ecosystem. It sounds like a very reasonable on-ramp for folks who might be working on other platforms who are, sort of, across the map picking best-of-breed things from here and there. It feels like it's a very easy on-ramp from what you're saying. But if you look historically at things called power, it always felt on the other hand like it was one of those, oh, this is only for very Microsoft-y companies.
Jeff: No, I mean, it's for companies. We aspire—and in a lot of ways are—we want to be the platform for every developer. And that's everybody from no-code, all the way to an architect that's pulling together, to a data scientist. You should go take a look at Power BI if you're not. You're crazy if you haven't been on Power BI, they have—
Corey: Oh, I’ve looked at Power BI, that's a whole separate kettle of nonsense.
Jeff: That's actually part of Power, though, as well too. Power Apps, but that's over that power suite. And Power BI is so essential Because of how quickly you can put together dashboards together and get that data into the companies. It's all of these things combined. Don't just look at us as Azure South Lake Union, of course. It's about VMs is the canonical unit for everything. But for us, look at us as an entire platform. Sure there's Azure and there's our work around AI, but it's that combined with Teams and Microsoft 365. It's a cloud. It's a cloud on the enterprise.
And all of these pieces together, from Power BI to things that you can go do around Teams—go look at Fluent. Go look at what we talked about—data build is another example of something that's super interesting. Very sexy demos, really a modern kind of canvas that you can basically build next-generation documents that individual items are addressable from a developer. You have to look at us as Microsoft, I'd say the thing to make sure, don't be confused of, is the platform is Azure. But the platform overall is our productivity cloud.
It's that combined with Azure and what you can go do, and so you have to look at all these pieces together and don't feel like you got to learn it all. Go pick up a small little bit, go on Microsoft Learn and hey, deploy a VM. Once you go do that through command-line and go do that on Azure for free and go, oh, wow, you can deploy Linux VMs yeah, it's real. We do that. We do so much more than that. And I think you want to look at us as a company holistically, that is this entire set of clouds, it’s from productivity to our Software as a Service like to what we go build there.
Corey: I would also just like to point out as well that when you say, oh, go ahead and deploy a VM on Azure and do it for free. This is real free, not pretend free, where surprise! Here's a $700 bill you weren’t expecting. It is a legitimate gateway between a free account and a chargeable account. There are no billing surprises here.
Jeff: Microsoft Learn; no credit card required. Get started, and you'll be deploying VMs. We have a sandbox environment that you're able to do. We're not going to email you afterwards and do a sales call and say hey, thank you for signing up for this. Can I get you to buy X Y and Z? No, it’s about learning and you can go do that for free.
Now, if you get further along—and it's much further along—in modules, and certain things like that, you may set up a trial account and so forth, but we want to get you started. We don't think you should have to pay to go and learn our platform. And we want to make that as easy as possible. And that's what my team does every day. How do we go help the community? And how do we help arm them with great technical content, and a service that really makes that easy for them to get started? We're just here to help.
Corey: That I think is the probably best way to wind up wrapping this episode up. It really is a brand new Microsoft. I know I've said that before in previous years with other guests from Microsoft and various aspects, but you've successfully been able to navigate from a company that everyone—including me—hated more or less to one of the most admired companies out there. And the folks that are very anti-Microsoft these days are, in some ways, living in the past for a lot of the reasons that they are. The fact there's now a Linux kernel built into Windows—an actual full-on Linux kernel—means that it finally took Microsoft of all frickin’ people to bring the year of the Linux desktop here, and that year is apparently 2020. So, now people are going to learn a second joke that's going to be challenging for some of them. And I understand wanting to live in the past, but it really is a whole new ballgame, and it's one of the best transformation stories out there. This is going to be a case study in Business School for the next hundred years.
Jeff: You know, we're not your grandparent’s Microsoft. But somebody on my team said the following—they were at Build—“Today I moderated Microsoft dev conference, Build. I was on Twitch. We're an app using [unintelligible] for the front end, and Node.js on Azure Functions was demoed. We connected it to Kubernetes, and running a kubelet written in rust-lang that was compiled Wasm.” This is why I wanted to work here. Welcome to the new Microsoft. That's the company who we are. We're a company that loves developers. And thank you for having me on the show. I really appreciate it. And folks, we’re hungry for your business. We want to help. Come give us a try, and we'll be here to help you. Thank you so much Corey, for having me. And I hope people were able to stay listening and learn something.
Corey: Oh, yeah. And careful what you wish for. I will be trying to do my typical experiment of live-tweeting spinning up a VM on top of Azure. It's been a year or so since I did it. And if it works, well, great, that gets tweeted. If it goes poorly, that gets tweeted, too, and we all learn something from it. So, good luck, we'll see how it goes.
Jeff: Thank you for having us.
Corey: Thank you.
Jeff: And thanks for joining us at Build. It was a wonderful week.
Corey: It really was.
Jeff: We're really proud of the work that we did. But the last thing I'd say is Build’s still going on. As Build finished, I talked about—what eight weeks ago—we decided to build the event. Five weeks ago, we were like, you know what? When this thing's over, people aren't going to want to go home. People are going to want to be able to—well, they are at home but they're going to want to make sure they connect with the community and we tried something new. We've launched a called Learn TV; Microsoft.com/learn/tv, and our advocates, as the credits rolled for Build, we're still online. We went live with, kind of, a fun thing. We're doing live programming on-demand, Q&A, and the show must go on. And so, it's like our own little TV channel. And we're learning there as well, too. So, make sure you join us over there, and maybe one of these days we'll have you on as a guest as well.
Corey: Uh-oh, I think that's one of those things that would cause minor heart attacks through at least a decent portion of the organization.
Jeff: I don’t think so. I think we'd love to have you and we'll have you on someday, for sure.
Corey: All right. Thanks once again for taking the time to speak with me. Jeff Sandquist, corporate vice president of Developer Relations at Microsoft. 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 Apple Podcasts. Whereas if you hated it, please leave a five-star review on Apple Podcasts along with a comment listing no fewer than five minutes Microsoft Power BI implementation ideas.
Announcer: This has been this week’s episode of Screaming in the Cloud. You can also find more Corey at ScreamingintheCloud.com, or wherever fine snark is sold.
This has been a HumblePod production. Stay humble.