The Query Store's Open for Biz, w/ Microsoft's Conor Cunningham
Raw Data By P3 Adaptive - Podcast autorstwa P3 Adaptive - Wtorki
Kategorie:
Conor Cunningham is a Microsoft Architect and he knows a great deal about data, storage, and everything Microsoft. He and Rob go way back and were even roommates for a couple of years during Rob's Microsoft days. There's quite a bit of history between Rob, Tom, and Conor. A history that fosters an insightful discussion and a little bit of busting chops! We discuss quite a bit including: What a Microsoft Architect does Organized storage and Data lakes Conor's celebrity status How the Query Store was almost killed, but Conor didn't give up on it Remote presentations and working remotely And so much more! Episode Timeline: 2:25 - Conor the Celebrity 4:40 - Conor The Architect, and his unusually organized kitchen 9:40 - Speaking of meticulous organization, we talk Organized Storage and the transition from row and column models to....something else 16:10 - Data Shape and Data Volume in selecting databases, and are the old dusty data warehouses being replaced 21:50 - Curves and Cliffs in warehousing, some avenues are easier and cheaper than others 25:25 - The Data lake has changed the analysis process 29:50 - Rob pushes Conor into a long-awaited breakthrough, some failed projects from their past, and how the name "SharePoint" was almost given to a different product 34:55 - Let's go back to Conor The Celebrity, some good stories from Tom's Microsoft MVP days, and how Conor had no fear of the salty MVPs 46:50 - The "Query Store" isn't a place you go to purchase queries 55:00 - Keeping up with the competition: AWS and Babelfish 1:02:00 - The (ORIGINAL) Windows Phone debacle, and Windows Media PCs 1:06:20 - Doing presentations in the COVID-19 era and the future of the remote workplace at Microsoft 1:14:30 - Redmond's new buildings, and getting caught in the infinite loop that was the old Redmond facility design Episode Transcript: Rob Collie (00:00:00): Welcome friends to another episode of Raw Data. Today's guest is Conor Cunningham, thee Conor Cunningham. Some people in the SQL community simply refer to him as Conor. Conor is an architect at Microsoft on the Data Platform that spans a lot of ground as you'll see a during the podcast. He's long been involved with SQL server. He's up to his eyeballs in everything Azure-related that's not why I know him. Conor and I met as friends at Microsoft when we were both youngsters, we had both just shown up out there and we actually ended up, the two of us plus two other guys we ended up renting a house together for like a year and a half. It was a very interesting time in our lives. So as you might expect, this conversation is a blend of the personal and the professional. I think you'd expect nothing less of us at this point. Rob Collie (00:00:50): We talk a lot about some of my favorite topics, things like the evolution of storage from purely rectangular to curly and how that interacts with the worlds of data warehousing, and how it interacts with our world of analytics. We talk about presentation styles and authenticity. We talk about a lot of things. He's delightfully nerdy, and he explained to us how his SQL architecture sort of background influences the layout and the design and how he stores things in his kitchen, which was awesome. But he is a really interesting guy, a funny guy, a nice guy, really a great friend and I really enjoyed this. So let's get after it. Announcer (00:01:34): Ladies and gentlemen, may I have your attention please? Announcer (00:01:38): This is the Raw Data By P3 Podcast with your host Rob Collie and your co-host Thomas LaRock. Find out what the experts at P3 can do for your business, go to powerpivotpro.com. Raw Data By P3 is data with a human element. Rob Collie (00:01:57): Welcome to the show. Conor Cunningham, how you doing, man? Conor Cunningham (00:02:01): Pretty good, Rob. How are you today? Rob Collie (00:02:03): Oh, fantastic. You know, it's been too long. We need to invent things like this, like podcast really the podcast, the real purpose of it is it is a forcing function for talking to old friends. That's what we're doing here, maybe not 100%, but it seems to be working. Conor Cunningham (00:02:17): I like it. I like it. Rob Collie (00:02:19): Yeah. Unlike many of our guests, you and Tom already know each other. Conor Cunningham (00:02:25): Yep. Rob Collie (00:02:25): This is also usually the vehicle by which I introduced Tom to all kinds of people that you know all kinds of weirdos that he doesn't know. But today we have a weirdo that he does know. And we're all weirdos here so as you know, we're not picking on you particularly. But I think there was a moment years ago where I was talking to Tom and I said something about having lived with Conor and Scott and whatever. Anyway he goes, "Whoa, whoa, whoa, whoa, wait, wait, wait, wait, wait. Conor-Conor Cunningham? I'm like, "Yeah." And he's like, "You know Conor Cunningham?" And I'm like, "Yes, yes. I know Conor Cunningham." Tom's voice took on this like hallowed tone. I think honestly that's when Tom really decided that he liked me was that I knew Conor. Conor Cunningham (00:03:13): I'm glad I was your in. Thomas LaRock (00:03:15): No, it gave you legitimacy is what it did. Rob Collie (00:03:18): Yeah. I know him that doesn't mean that- Conor Cunningham (00:03:21): It's good enough, I guess. Rob Collie (00:03:24): ... Conor would Knight me. I thought that was hilarious because I had no idea really. I didn't know that the Conor that I knew was somehow like a celebrity in the SQL space, but it makes sense. You know, I just didn't know. Conor Cunningham (00:03:41): I've been pretty lucky that people kind of all know my name now since I have been doing keynotes for my boss, Rohan. We have this thing called the Bob and Conor Show, we do it pass every year. And so it's rare that you get known by just your name, your first name. And I guess I've been lucky in the sense that at the right time I was able to get an in front of thousands and thousands of people. And now it's just thee Conor. I don't necessarily let it get to my head it's only in a very specific community after that I'm not really worth anything, but I think within that group, they seem to like me. Rob Collie (00:04:12): Yeah. You're like Alice Cooper, you go on stage and then you're thee Conor. But when you walk off stage, you put your pants on like everybody else, one leg at a time, you know? Conor Cunningham (00:04:23): Probably. Yeah, if I were wearing pants during this pandemic. Rob Collie (00:04:25): Just to know yeah, I know. I think I'm actually wearing pajamas right now. So I don't know if that qualifies as pants, but it's a good COVID day for that. So when people ask you what you do? What's your job at Microsoft? What do you tell them these days? Conor Cunningham (00:04:39): It's a little odd, my title is architect, but that means different things to different people. And what you think it means is only maybe 10% of what my job actually is. So architect at Microsoft means different things in different parts of the company. It's maybe a little bit of a glory title, but really the way to think about it is you're a senior engineer you're respected for what you do. You often are given these amorphous problems that don't really have solutions and in that sense, it's kind of what an architect does. I'm not really drawing like class diagrams or anything about how you put software together, but I am often trying to make sure that the whole picture of what we build for SQL or any of the other data offerings that I work on works together for the customer. So that often can be different things like when GDPR came in, I had to go figure out how do you get GDPR, the European privacy rule to work across all of our products so that we didn't hopefully get sued by the EU? Conor Cunningham (00:05:39): And that's not probably a typical architect task but that's the kind of thing that would be normal for me. So I work on getting large companies to adopt our platform and to sort of solve all the issues that come up with that. Sometimes technical, sometimes training, sometimes legal, sometimes whatever. And usually it's like a joker in a deck of cards so you just be... You're throwing these weird problems and then you kind of get to go choose your own adventure and hopefully solve them. So it's a variety of different things and on any given day, I like to think of it as you don't really know what the day is going to be, but there's probably going to be a bunch of fun problems. And then you just have to kind of keep up because the pace is relentless. Rob Collie (00:06:23): Yeah. Well, I do remember that about Microsoft for sure. It's actually one of the things that I, in hindsight, I've credited with a lot of my development. I mean, really most of my development came at Microsoft really, but the pace of it, the number of decision that you're forced to make per day that are going to stick, these are decisions that are going to impact the software. And some days you're making easily mid-double digit decisions about the products. It's crazy, it's a high-pace of decisions with enormous impact, potentially enormous act anyway. And so you've really got to be on your game and it really rewires your brain in some ways that I never really anticipated. Conor Cunningham (00:07:05): You have to get in their head space to do it and so one of the challenges that I face is when I get done with work, I have to figure out how to turn the brain off in order to go back to doing normal human things like making dinner or whatever. You typically need to drive home and during the pandemic, you don't really get to leave the house, right? So you end up needing just to stop and give it five or 10 minutes to "drive home" so that you can just let yourself unwind a little bit and then become hopefully normal human Conor to be able to go watch football or whatever it is that you want to do that's for fun. Rob Collie (00:07:41): I'm envisioning you like cooking dinner and going all like Rain Man lining up all the Tater tots on the tray. Conor Cunningham (00:07:49): I will admit that I have taken every single thing out of my kitchen and organized it by function. Rob Collie (00:07:56): I mean, you've got to be able to store and retrieve those utensils now don't you? And you would not want to be inefficient about that. Conor Cunningham (00:08:06): Nope. I have too many colanders, so I got rid of some of the colanders and everything is partitioned by serving, baking, et cetera. I had so much fun doing this. It was too many years without doing it and now that I've done it, I am so happy that my kitchen is ordered. Rob Collie (00:08:24): You know it's all indexed, you know. Conor Cunningham (00:08:27): Pretty much. Rob Collie (00:08:28): Do you have failover clusters? Do you have a backup kitchen? Conor Cunningham (00:08:32): I have a second pantry. Rob Collie (00:08:34): Oh. Conor Cunningham (00:08:35): The first pantry's a little small so I have this room in my house it's not quite big enough to be a room it's like where you'd put a second fridge, I guess, but I don't. I have a wine fridge in there, but it was just big enough to kind of walk in. Originally, I tried to put like a treadmill in there but it was just too big. So I made it a second pantry and now it's like a big walk in pantry and it actually works out pretty well. Rob Collie (00:08:57): So you've got an onboard cash pantry? Conor Cunningham (00:08:59): Yeah. Rob Collie (00:09:00): And then sort of a secondary, more offsite type of... Yeah, I understand I get you. Conor Cunningham (00:09:04): Level two cash for the pantry definitely. Rob Collie (00:09:06): Mm-hmm (affirmative). Yep. It's just basic, it's pretty elementary really when you get down to it. Conor Cunningham (00:09:11): It took me a few years to figure out that was the right plan, but now that have settled on it, I'm extremely happy. Rob Collie (00:09:16): I can totally see you getting into that. We should do like an MTV Cribs type episode where you talk about your kitchen and check us out, man, over here. All right. Well, until we get the budget for that, we're just going to continue with the podcast. So when you and I first met, you were working on Jolt, the old, a DB driver for the jet engine, that powered access. And then as the years went by, and I'm sure there's some interesting things to talk about with Jet. I just don't know what they are, so we'll have to circle back. But one of the number one things I want to talk to you about is when I knew you at Microsoft, it was basically Pre-Hadoop. There's pre-Hadoop and there's post-Hadoop. And there's two different eras in our professional career when it comes to organized storage. Rob Collie (00:10:05): And actually we have talked about this on a previous podcast about how Microsoft's sort of halfway anticipated this move to semi-structured storage. In the first iteration completely I think completely got the implementation wrong, which was XML blob storage in SQL. You know, it was anticipating a trend that data wasn't going to be just rectangles anymore. It was going to be curly as a certain architect referred to it. So when you say architect I think about these old white papers that I used to read with a certain degree of ceremony you would read these because they were hallowed, you know. Then you look back years later and kind of chuckle at how off they kind of were, even though they were at the same time pretty infused with foresight. Rob Collie (00:10:55): So I would really like to talk about just in general, this transition from this rigorously Roman column model, which still obviously is very, very common and useful today. It's not gone at all, but there's all this other stuff that's happened since then. And I think you've now been dragged into that. You've been dragged out into those deep waters as well. Like you're in the middle of all that too, aren't you? Conor Cunningham (00:11:23): Yeah. I work across all of the Azure Data offerings that we have both SQL server on-premises and also our cloud offerings, including the recently released Synapse Analytics platform. And that works over data in a logical data lake and it can be whatever format you want. It could be CSV files, it could be XML files. It could be whatever, parquet and that lets you kind of query over data. Where the structure isn't necessarily forced on you by a database and its schema, it's something that you tell the database what that structure is and then have it interface with it sort of indirectly. Rob Collie (00:12:01): Yeah. So in terms of a personal journey, I kind of remember you as a SQL snob. There was a purity to the SQL and a purity to everything. When I say SQLs now let's say so lovingly, but I've never got a chance to talk to you about like that was a real expansion of the world and the fact that you're involved in all sides of it now, what was that journey like for you sort of opening up to this new stuff? Like in the beginning did it seem kind of, ah, this will never work. Conor Cunningham (00:12:34): You know, when I was younger I would probably have said that, right? That doesn't solve all the problems that you want and you guys are crazy, leave me alone. As I've gotten a little older, I've had to just really catch myself the first time someone says a new idea. I try really hard just to bite my tongue and listen for a little bit more longer because there's usually a kernel of truth in the crazy new idea. And if you let yourself sort of sit there and listen to it and stew over it for a little while you figure out what is interesting about it. So the general trend about how we've got to the scale out, no SQL, maybe not necessarily strict schema view of the world is partially based on just the explosion of the amount of data that's out there now. Conor Cunningham (00:13:23): And at some basic level you can scale up a computer to a certain size and then all of a sudden when the problem is too big for whatever the biggest computer is that you can buy, you need a different approach. And the world got to the point where that much data exists and we actually do want to process that. And once you start scaling out, then you don't necessarily need to have a bunch of really expensive computers to do that. You just need a whole bunch of computers with the right scale out algorithms. And that world gives you a lot of flexibility. It's also a little bit more complicated. The core algorithms, the area where I play to go do architect Conor stuff are the same when you get down to the bottom of it. It's just a question of how do you make sure that you have a cohesive technical solution in whatever it is you're trying to sell to the customer so that you can hopefully solve their business problem. Conor Cunningham (00:14:09): And a lot of the world that I play with these days is some combination of scale up and scale out or structured data and semi-structured data, depending on where people are focusing and figuring out how do we apply the right algorithms generically across all of those. And it's a fun problem space, but it's also a very big world. It used to be very simple inside the SQL Org. We would just go build more SQL features and life is grand. And we still do a lot of that and that's still a very valuable business for us. But it also is an area where you have to be open to go meet the data where it is because there's so much of it now, just loading it into a database can take too long. Conor Cunningham (00:14:48): So you need to think differently about how to solve problems like that and that gives you opportunities to kind of rethink well, what could you do? What is a database? Well, a database is just a thing that answers questions for you and then maybe provides you transactions and maybe does this and that. If you don't need all of those, then you can build a "database that maybe works differently" and solves problems better, cheaper, faster, whatever it is that you need to really meet customers where they are today. Rob Collie (00:15:13): Yeah. It's the volume of data is exploding, but it's not just that it's also right the shape of it isn't quite... It doesn't want to like fit into neat rows and columns quite so cleanly anymore. And if it did, it would fit into the world's most complicated ad hoc schema. Can we explore that a little bit? This problem, and this type of storage sprung up in response to basically trying to store the internet, right? Like it was like internet search engines need to index the whole internet, how do we save that? So certainly tremendous volume, check and also though the properties of an individual page or whatever, a webpage doesn't just squish down into SQL, it doesn't squish down into tables and everything. And so to the extent that we can, this might be an impossible question, but to the extent that we can, how much of it is volume and how much of it is shape that drives not the introduction of these tools like data lakes and things like that, but their usage today? Conor Cunningham (00:16:18): Yeah. It's a good question. I think that one way to look at it is even if you just had purely structured data, you would still need all this scale out stuff. We have scale out versions of traditional database engines and there's several commercial company that provide them including Microsoft and that exists. But you're right, Rob that the amount of data that is not formally structured is much, much larger than that. And therefore, if you want to go process that data, you need a different toolbox of stuff. And some of that you can build a new database engine, sometimes it's on the side or complementary. Sometimes it's just something completely different. Say I'm going to embrace that and just store random content so Cosmos DB is a new SQL store that we sell and it basically just lets you pass in JSON and you can store whatever you want, but up to a certain size. Conor Cunningham (00:17:07): And then you can try to find ways to store different kinds of content, as long as you can figure out the interface that you want to use over it to make sure that you can write code to process it however you want. And that can be HTML, that could be images, it could be whatever it is that you want, but in each of those domains, there's probably going to be more specific tools because the amount of data is big enough now that it warrants having tools that kind of go after each space separately. Rob Collie (00:17:32): It's just so fascinating. So like as I've been trying to, and I think reasonably well adapting in the way that you have, I've also had to adapt to this new world. And I did have a little bit of exposure to it when I briefly worked for Bing with their storage. Let's talk about data warehouses, one of my favorite things, my favorite straw men to set on fire from time to time. When you think about the term data warehouse, right? It's supposed to store like you can see the dust in the crates like the Indiana Jones, the end of the first Indiana Jones movie like this is where you put data so it doesn't get lost. Because your operational systems don't have a need to keep around the five years of history. Your operational systems are just really mostly concerned with the now and the recent. Rob Collie (00:18:21): And so the original name given to these things implies, just don't lose anything. It does not imply that name anyway does not imply the priesthood that evolved around it. It became this like tower of Abel type of enterprise, it doesn't even really matter what the data warehouse is used for. The data warehouse is a thing that we're going to spend careers on and decades on. And one of my sort of pet theories has been that these semi-structured storage techniques have been eating into the data warehouse space, even though they don't do what we think of a data warehouse is doing, right? Like really neatly organized, highly structured, intelligently materialized storage. Rob Collie (00:19:09): They don't do that. They don't replace that, but they absolutely replace the don't lose anything goal. Right? Like they do that, Right? And it's like a garbage disposal you just like almost like throw anything at it. It's like no, no. Yep. Got it. Got it. It's not going to be lost, not going to be lost. Part of my agenda for today is to run some of my pet theories by you and get your opinion on them. And if you disagree, if you think they're bad ideas, it's no big deal. We'll just edit them out. It's no problem. Conor Cunningham (00:19:39): It's an interesting problem. Like enterprise data warehouses have existed at the center of large companies for like the source of truth for running those businesses. And there's a trend generally that we've seen where either just because they wanted to get off of expensive enterprise data solutions and move to Hadoop, they've been able to move to a solution that's more scale out. I think that there's a chicken and egg question about is it because they wanted semi-structured data or because they just wanted to get off of the maintenance fees for a particular vendor. I suspect that the maintenance fees and the size of the data are probably driving it more strictly in my mind than just whether it's semi-structured or not. But once you go down that path, you have the option of storing hierarchical data or data that's structured differently. And that then becomes a tool that's in your quiver that you can kind of play with all the different options that you can with I want to store more data there. Conor Cunningham (00:20:34): And I still think there's a lot of structured data that's going to play in that world, but you can mix in semi-structured data, chase on payloads on the side, whatever it is that you want more easily without having to worry about, oh, how long is my backup going to take. The other nuance that's kind of interesting is in clouds today, the cost to store things that aren't being touched is generally very, very close to zero per bite. It's pretty cheap. Like we store petabytes and petabytes of data just to run one server in our public cloud. And that's just fine. It costs a fair amount of money to store things at that scale, but it's completely possible to do so. And we use it data to run our business effectively. Any big company can do that as well, even any modest size company can store tons of data cheaply compared to what it would've cost in one of these earlier solutions. Conor Cunningham (00:21:26): And I think that that's part of it is that it democratizes the ability to get at lots of data. And then you can do lots of different things. Whereas before it was so expensive that you had to structure it, you had to spend all this time. Now you can choose if you want to cook that data into a structured format or not choose it if it's not worth your time right now. Rob Collie (00:21:44): Yeah. There's a big difference between curves and cliffs and traditional enterprise data warehousing was a cliff. It's like, if you want to store anything, just write down a transaction. First, you have to read this thousand page Bible. It's like the cost of entry, even for the simplest things, is that you've really... It's all up front. And the ability to sort of scale how much you want to think about it and to be able to turn a knob rather than just flip a switch. You know it's not binary all or nothing. I think that the implementation cost even just figuring it out, what the schema should be and all of that kind of stuff, even that is part of the cost of ownership. And of course, I think you're right, like cost drives everything. So if that goes hand in hand with like reduced licensing costs like hey, sign me up. Conor Cunningham (00:22:39): Absolutely. I think that the space here for proper enterprise data warehouse design still exists. Even in the scale out world, you can benefit from Kimball type 2 dimensions and fact tables that are as narrow as you can make them and all that type of stuff, because that does reduce the time to get results in some cases. It's not required in as many cases and the ability to add scale out processing can also be another lever to go after that same problem without necessarily having to resort to the same exerting rules that you would have in order to play the data warehousing game effectively. Rob Collie (00:23:15): People ask me, what's your opinion on data warehouses? And basically I say to the extent that you already have one, they're awesome. They're the best thing in the world. They make everything easier. When I get into trouble with people when we start getting into arguments is when I say it's just not worth waiting on you build one. Analysis and actual business value can proceed and actually should proceed even if all the data that you need isn't already in the EDW. When it comes to going to work with our clients if ahead of time, if I could sort of magic wand sort of choose, I would say, hey, it would be great if this client already had everything in their enterprise data warehouse, just lower friction, we're off and running. You know I would love that. It's just never reality. It's always lagging behind the realities of the business by years really, in terms of what's been incorporated and digested, there's always so much that's not stored in there. That's relevant. Rob Collie (00:24:12): I love that we've reached the point in this profession where we can, we can hybridize, we can use data from your data warehouse if you have one, but at the same time, there's also things being pulled from elsewhere and modeled together. And it's kind of a happy place to be. Conor Cunningham (00:24:25): Yeah. I mean, just last week we released an update to our Synapse Analytics platform that lets you just throw all the data into a logical data lake and then you create some external tables on top of that and you can query it on demand. And instead of having to provision the data warehouse upfront, it charges you by the terabyte processed not any provision thing. It just goes away when you're not using it and it just costs storage and that's it. So there's going to be lots of work to make that easier and easier for people to get value out of their data with less investment to build that data warehouse upfront. Partially just because of the size you can't load it all anymore. And partially because that's where customers need help. They want time to solution for each team, not just the team that's in central IT for a large organization to have control over that data warehouse. If you want to spin up a new one and just have your own data lake on the side, that's completely possible now and it's really easy. Rob Collie (00:25:16): Oh, that's great. That's great. This is probably my last theory of this sort. The game of data warehousing, old data warehousing was in order to store it, you had to design the tables to store it. You had to put it into rectangles in order to store it. Whereas now with data lakes, you don't have to go through that process if you don't want to. You can store it in sort of non-rectangular curly format, closer to its original format. But when it's time to analyze, which is typically where our company comes in, when you're analyzing across lots of "records or entities" you're not as concerned about the ways in which those entities are structured differently. You tend to be analyzing them across dimensions that they share. It's their commonalities that are interesting. And so you end up with rectangular-powered analysis like we still get to tables. When we're building our data model, tables are still absolutely 100% the way to go even if that data's coming from a format that wasn't stored as tables. Rob Collie (00:26:23): So it's like you delay the rectangularization of the data until query time in a way because in every query is different. Every query would require you to rectangularize the data in a different way, right? And so it's kind of back to that curve versus cliff thing, right? You can kind of delay tomorrow's decisions until tomorrow when you actually know what they are rather than trying to anticipate every possible decision tomorrow in your schema that you design today. Conor Cunningham (00:26:52): Yeah. I mean there's truth to that. I think the way that most of these logical data lake things work now are sort of tied to this runtime binding of the idea of here's the format now, and this is the subset I'm going to look at. So you can definitely push that decision out. There is still a trade off between like how fast is that query or how much does it cost to run if you're going to do that every single day, maybe it makes more sense to schematize it to get that to go faster or be cheaper or whatever. But that's a trade off that you can choose if you need to, as opposed to having to do it to be able to start playing. Rob Collie (00:27:34): Right. No crystal ball delaying the work until you actually know what it is, is a tremendous advantage. And I completely agree with you. Let's say we walk up to an unstructured storage like a data lake and we start extracting things from it for analysis. There's going to be a lot of experimentation and iteration in that process. So as the project proceeds, we even refine the rectangles that we look for, right? But then after a while we dial it in and this dashboard, whatever it is that we built you're right, Conor like it's now running every day, powering business decisions and at refresh time or maybe we're using real time pass through queries or whatever, at refresh time, the performance of "rectangularizing" paying that every single time might suck. And so now that the spec for this solution is essentially stabilized. It's almost trivial I would think to define those rectangles as like a cache format that you can pull faster, you can optimize at that point rather than trying to optimize for every possible answer in the future, which is really a losing game, isn't it? Conor Cunningham (00:28:43): Yeah. We definitely see people do that at different layers of the stack. You get like results set caching for example, or indexed views, materialized views are things that you can see inside the database to help you with that as well to kind of delay, even on top of these external formats to say, you know what I'm going to pre-process it once and store it here to make the layers above easier to serve. And you can all also do that within your serving layer as well. So I think there's lots of different options to try to reduce that cost to decide when you want to make that investment to go and really schematize things and you can choose to do so or not now in a lot more cases than you used to be able to. Rob Collie (00:29:21): What a glorious world we live in. And you know what else is glorious is that Conor now you and I actually have a place where our careers meet. For the longest time like we were just both nerds working in tech at Microsoft, but like we'd come home and talk to each other because we did. There were four of us who shared a house together for like a year and a half, a very interesting year and a half. But we were never on the same page in terms of what we were working on. Now, I do remember though, you telling me that the MSI files that we used in Windows Installer that I was not allowed to call those databases. Conor Cunningham (00:29:56): Yeah. That was back in my earlier dogmatic days. You can call it whatever you want now, Rob. Rob Collie (00:30:01): Well, we all come from where you're coming from, what you're talking about. I mean, I have my own versions of that with age and experience and humbling experience, right? Is where you start to get a little bit more flexible, a little bit better about these sorts of things. Okay. So we could call an MSI file database now. Okay, here's the real test. Does Exchange run on a database, Conor? Conor Cunningham (00:30:28): Yes. Rob Collie (00:30:29): Yes. Thomas LaRock (00:30:31): The look on his face. Rob Collie (00:30:33): It was an important moment we had a breakthrough. It was a running joke where I'd run around and say, I forget it's JET Red and JET Blue, right? I forget which JET you worked on, but one of them was better than the other one. Conor Cunningham (00:30:47): You know, the worst part is that the other one is more successful than the red one that I worked on but- Rob Collie (00:30:52): Oh, bitter, bitter, bitter, bitter pill. Conor Cunningham (00:30:55): No, I don't feel so bad about that anymore. I think that it's definitely the case that blue got used in a number of different things, including the storage engine backing for Exchange. And it's used in a few other places as well across Microsoft, but it's also a very specialized engine and it has a different sweet spot. It's not a general purpose database engine that you can use to solve any problem. So SQL is a far more general thing. I've worked on the main SQL server code base now for well say a very long time and that has some flexibility to do a lot of things. And I kind of enjoy that space because it is so flexible. Rob Collie (00:31:35): Well, don't worry, Conor the single biggest failure in our personal circle that has anything to do with the Exchange Store is my project that I worked on for two and a half years, Office Designer, never saw the light of day got killed mercifully, was killed before it ever went to market. And believe it or not at one point in time, that awful, awful thing we were working on that was going to just be terrible. It was going to really, really suck. That thing was in contention to be named SharePoint, the SharePoint name was up for grabs. It was like Office knew this was a hot name and it was going to apply to either the technology that the Office web server folks were working on, or it was going to apply to the stuff that we were working on with Exchange. And it was like they were just waiting to see which one of us deserved it and they picked the right horse in that battle. Conor Cunningham (00:32:28): Yeah. SharePoint is an amazing business. They're not a normal database app. They run on top of SQL server, but they don't really follow normal rules for rows and columns the same way that a normal app would. But it's a very, very large business for Microsoft and in some sense that's proof that you can take a problem area that's not quite normal row and columns that are fully schematized and derive a lot of value for customers that way. Rob Collie (00:32:56): I remember when I was still there like the SQL org almost like regarded the SharePoint product as like an invader in a way, like a barbarian because was not... SQL was never intended originally to power something like that, but the SharePoint folks figured out how to make it work. And I remember, I don't know if this is still true, but like when you would go to Save a file like to a document library on SharePoint, there was like this ridiculous series of stored procedures that would run that would like tear that file into a million pieces and store them in individual places. And of course it took forever to say Upload a file to SharePoint because of it. And I suspect that that's kind of calmed down and things have kind of gotten more streamlined over the years, but originally it was kind of like the rogue effort in a way. Conor Cunningham (00:33:41): Yeah. It's definitely a unique application on top of SQL in the sense that it doesn't follow the normal design rules that we would use for any traditional relational database application. That doesn't mean that they can't make it work and that they're not getting value out of the layer that SQL is they can use us to do backups. They definitely run queries. They happen to work, but it's not like we use SharePoint as an example for how to build an app. That said they have a huge investment in the enterprise readiness about how they run say SharePoint Online and they are an excellent partner of ours internally to be able to go drive us to be better at making sure that all the core keep the lights on things that we have to do to run our cloud service are being stressed every single day. Both on just the metrics of delivery and also on cost. So we have that running inside of our cloud today, so SharePoint Online runs on top of SQL Azure and they do that at scale with all of the different SharePoint sites that you have on there running. And it's a huge enterprise and it's one of our big internal customers. Rob Collie (00:34:47): Let's go back to Conor the celebrity. Thomas LaRock (00:34:51): I got some stuff. Rob Collie (00:34:52): Yeah. Thomas LaRock (00:34:53): All right. Rob Collie (00:34:53): Yeah. Thomas LaRock (00:34:54): So before we get there, I'm glad Conor, you cleared up what your title really is and the reason I'm glad, because whenever I speak of you, I just tell people he's the architect. So to find out that that's your actual title, just that makes me feel better about myself like I haven't been lying all this time. So I go back to knowing Conor roughly around 2009 when I was fortunate enough to become a Microsoft MVP. And that's where I got to really meet Conor was at the MVP Summit. And for people listening that don't know what it is. An MVP is essentially an advocate for Microsoft across any of the product groups mine currently is classified as data platform. And they would bring you on campus once a year and the product teams would talk through some of the stuff that they'd be working on and they use it to collect feedback to make the products better. Thomas LaRock (00:35:47): So this is my introduction to Conor and a couple of things that you've said earlier about being the architect and all the fun things you do on the daily basis. The question I have for that, how long does it take for your decisions and your work? How long does it take for that to show up in the product? And I think the answer's different like how long did it take when you started and how long does it take now? Conor Cunningham (00:36:09): Yeah, so before I answer, there are other Conor-like people on my team, I'm not thee architect, I am an architect. Thomas LaRock (00:36:17): Fair point. Conor Cunningham (00:36:17): And I don't want to try to make it oversell who I am. There are many, many smart people on my team and I am smart because I get to work with them as much as anything else. That said the time period to build software has changed over my career and SQL server would typically ship every three years or so. And so it used to be the way that we would build software for that would be we'd sort of think or design for a year, code for a year, test for a year and then ship. And then five years later, someone would tell me if the feature sucked or not, because they would take them that much time to go and adopt it. Conor Cunningham (00:36:54): The world these days has sort of been inverted with the cloud. We now have to deliver software into the cloud every single month and we have to do that piecemeal. And by the time we get done after doing that 10 times, then the whole feature is there. And then later we ship that into SQL server. So that's the same code base for our cloud version of SQL and the on-premises version. And so the part that's interesting now is we're able to get feedback really early from customers as to whether that very first piece of small chunk of the solution works or not. And then use that to refine as we go. And that actually is really powerful for us because now I go find customers before we start the feature and if we don't have any, we don't build it. And so that's a very different engagement model and it used to be that we would kind of listen to the MVPs and we still do, but like they would kind of give us all this feedback on the two versions ago, product that we shipped and then we try to figure out what to do about that. Conor Cunningham (00:37:58): There still is a degree of strategy and how do we think about where the market's going to go, that we put into what we do and why we prioritize things. But the engagement model that we're able to do now is far, far different both because we have telemetry in our cloud on what people are using or not using. And we're able to use that to figure out, oh, my God people are failing here. Like this is airing all the time. What's to go fix that. And we can also learn what features they're using in a way that helps us turn that around and invest in the areas that'll help customers the most. So that model is very different now and I actually think it's hopefully more responsive in the sense that we have to ship software that works. And you can't just guess, and then hope that they use it. We actually have to prove that they use it before we're done or else sometimes we just go cancel a feature that's missed the mark. Thomas LaRock (00:38:45): So when I met you, Azure was really just starting and SQL Azure, which by the way SQL Azure is still remains the best name you've ever given it. But what I remember about it was the pushback, don't want to hear about don't want to talk about. And at some point I recognized Azure as basically a sandbox for you and your team to basically do some type of continuous integration, continuous deployment and to speed up the ability to get features to market. And I'm like, even if nobody uses Azure but Microsoft, Microsoft's going to create some really great stuff faster. And obviously you're only going to do it if somebody wants to buy it, but at least you have the ability and now telemetry and everything else that goes into these products to do that. And I just think it's been a great thing. Thomas LaRock (00:39:38): So back to the MVP thing is that I remember being in that room and you would walk in. I have some of my favorite Conor moments, right? Like this guy, he walks in one day, he's got two slides. The first slide says, Conor's going to talk and then the second slide just said, Conor will take questions. That's it. That's all he had and the thing is, everybody in the room is like, yeah, that sounds good. Not a problem. And then there's another one where I think he just walked in and said... You didn't even have slides. He goes, "I'm just going to talk for an hour and then I'll take some questions from you." And we were all like, "Yeah, still not a problem." Thomas LaRock (00:40:17): You weren't speaking, somebody else was speaking but you were addressing the room and your comments of "I'm not afraid of you anymore." Just still resonates just this... You can... Oh, that's it. "You can rate me wherever you want one through five. I don't care. I'm not afraid of you anymore." And it's just... So yes, Conor is a celebrity for all these reasons. Conor Cunningham (00:40:37): In fairness, one of the things that maybe the audience wouldn't know is that the MVPs, there's a bunch of really smart, passionate people that are there. And they spend a lot of their hours working on behalf of Microsoft. And then they come to this forum and not every presentation that they would be giving would be particularly good. Sometimes the people that were working on a feature may not be the best at public speaking, or maybe they just had a bad business plan and they didn't really have a good picture that understood the customer well, and then the MVP's would be very willing to let them have it essentially. So I remember I gave a talk after one such talking so that the room was very salty, right? And I get into the room and people didn't really understand that I don't take guff from people when it comes to this sort of stuff. Conor Cunningham (00:41:27): I want to get the feedback that I want from the room, but I have an agenda when I go into a room of 100 MVPs about what I want to learn and that's perhaps a little different than tell me what you think about my special flower project I've been working on, where someone is innocently coming in. So I'm usually coming into that room to play a different game than the average presenter. I also have the benefit of having been captain of the debate team in high school. And so having people try to bait me doesn't really work that well because I know most of the standard tactics and techniques. Conor Cunningham (00:42:01): And I also, I'm just playing a different game. I'm trying really hard to figure out I have to make a key decision about the architecture. I'm not even going to tell you what it is because I can't yet, but I need to get the right data points from this audience because you are all the expert customers that have all this in your head, but maybe you can't tell me right now because you're too passionate about whatever random idea you want to complain about. It's just a different type of engagement model that I was using to go into that room and pull data that I needed to make decisions. So that maybe gives a little context as to why it's different. Also, Thomas, in fairness, as I've gotten more senior, I get less and less time to prepare. So coming in with two slides saying "Yeah, I'm going to give an extemporaneous talk with no slides for an hour" is pretty much my default mode of operation at this point. And I've been told literally five minutes before going in front of an audience of 100 or 200, "Hey Conor, I know you've been working all day in London and you're jet-lagged by the way, the user group is here and you're going to speak to them." And no one ever warned me that I had to go give a talk. Conor Cunningham (00:43:03): So I would just get up and start talking and figure out how do I explain what we're doing, why our platform is interesting, what sorts of things people are finding that are challenging about it, and just I'm giving a very ad hoc presentation because literally that's all I have time to do. So I might as well use it to kind of help me refine my picture of what our customers need. And I'm constantly trying to do that so that I can hopefully make the software better when I make decisions every day. Thomas LaRock (00:43:29): So one of those times you walked in front of the room and it was still at that point of where Azure, there was a lot of pushback. And like you said, you would ask the MVPs and you get feedback on features that were already baked into the product and it was two years ago, right? And I know these people and they sat there and they would tell you none of my customers are using this. And it's like so that's a data point of two people. And this is the type of feedback you were getting. So there was a lot of pushback to Azure and at the time there were some valid concerns about it but for most people they just fear change. So Conor walks in, goes to the front of the room and he goes, "All right, you don't want to hear about the Azure. I'm not going to talk to you about Azure at all." And a handful of people in the room were like, "Oh, thank God, because I don't want to hear it." And he goes, "I'm going to spend the time today talking to you about containerized databases." And everybody in the room is like, "Yeah. Okay, sure. Let's have this." Thomas LaRock (00:44:29): So Conor proceeds to talk about the idea of a database as its own little containerized unit that can be basically picked up and moved to anywhere. And he details all of this in the talk and basically at the end of it he goes, "So what I just described to you is Azure." And for a bunch of people in the room like they were like confusion. Like, "Wait, that's it? That's what you've done here? That's what you built?" I remember sitting next to a Denny Cherry at the time and when you had detailed all that Denny and I were like, "Hell yeah, that makes way more sense right now. I wish you would've told us earlier, we'd been on board, but wow." That was just a brilliant way for you to control the conversation and lead a group of advocates to the place that you need them to be at for you. And I just thought it was brilliant, one of the best talks I've ever attended. Rob Collie (00:45:26): That does sound amazing. Microsoft has an obsession with nouns, I had to sort of slowly over time break myself of it. In fact, after a certain point in time of my career, I would start telling like new hires that were reporting to me as I was mentoring them, that they were not allowed to introduce any new nouns into the product. Not allowed to do it. It's only verbs things that we do for the user. That's what we do. Like our nouns are us just nerding out over some abstract concept, right? And so like, this is what happens, right? Like Azure, right? It's Azure, Azure, Azure, Azure, right? The default is to go out and talk about Azure rather than what it does for you. It's a very computer scientist, Microsoft disease that a lot of Microsoft especially when they're young suffer from. The prognosis is not always good for recovery and so I wasn't at that talk. I'd never heard this story before, but I love it. Just this little redirect, let's talk about what it does and then we'll put a name on it. We'll put a name on it at the end, but the name isn't the important thing. Thomas LaRock (00:46:37): So the other one that sticks with me, and this was around, I want to say 2010. I mean, I've got a lot of memories of MVP talks like Conor said some just go sideways. Rob Collie (00:46:48): This is basically a this is your life. Thomas LaRock (00:46:50): Oh, yeah. But no, so this is my impression. And this is what when I tell people that Microsoft is different now than when it used to be I mean I'm serious because I've seen a lot of it. But here's one, I think, great example and it's Query Store. So I'm sitting in this, God, I hope I'm not breaking my NDA at this point. Rob Collie (00:47:14): I don't know. Thomas LaRock (00:47:16): Okay. So I'm sitting in this talk, Conor comes in and he goes, "Hey, wouldn't it be great if we could persist performance data between a restart because that data usually gets flushed." And he wants to build this thing and store it inside of the database and he's going to call it the Query Store. And he basically asked the room, what's some of the stuff you'd want to see in there and we give him our feedback. Although I'm working for a software vendor that collects performance information. So there's some trepidation like are they about to put us out of the business? Like what's really about to happen? Conor's intent was never like oh, there are these handful of vendors out there we can just get all their business. That was never it, it was to build a better product to serve customers because everybody wants happy customers. And I remember him outlining it and I also remember how it took so long for that to make it into the product. I think it was six years, six years and this must have been like a side gig for you. You had a full-time job, but this was just something you did because you knew it was going to make things better. You would have more happy customers as a result and it probably wasn't even considered a priority for anyone in your office. Conor Cunningham (00:48:32): The Query Store was an idea that when I went back to Microsoft, I sort of developed that, refined it with the help of some of my peers and my managers at the time. And then it kept getting kind of just below the cut line of what we would go fund for one reason or another. And it was a frustrating time in that regard because I knew that this would be helpful. The reason for that is the process we have for dealing with customer support tickets is usually that customer support engineering organization will typically handle most cases when they have ones they can't handle those get escalated to the engineering team. And then people like me would look at them to go figure out, okay, here's how you answer that and figure out either how to do a hot fix or otherwise the answer to the customer's issue. Conor Cunningham (00:49:16): And then furthermore, there could be executive escalations where some big enough customer complains to some big enough person in Microsoft and then eventually things kind of roll downhill and then end up on my desk and I needed to go deal with this. And in both sets of cases, it typically boils down to if we only had X, this would just work. But the fundamental lesson there was when we first built SQL 7.O the query processor was very advanced, but there's a whole huge space of problems to solve. And eventually you realize that if you can push down some information into a store and learn from the last time you ran that same query, you can do better over time. It's a really simple concept, but in order to get to that, you had to take a system that wasn't built for that concept and add that on without breaking any of the existing customers that are running there. Conor Cunningham (00:50:07): And it took a while to get the design right. It took a while to get the perfect scale right. These days I pretty sure that no one would ever want to go back to the old days. And that includes the people who are tools under is on top of SQL, right? It's a definitely a better world and there's a lot of things that we're building now where we have learning algorithms that we're adding to the Query Store, so that we figure out how to make your app go faster or scale better without you ever doing anything. And it's a huge playground for us. It's just it took a lot longer that first time to get out because I think it got canceled three times and I had to resurrect it just out of sheer force of will. And there's reasons for that sometimes just about how Microsoft works and what it prioritizes sometimes strategically what we had to do in the industry. Conor Cunningham (00:50:56): They were all valid reasons at the time, even if I didn't always fully agree with them. I think now that we've had it out, though, people love it. It's on by default in every single SQL Azure database that you have, you can turn it on in SQL server and many customers do. So it's a huge thing that lets us make our customer's lives better, hopefully. And sometimes you have to just know up front that maybe it's the right thing to do, even when no one else will tell that to you. I'm now at the point where I'm basically only picking things like that to do whenever I get free time inside of Microsoft. Thomas LaRock (00:51:28): You're taking away a lot of nerd jobs, right? You're making SQL server better with less human intervention to do so. Fair statement? Conor Cunningham (00:51:38): I think Query Store specifically pivoted from a model where I'm going to give you a window into the inside of the engine of this car to here is an abstraction that is intended to be at the level of the database administrator or the DevOps person. And I want to make certain problems that required Conor or similar to Conor to solve to be democratized so that you don't need an expert to solve them. So yeah, definitely to the extent that that requires fewer labor dollars to be able to solve a problem, sure. But that also means you can spend your time doing more things for customers and stuff. Thomas LaRock (00:52:15): Yeah. That's why I want to ask you. So for the people that have traditionally focused on database engine and tuning and tasks, things related to deep dive diagnostics, right? So for those people, if some of this stuff, as you say is being democratized, there might be less of those things to do. Where should they be spending their time next? What should they be doing for those customers? What's the next thing for those people who really are engine only? Conor Cunningham (00:52:42): It's actually interesting because the query space is not one that I would say that they need to not know about. I would say that when you look at PaaS cloud offerings like SQL Azure, they have auto patching, auto backup, auto upgrade, auto change service tier, all that stuff goes away. So you don't necessarily need a sand person. You don't necessarily need a DBA that just does backup and restore. Those are the jobs that, that I think you probably shouldn't be focusing your time as much on that stuff. And there's still is actually a heavy value in my mind for a person who can take a database, especially if there's a company that has many of them and figure out how to tune them at scale. So one of the things that I do with very large companies that are like ISDs they have thousands of databases or hundreds of thousands of databases is we go figure out, okay, how do we take your app and tweak it so that maybe we trade off the ratios of memory to CPU, to IO, to disk, to tempDB to be to this or that. Conor Cunningham (00:53:46): How do we design your app so that it doesn't require as much money so that we can squeeze the cogs down so that you can work at internet scale overcommit people to the same resources and save money on your SQL licenses effectively. And that game is highly valuable if you have enough databases. So I think that figuring out where you have the skills to do that kind of work is still very relevant even in a world with Query Store. Granted, there's a certain class of problem that maybe will get degraded and you won't need to have to really think about as much as the Query Store gets better, but the Query Store is not getting better fast enough that that's going to be a worry for me before I retire or anyone else who's going to listen to this podcast. In the next 10, 20 years, they'll still be problems with queries and tuning and figuring out the right way to go position applications to be able to make them work well. I think Query Store will solve a category of basic common ones, but you shouldn't assume that that world is going away anytime soon. Thomas LaRock (00:54:44): So the world of tech of course, is changing very rapidly. I was wondering, so in my mind, what I think and this is very specific, I'm going to ask questions about AWS. And of course, AWS has some type of feature announcement like I don't know, a couple of dozen each day. So in my mind, I imagine Conor has some assistant somewhere inside Microsoft that gives them like a daily briefing and like an executive level summary. I mean how do you Conor, stay on top of all the changes that AWS is doing? Conor Cunningham (00:55:16): I got bad news for you, Thomas. I don't have a person that briefs me on this. There is a mail that gets sent around about the other competitive offerings that we see from big Microsoft competitors that they send around to the executives and they will call me an executive since I'm on the mail thread, but that's maybe a gross stretch of my job title. I think that the main thing that you have to go look at is which ones do you control and directly compete against? So there are things that any of our large competitors do come out with. We tend to look at them closely. We have some conversations internally and brainstorm how to react. It's only really like two or three times a year where that becomes frantic I would say. It's not that they're releasing a new database feature every day for example. It might be that they release something on their messaging queue system or their identity system or their security scanner. And I'm not the first person to need to react to those things. Conor Cunningham (00:56:08): I would say strategically, the part that is important for me is that I can meet customers where they are in terms of their design challenges and problems. And sometimes that means that they're on a competitive cloud compared to Azure. They could still use SQL. SQL is a huge business on AWS, but ultimately figuring out like how do we help them solve their problem is both a relationship discussion like a trust question of, can you give trusted advice to a customer as well as a technical solution piece? And we can do one without the other and we have, and we love being able to work with any customer that has a fun problem. And helping them solve those problems is really what we do independent of that. So I think we just kind of read up on them as we go through and some days I miss a few, but otherwise I put it on my to-do list each day to read about. Thomas LaRock (00:56:54): So I'll be pointed because I'm imagining this might be a hectic time because re:Invent is happening. re:Invent is happening for three weeks this year, which is a ridiculous thing, but that's a topic for a different day. Have you familiarized yourself with BabelFish yet? Conor Cunningham (00:57:12): Yes. I know what it is and I have a pretty good idea who built it. Thomas LaRock (00:57:17): Because to me, that's enabling customers to migrate data to the cloud, which is the ultimate goal. They're removing more barriers for the data to get there so I would love your thoughts. Conor Cunningham (00:57:28): So I'll just caution that I have not tried to play with it technically myself. Thomas LaRock (00:57:32): That's fine. Conor Cunningham (00:57:33): However, if you build a thing that sort of tries to fake the SQL server interface and have a different database engine underneath the covers, which is what that technology tries to do. I mean, obviously that would be in Amazon's interest, but at the same time, there are lots of technical differences across the various database engines. And it's likely that you're going to hit various challenges with that approach in the limit. It might work for a lot of the basic cases, just great. But as soon as you take a real application, I'd be very curious to know, does it always translate. Typically, when an application vendor tries to translate their software from any relational system that's of any age to SQL, when we talk to them, there's lots of challenges there because there's little nuanced differences that really matter, and they're not easy to fake, right? Conor Cunningham (00:58:26): So you have to figure out, okay, well do the data types lineup? Well, that's not even true across a lot of them just to start with, right? Forget the semantics of a query, or how does the procedure language work or what's the exception behavior. So I think that it's obviously a very aggressive, interesting technology, kudos to them for trying to do it. I would be curious to see does it work for any real mature app? Rob Collie (00:58:49): An example of what you're just saying there, Conor I think is I was still working on Office, I was in the Office Org when we went to the XML-based zipped file formats, which we now take for granted XLSX and DOCX and all of that kind of stuff. And there was a concern from the highest levels of Microsoft let's say it that way, that publishing the file format, making it open was going to enable the copycat Office Suites to steal our lunch money. And you know, it was really, it was coming from like the C-suite that opinion and that fear. And Chris Pratley, who worked on Word at the time, still at Microsoft, Chris Pratley had a different opinion. And I agreed with him, which was, it's not the file format. It's the behaviors. It's the behaviors of the application of PowerPoint, of Word, of Excel. Those are the hard things. Rob Collie (00:59:46): Take it a step further, we Microsoft office, the Excel team, if we were given the Excel file format and told, even as us knowing what we knew, go duplicate Excel, we would go build something that wasn't the same. It would absolutely drift quite a bit from Excel. Like it would not be compatible with Excel. Even the Excel team couldn't rebuild Excel unless you just gave us the source code, right? Then we could probably do it. Software is again, it's not the noun, right? The storage is the noun. That doesn't count until things move. It's all the behaviors, the verbs, the flows, all of that kind of stuff. That stuff is loaded with nuance and it's a trickier beast than most people expect. Conor Cunningham (01:00:33): Yeah. So there's definitely challenges there and again, I haven't tried any of it yet, so I'm not trying to go speak ill of a competitor. I'd just be curious to learn more since you asked about it. That's an area that we were talking about internally that would be definitely something that I would personally want to learn more about. Thomas LaRock (01:00:52): Before I forget, there's one thing I want to point out and that is the three of us are all Jeep owners. Rob Collie (01:01:01): I did not know that. Thomas LaRock (01:01:03): I believe Conor just bought himself a brand new red Jeep within the past year? Conor Cunningham (01:01:08): A year or so ago I bought a red Jeep, yeah. And one of the new Wranglers and I've been very happy with it. My daughter is also very happy with it and we have fun driving it. I got a GOBI rack on top of it. And it's quite nice looking. Thomas LaRock (01:01:23): Oh, if you have a Jeep you have to accessorize. That's just the rule. Conor Cunningham (01:01:26): I want to do more but with the pandemic and everything I've just been kind of waiting. I want to put a winch on it. I don't need a winch, but it just seems cool to have one. Thomas LaRock (01:01:34): Exactly. Conor Cunningham (01:01:35): Right. No, but I really wish I had reached this level of Nirvana in car ownership far, far earlier in life than I have, but definitely I've been enjoying my jeep. Rob Collie (01:01:44): It's like the people that get really excited about their gaming computers and they're like blinging it out with neon and stuff like that same, whatever that itch is, Oh, look at that. Yeah. See, so you already had this itch you know. Conor Cunningham (01:01:59): I also had that itch. Yes. Rob Collie (01:02:01): Yeah. We told some very flattering Conor stories. Let's tell some others. Thomas LaRock (01:02:07): All right. I don't think I have any. Rob Collie (01:02:08): Oh, I know because you didn't live with him, right? I lived with him when he was still wearing diapers, you know? I mean he was a baby and so as I. This one actually, isn't a story about Conor really it's just about sort of like nerdom in general and how it can kind of overflow its banks. So I came home from work one day and I walked in the front door and I turned to my right and I looked into Scott's room and Scott and Conor were both in there and it looked like some sort of like tech bomb had gone off. The computers all had their covers off. There were wires strewn everywhere. I mean, there were cards laying here, cards laying there and they both looked like they'd been at this for a while like they were exhausted. And I was like, "Guys, what is going on? Now, keep in mind this was like probably like 1998. And I go, "What is going on here?" And without any hint of irony or humor, I forget who it was, one of them turned to me and said, "Well, we bought the new Windows phone." Rob Collie (01:03:21): And this was a phone, a landline phone that was meant to like give you like additional voicemail inboxes and you could have different outgoing voicemails for each person calling you and all of that. And I was just looking at them and at that moment, my Grinch heart grew three sizes that day. Like I actually, I developed as a human being in that moment standing in that hallway. I just started laughing my ass off. And I'm like 100 years of dial tone and here comes Microsoft. I'm like, "Well, what's wrong?" They're like, "Well, we can't get a dial tone." And I started laughing even harder and I start to sort of like non-ironically asking them all the questions like, "Well, have you rebooted? Have you installed the new drivers?" Rob Collie (01:04:10): It's like, we should not be allowed under like penalty of death as digital engineers to F up something so fundamental. If you're going to get into that game, if you're going to get into that game, you have to do it with a consumer mindset. And this was Microsoft is just typically not that thing you know, it's just hilarious. And I think you guys eventually got it working, but it took hours. Conor Cunningham (01:04:37): Yeah. It's amazing that Microsoft is not a cell phone provider today, right? Rob Collie (01:04:42): Oh, yeah. So shocking. Conor Cunningham (01:04:44): It definitely was a nerdy piece of tech from old Microsoft back in the old days before we really changed how we do development. I had completely forgotten that we had that and this story I had purged from my mind, but I chuckle inside. Rob Collie (01:05:01): Burned in my brain, right? And after that, it kind of became like a way that I could sort of like sort people. When I would be talking to someone in a meeting, you know, we'd be debating like whether something would be good for users or not or whatever. Again, this is like me after I'd grown a bit, I'd asked him, "Do you have a Windows Media Center PC at home?" And if they said yes, then I could decide to not trust them with regard to users or human beings ever again. Like they were willing to bring this complicated thing into their TV appliance supply chain. Conor Cunningham (01:05:36): I admit that I have tried to do this and failed on multiple occasions and I keep trying, for whatever reason. It's like I still want a media PC and then it just would fail miserably. Rob Collie (01:05:46): I can't help it. I've got the itch. But you know, this is Microsoft strength, right? Like Apple could never build Excel. They tried. Their Numbers app was a piece of crap you know. They could never build SQL server. They could never build Power BI, but they build amazing consumer tech. They really do. Conor Cunningham (01:06:08): Well, they're a hardware company, not a software company. Rob Collie (01:06:11): Yeah. I mean, you know, if Steve were here, he'd probably say they were like a lifestyle or experiences company even, right? Like very different emotional tone behind that. You mentioned that you've sort of like running out of time to do presentations. And that's one of the reasons why it's sort of like is driven you in almost like into a more authentic direction. If you don't have time to prep, you certainly don't have time to like put lipstick on the pig or whatever, right? Like you're just going to go in and be yourself. I sort of sympathize with half of it and then like the other half is the opposite. I can't help, but be working on a presentation. And my presentations aren't bullet points, they're all animated stories. They're all stick figure animations that tell stories and things, but I can't help but be messing with that stuff even like five minutes before going on stage. Rob Collie (01:06:58): So one thing that you and I have in common, Conor is that when someone asks me in advance for my slide deck, that person is going to be very disappointed when they ask me. And they'd be very disappointed when they ask you, there is no such thing, right? It doesn't exist. But I don't work on those slides or the presentation or the demo or any of that until I get on the plane to go to the conference. That's the rule. That's what the airplane is for, that's what the hotel is for. So I do, I put it off, right? Because I don't have time. There's no way that I would end up prioritizing the presentation over the other things going on in my job until I go to the airport. But I don't go to the airport anymore. My routine, my workflow has been broken so I had this four hour webinar that would have been like a pre-conference session in the old days. I had that this week. Rob Collie (01:07:52): Now that's like the night before and I haven't done anything, you know? And then the next morning, I mean, good news is I'd already given this talk in previous years. So it didn't take much prep, but I think I would have been in real trouble because I would have woken up that morning and gone, oh, boy where was the airplane? Where was the hotel? That's my lab for this stuff. It's a different world now. Conor Cunningham (01:08:13): I had a presentation that I gave for a conference in the UK SQLBits and I had to give it virtually. And I had a lot of trouble getting motivated to get the slides done and give a presentation because I feed off of the energy in the room whenever I'm talking and I didn't get to do any of that. It was very disconcerting to try to just sit here in my office and talk to the microphone and hope that that turned out okay. Rob Collie (01:08:37): We've always at P3, we've always been a remote company and we've always done a lot of remote work for our clients because it's super efficient. We definitely prefer to start a relationship with a new client in-person, at least once. We've been deprived of that now, you know, I mean, everyone has, so in a way it's sort of like by leveling the playing field like we're actually doing even better than normal because we're built 100% always, we were always a remote company. We were remote company before it was cool, you know? So I was actually going to ask you about that. So you've actually been a remote "employee" of Microsoft HQ. Your job would traditionally 100% have been a Redmond thing. And when you moved back to Texas, you did you left Microsoft because that kind of job just, mm-hmm (negative) no, it had to be there in Redmond. Rob Collie (01:09:29): And some number of years later, they relaxed that. And it was almost kind of like it was sort of in the era of one-off, it was like a special exception that they'd have to make to do something like that. But it's becoming much, much more common even if you live in Redmond, you're not going into the office right now. Do you have any direct reports? Are you responsible for other professional human beings? Conor Cunningham (01:09:51): I actually have been building a small team here in Austin, Texas where I live. So I have two or three people now reporting to me and that's another part of my job, but I started doing that earlier this year. And part of the idea was that I wanted to travel just a little bit less and to have an excuse to travel a little bit less by investing in the career growth of some individuals here in town, and to eventually build a relationship with the university since it's a top 10 computer science school, that kind of thing. So there's a lot of things I've been trying to sort of keep my career fresh and interesting and that's what I've been up to lately. So yeah, it's another one of my 10 fun things to do each day. Rob Collie (01:10:32): Your real masterstroke in terms of not traveling as much was to engineer the Corona virus and distributed via 5G, you know. Thomas LaRock (01:10:41): That was a brilliant stroke. Yes. Rob Collie (01:10:43): I mean, it's like, look, I've got these direct reports to kind of tie me here, but just in case. Conor Cunningham (01:10:52): Yeah. I mean, it's obviously been a weird year and ironically had been working out of my house for 10, 11 plus years when I'm here. And then I was getting kind of bored of it so I got space in the Microsoft office here in town and I was all ready to go work there. I would get up in the morning and take a shower and put on pants and go. And that went on for about like four months and then everything went sideways and now I'm back here sitting in my workout clothes, not quite sure what on earth happened. Rob Collie (01:11:23): And now that team that you've hired in Austin like they could move to Guatemala. Conor Cunningham (01:11:28): Yeah. For the most part like I've seen each of the people that report to me here in town exactly one day in- person each. And that's a little bit of a weird experience I talk to them all the time. Every day we talk sometimes multiple times a day, but it is a different experience and obviously we're all having to adjust this year. It's been a very strange year. Rob Collie (01:11:48): You're interacting with your team more than I'm interacting with my kids. My kids live less than a mile away, but because they're living a normal teenage life, essentially, they're still out dating and all that other kinds of stuff. And we weren't really able to reach a consensus between me and their mom on how to handle that, so path of least resistance they just live with their mom full-time now. So yeah, the irony of having people close to you, even geographically, but you don't see them very much. It's a weird, weird, weird thing. It's even hard to watch movies now. Like you watch a movie and you see people like sitting in a conference room together you're like, "Uh, you shouldn't be doing that." It's weird. Conor Cunningham (01:12:35): All the time. Yeah. I think there's definitely going to be a before and an after for this whole thing. And it's not just about how you record sitcoms or movies. It's also going to be a lot of the cultural references and stuff will just all be different once we get done with this. Rob Collie (01:12:52): So do you think and you don't really have any special knowledge about this I think you can comment without speaking out of school, do you think Microsoft is going to remain a primarily remote company? Do you think they'll rather than ask it as a binary, how much of the remote culture do you think is going to stick around after all of this? Conor Cunningham (01:13:11): They've made some changes policy-wise and I think that remote work, or at least partial remote work will become more common. There's definitely some cultural parts that's been helpful. As a person who was the only remote employee in a meeting, they would often have this thing that happens when everyone gets excited in a meeting where they all talk over each other and they never stopped to ask if anyone on the phone has anything to say. Now with everyone being remote, everyone's had to experience whenever they've been unable to share their thoughts. And I actually think that the culture around that and forcing everyone to go through that experience will help us to be a better company when we get done, because it will change how you do meetings. It'll change how you make sure you're inclusive in meetings and making sure that you just have the right protocol for doing that to keep everyone up to speed and feeling like they're part of the team. Rob Collie (01:14:05): That's a very optimistic view, isn't it? I hope you're right. Conor Cunningham (01:14:08): I think that there's obviously going to be... Microsoft has always been a Seattle company, but there are a lot of attempts to get it to be less exclusively so. I think it will be a 10 year journey to get to a different spot and maybe some of the other tech companies are a bit more geographically distributed, the big tech companies. But I think Microsoft definitely I don't know if you've been up to Redmond recently, Rob, but the original buildings one through 10 are just a giant hole in the ground last time I was up there. Because they tore them all down and they're building another huge like Uber campus on top of that space that holds more people. And the problem is that it's just really hard to build buildings fast enough for the company to grow at the rate that it wants. Conor Cunningham (01:14:54): So I think there's actually some just geographic constraints that make it hard to put everyone in one spot. The traffic's not good, the house prices are expensive as you and I know I wasn't a huge fan of the climate in Seattle. So I think there are people that you would want to have at the company that might want to live elsewhere. And it's perfectly fine if you get the right model to be able to operate that way. It's a possibility that I think was less... I think the pandemic will help Microsoft consider that more aggressively than it would have otherwise. Rob Collie (01:15:24): I hope when they tore down those buildings like seven, eight, nine, and 10, that they were really careful to search them for people who were lost inside them before they tore them down. Because those buildings were really an afront to humanity, they kind of needed to be torn down. They probably were some sort of like combined antenna for summoning Satan or something. I'm glad to hear that those things have been put to rest. Conor Cunningham (01:15:46): Yeah. People, when you would first start at Microsoft, one of the things you would do is you'd send them to a meeting in building seven. There was no building seven and then eight, nine, 10 they were these weird, not quite diamond shapes in parts of them. And then if you follow the lines for like, okay, office numbers X through Y are this way. You could follow each of the signs and be stuck in an infinite loop forever. And so we would just send people to various meeting rooms with a particular office number that we knew that they couldn't get to by following the rules, unless they just sort of wander around randomly. And it was a good introduction to how not to design a building. Rob Collie (01:16:22): Oh, it was awful. Then they started like painting certain hallways different colors so that you'd sort of have some sense of where you were, but all it did was just make you feel like you were lost in a circus tent. And it just was like the worse. Thomas LaRock (01:16:34): Would you do this to people you like? Rob Collie (01:16:37): What's the difference? Conor Cunningham (01:16:39): Yeah. We would do this for every new hire. Rob Collie (01:16:42): Yeah. If you like him, you did it to him. If you didn't like him, you did it to him. Thomas LaRock (01:16:46): I think Conor, you once asked to meet me in building seven now that I figure. Conor Cunningham (01:16:49): Probably. Rob Collie (01:16:52): Like I said, I hope there wasn't someone still wandering around in an infinite loop sent by Conor when the wrecking ball came. Conor Cunningham (01:16:59): Yeah. I wasn't there when they tore them down so I can't say for sure, but I haven't heard of any suspicious deaths. So we're hopefully they're all okay. Rob Collie (01:17:08): Microsoft has been geographically distributing, like you know our old friend, Jamie he's in North Carolina. He now, I guess tactically works for GitHub after the acquisition, but he's been Microsoft, he never left Microsoft when he moved across the country. So yeah, it's a really an interesting new era. And one of the things that I have found, we were essentially like forced into a remote model from the very beginning, because the talent in our space, especially five years ago, you weren't going to find it in a particular location. And you weren't going to be able to get people to relocate either. So our hand was forced, but it was actually amazing because it allowed us to pull from the absolute largest possible talent pool. I think it's an advantage. I think it's a huge advantage. Rob Collie (01:17:57): Working remotely allows you to set a quality bar in a place that you can't, if you're geographically-oriented, you know. Back when we were youngsters like were leaving college okay, fine. You're expecting to move somewhere, but once you've been established somewhere, you're part of a community somewhere moving sucks. No one wants to do that. Conor Cunningham (01:18:18): It is definitely a big choice and I think that giving people flexibility to work remotely is a great thing if we can do it. I think we're lucky to be in industries that can largely be done remote and I've been- Rob Collie (01:18:32): Mm-hmm (affirmative). Very, very fortunate. Conor Cunningham (01:18:33): Yeah. Very, very thankful that this year I just have to focus on trying to make sure that team stays working and things like that so that everyone can work from home safely until we have a different circumstances on the ground. Rob Collie (01:18:45): Well, I've really, really enjoyed this. And again, a manufactured excuse to speak with an old friend. Conor, thank you so much. Conor Cunningham (01:18:53): Hey, it's been fun. Thanks for having me. Announcer (01:18:55): Thanks for listening to the Raw Data By P3 Podcast. Find out what the experts at P3 can do for your business. Go to powerpivotpro.com. Interested in becoming a guest on the show? Email Luke P [email protected]. Have a data day!