Algorithms + Data Structures = Programs - Episode 68: Special Guest Andrei Alexandrescu

Episode Date: March 11, 2022

In this episode, Bryce and Conor interview Andrei Alexandrescu.TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachWebsiteADSP: The PodcastAbout the Guest:Andrei Alexandrescu specializes in a...ll aspects of designing and implementing software systems, as well as Machine Learning applied to Natural Language Processing and Speech Recognition. He has authored three best-selling books (The D Programming Language, 2010; C++ Coding Standards, 2004; Modern C++ Design, 2001), six peer-reviewed papers, and dozens of articles in trade magazines.Show NotesDate Recorded: 2022-02-15Date Released: 2022-03-11Andrei Alexandrescu on TwitterEric Neibler ADSP EpisodesSean Parent ADSP EpisodesChandler Carruth ADSP EpisodesPatricia Aas ADSP EpisodesPacfic Northwest C++ Users’ GroupModern C++ Design by Andrei AlexandrescuD Programming LanguageC++23 chunk_by proposalD chunkByReal NetworksUniversity of WashingtonEmotional Code - Kate Gregory [ACCU Conference 2019]Impostor SyndromeIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8

Transcript
Discussion (0)
Starting point is 00:00:00 This is gold, look at that, Andre, the man, the myth, the legend, taking a stroll through the catalog of ADSP. And that's why I joined NVIDIA, and I'll tell you exactly why. I want to mooch. And I'll explain exactly what I mean by mooching. Welcome to ADSP, the podcast, episode 68, recorded on February 15th, 2022. My name is Connor, and today with my co-host Bryce, we interview Andre Alexandrescu. This is part one of a two-part interview. Perfect, perfect. two-part interview perfect perfect all right so you were saying that uh you went back and listened to a bunch of the episodes we'll cut this up so just so you know i i put some polish we cut things in and out but um what were you gonna say first of all i should let you know that uh according
Starting point is 00:00:59 to audacity i'm getting into like a high green zone and sometimes if i get too excited i'm getting into like a high green zone. And sometimes if I get too excited, I'm getting into the red zone. So maybe it's a bit loud. So I turn it just a bit quieter, if that's okay with you. Yeah, I think that's fine. I mean, I think I get into the red zone quite frequently. Ah, okay. Good, good, good. Yeah.
Starting point is 00:01:19 The odds that you're louder than Bryce are 0%. So fun story back when the C++ committee would have, um, face-to-face meetings, I became infamous for, uh, my infamous, even though I know that's got to work on your infamous, this is going great. I became infamous for, uh, how I would use my voice at the breaks to announce that it was the end of break. I would just go out and I would shout in my loudest voice, like, breaks over, get back to work. And I have been told by some people that towards the end of break, they move to the opposite side of the room. They wouldn't want to be there, yeah.
Starting point is 00:02:03 They don't want to have any damage to their eardrums. Bryce's siren song, you know? Yeah. Yeah, my voice goes pretty loud. I can tell this is going to be great. This is going to be up there and in contention with our Sean Parent episode. Hang on. Before we go any further, I got wrecked by Wordle today because, Connor, as I'm sure you know, we had the first three letters of our word arose.
Starting point is 00:02:30 We had all of them match and all of them in position. And I did not get it in two. I got it in three. Wow. Is there even another word? What did you guess? It's A-R-O-I-D or I-T, which was not a word that I knew. I was just trying things and I didn't expect it to go through.
Starting point is 00:02:53 All right. Well, everyone, the listener, you can feel bad for Bryce. Back to Andre, though, because now Bryce has interrupted our esteemed guest twice. He was telling us about his – I actually don't know where you were going to go. You were just telling us that you were listening to the past episodes. I was just saying that I was watching your past episodes with Eric Niebler, with Sean Parent. Eric Niebler and his dad, it turns out. Yep, Otto Niebler.
Starting point is 00:03:16 That was pretty awesome. And with Sean and with Patricia and Chandler and all these fine folks. And they had all these awesome, interesting stories. And I was thinking, oh, my goodness, what am I going to produce here? What possible thing of interest could I ever see on this podcast? Are you kidding? All right. Well, let's go from there.
Starting point is 00:03:38 Or have you thought, wait, am I interrupting you now? Because I'm about to intercept and be like, are you kidding? But go ahead. Say what you're going to say. You know, here's the thing um i think that the world has gotten a bit uh polarized in the sense that you either want to hear a story where you kind of like died then came back alive or there's no interest right so there's this extreme you know i don't want a story of like some sub story from a kid who grew up in communist Romania.
Starting point is 00:04:05 It's not like, you know, what's funny about communists growing up on the right, on the wrong side of the iron curtain is, you know, it wasn't, it wasn't, um, you, you were not in peril of death on a regular basis. It was just bad, like bad in a sense that, you know, you a sense that you're not having good food, but you weren't really starving to death. You didn't have many opportunities, you didn't have much freedom, but it was like they would kill you. The killing occurred in the 50s. With Stalin, the whole killing thing became a thing that was, you know, passé, right? But it became some sort of a sordid existence.
Starting point is 00:04:52 And it was, you know, my identity as an Eastern European in America is a bit, you know, what crazy refugee stories do I have to tell? Well, none. I have like, you know, I arrived in America by means of a plane. I didn't swim. I didn't go on a log or a raft, a life raft. I didn't starve almost to death and that kind of stuff. So I'm afraid that your listeners are going to be like, yeah, do I care about this guy? What stories could he possibly come up with?
Starting point is 00:05:22 Oh, I know that is false. And I mean, I know, I'm not saying that I don't believe that you came by plane and I think you came by raft. What I mean is that I know it's false that you don't have stories. I just want to get back to the idea of traveling from Romania to the US by raft. I promised the listener, I promised the listener at some point I will introduce who we're speaking to because there's like half of you might not be C++ devs. But wait, we'll let Bryce talk about his raft.
Starting point is 00:05:55 What's up? You would need to cross the Black Sea, go through like the Turkish Straits, and then you'd be in the Mediterranean. And then you've got to like go across the Mediterranean, and then you've got to like go across the Mediterranean and then you got to like go past Gibraltar and then you got to go all the way to the US. That is quite the raft journey. Yep and you know the strait in Turkey has a really funny name, do you know it? I don't know it off the top of my head now. Now, here's the thing. Bryce, I'm not sure if I'm pronouncing it right.
Starting point is 00:06:27 So you guys maybe are going to help me. Dardanelis. I mean, it sounds better than how I would pronounce it. It sounds plausible? Okay. The Dardanelis trade. Yeah, it would be a hike. It would be a hike.
Starting point is 00:06:41 By means, of course, of a raft. All right. So no raft. Only planes. No no raft only planes only planes and you know there is a there is a kind of a true part of the story which is when i arrived i literally had 300 bucks on me so i that was it but i had friends who helped me get there and who uh had the job for me and that was of course it made all difference. I didn't arrive like a homeless guy in New York trying to make it on 300 bucks. So I had friends waiting for me
Starting point is 00:07:08 and they took me to their place, great people. And we worked together. I didn't start at Papa John's. Unlike Chandler, I'm very sad to announce that I do not have a Papa John's pizza worker experience. So I started as a programmer in New York in 1998. In 1998? Yep.
Starting point is 00:07:35 I was already programming for a while, but that was my first American experience. Okay, so we're going to pause to introduce our guest. For those of you... Usually we have rough landings. We don't typically have. Rough beginnings. Although that was actually the case when we had Patricia and Chandler on. We didn't even realize that we had not introduced them.
Starting point is 00:07:57 We just started talking. Yeah, I noticed that. Chandler just started talking about his backyard barbecue. Anyway, so our guest today, Andre Alexandrescu, hopefully I pronounced that correctly. I'll send you a well. C++ devs are probably almost 100% familiar with the name. This man has a Wikipedia page.
Starting point is 00:08:14 Yeah, this man has a Wikipedia page. Actually, I'm not sure if this is most famously, but the book, Modern C++ Design, basically define a generation of template metaprogramming and started what ultimately has become, I don't know, constexpr metaprogramming. Like the journey all dates back. And here's, here's the sad thing. I haven't even read the book. That's how we could have done our research. Although I have, I have heard, even if the book, the template metaprogramming, you're not going to do much of it. The first two chapters,
Starting point is 00:08:44 I'm not sure what's in the first two chapters, but I've heard the first two chapters are timeless and you should read those no matter what. But, but so Andre was a C++ mogul. He'll tell us what he was doing before then and has worked at Facebook, went on at one point, I think actually while you were at Facebook, you were working on the D language and we'll get into this. So I'm not actually sure if you know, you're one of the four horsemen of the Pacific Northwest C++ user group. That's a term that I came up with on a past episode. Bryce, were you remarking that maybe we could hire all four of them? Don't tell people my strategy. Because we've got half of them eric niebler part of that other half and then walter bright and bartosh maluski apparently the four of you i heard this from eric when did i have
Starting point is 00:09:31 lunch with him for one of the first times it was either at a cpp con or at a committee meeting and he told me about you know how you guys used to go to the c++ user groups and then you'd go out for drinks or just meet up for coffee on the weekends. And there was this era of, you know. In 2011, I did that with the four. Maybe minus Andre, but it was in Seattle for my first supercomputing conference, the supercomputing conference, which was in Seattle that year. And I somehow became aware that there was the Northwest C++ user group meeting up there. And I went, and I think it was at someplace on Microsoft, some Microsoft campus. And afterwards, Walter, Eric, and I think Andre, and like some
Starting point is 00:10:17 other people went out to some bar somewhere and I went with them. And I was like, I'm sure, I'm sure almost none of them remember that because that was like very early in my career. That was like my, the first six months of my career when I was still a little squirt. Awesome. I wasn't there. I'd moved already. Right, right, right, right. So it was, it was, it was not the, the, the, not all four of them. It was just Walter, Eric, um, uh, wait, who's the fourth, Connor? Bartosz Maluszki. Bartosz. I don't know if Bartosz was there. No, I think he was.
Starting point is 00:10:48 I think Bartosz was the one who invited me. Brad Roberts might have been part of the meeting. Brad was an Amazon engineer, and I think he retired by now. Oh, wow. We're going to, oh, my. See, this is the thing. This is not the most polished introduction because I'm so excited because. Yeah, it's a long-winded introduction.
Starting point is 00:11:06 It's yeah it's C++ modern C++ design and then from that I think I've mentioned this on the podcast before yeah Walter Bright went and did D and then Andre I'm actually not sure how quickly you ended up joining in. 2005 I joined Walter. Yeah and then you were basically you know worked side by side with Walter did a ton of of the, you know, algorithm stuff. We mentioned that yesterday in an internal meeting when we were sort of doing introductions that the chunk by algorithm that just got into C++23, the name of that comes specifically from D. And you've worked at Facebook, you've worked at a plethora of companies, and now you're at nvidia anyways i'm gonna stop this long-winded introduction you jump i guess mean we can start at 1998 and then we can just go from there and uh yeah um well uh linear storytelling that's original um so i don't know it's um oh i think um there's been a number of, and I think this is important for anyone really, and in particular any engineer, to make a few important decisions right and sort of to was to emigrate, to immigrate to the States and turns out that was a good decision and you know It might as well be that of course I had like friends and parents there and comfortable
Starting point is 00:12:38 career already Prospect the country was getting already economically better by by the end of the 90s it was there's this fall of the communism in 1989 and there's been like a decade of turmoil turmoil but but but by like the 2000s things had started to improve so and progress like in high esteem because they would work for international companies and they would be very well paid by Romanian standards. So there was a situation. I know quite a few folks who actually chose to turn down offers from abroad and they chose to live in Romania.
Starting point is 00:13:17 So, you know, one good decision was, you know, I moved out. I moved to the States and that turned out to be a good thing. So I worked on Wall Street for a year plus, and then I moved to a startup in Atlanta, it turns out. Again, just by means of a friend's word there, and interviewing and stuff. Are you doing C++ at this point? Yeah, I was using C++ all through.
Starting point is 00:13:51 And in Atlanta, that company was called NetZip and it got acquired by Real Networks. So I'm not sure if you even know, it predates your prime. Real Networks was kind of a big deal back then in the 2000, year 2000. And it was the first company that did like audio over the internet and kind of internet radio all that nonsense and then they switched to video and I think that they became you know they're they still around but they're a minor minor player by now and you know set real networks they bought this native startup and I got shares, options actually back in the day, they were not shares. So I got options and at the time of the acquisition in January 2000 straight, my options were worth $400,000. Now you gotta figure out for somebody who like just,
Starting point is 00:14:46 you know, two years ago had $300. That was like a pretty good return on investment on the decision to move abroad, you know? So that was pretty fantastic. And of course, you know, we know what followed. So January 2000 was almost like perfectly the peak of the market in March. By March, the market started to fall.
Starting point is 00:15:07 And then, you know, essentially it all went to dust. And it's kind of funny how life organizes these things for you, because what seemed to be like the worst thing to happen turned out to have unexpected good consequences. For example, 2001 comes and essentially it's like, well, my options are worth nothing and I hate my job. It was also very political and whatever. So there's a lot of little unpleasant details about what was going on.
Starting point is 00:15:41 And it was all caused by the dire situation of the economy, right? The whole tech sector was messed up back then. But at that point, I was like, well, it looks like I don't have much to lose. All of those good $400,000 are not in the books anymore. And that was when I decided to join the graduate school. So I went for my PhD. So now you got to appreciate that most people, when they apply for a PhD, they apply to like many schools.
Starting point is 00:16:12 And there's a whole like process and everything. And I have no idea about all that. I had zero understanding of the whole process. So I did like an idiot. I called like, what is the university in my city i was in seattle so what is a good university in seattle so you know somebody tells me it tells me it's like a university of washington tells us university of washington is kind of a pretty big deal like it's a top 10 university in computer science so but i had no idea and the funny thing is the fact that i had no idea was what put me in
Starting point is 00:16:46 Because if you had any idea I would have been like they will never want me I had no chance in hell to get to you though But because I didn't know I just applied and I made it so then you know the whole The sordid story of the next eight years was how I got my PhD in that the university and a lot has happened In the meantime I wrote my second book, the Cirrus Codex Standards book, a bunch of articles, a bunch of papers, a bunch of... I got married, had a kid, so a lot of stuff happened concurrently with my PhD. And all through, starting 2005, there's this unending passion for the D language,
Starting point is 00:17:27 which I worked with Walter on for, you know, for... So 2005, that would be like, what, 16 years by now? So that's a long time. And after Facebook, I, you know, sorry, after University of Washington, I finished with my degree, which I'm very kind of, that was kind of another good decision that, you know, do you want to do a graduate degree? And for some people, it's definitely not the right decision. For me, it turned out to be. So I'm very happy to have made that one decision.
Starting point is 00:18:00 But you got to appreciate, Connor and bryce you gotta appreciate that that there may be in a regular day me and any of us would make maybe a dozen or half a dozen or two dozens wrong decisions right but the point is they're minor you know so you know you make all these mistakes and little mistakes in in life and it you know in your code not to mention in the code you bugs and all that nonsense of course i don't write bugs in my code i don't write code not not in prices but if you like these like five decisions that are right then uh a lot of things are going to be a lot better so it's important to figure out where the good decision should go, where your decision-making input should go.
Starting point is 00:18:49 So maybe buy a bad car and it's not a great car and you can pay too much for it or whatever. It's a bad decision, but maybe it's not the worst decision and it's not something that's going to have a huge impact. But whether you join a company or not, whether you are going to stay in company or not, whether you are going to go to school, stay in school or not. And all of these, you know, who do you marry and who do you have a relationship with, even what friends you keep and don't keep. These are kind of important decisions that you need to invest a lot in, you know, a lot of your mental kind of awareness into. So anyway, so straight after my PhD, I went with
Starting point is 00:19:29 Facebook where I've been. I've had a good time. I don't think I've been ever at full potential. Facebook is a face-to-face company and I was one of the very few engineers remote. So I was at maybe 70% of capacity. The whole culture was not remote at all back then. And I'm not sure what it's like right now, but back then it was like a rarity to have any employee who's remote. So it was a friction. So I had like maybe 70% of the potential. So I kind of, I've been there and it's been a good experience. It could have been better. I could have done more, but the whole circumstance with remote work was so-so.
Starting point is 00:20:14 And then I became an independent, you know, I kind of left Facebook and I became an independent consultant and I got really tired of it, which is weird. Like there are people for whom being independent and kind of just doing a training, consulting for other companies and, you know, it's good. For me, it's not. And I figured out why. And that's why I joined NVIDIA. And I'll tell you exactly why. I got sick of it because i want to mooch and i i'll explain exactly what i mean by mooching
Starting point is 00:20:53 i want to mooch what i mean is i want to mooch intellectually off of other smart people I want collaborations with folks who are you know as a consultant you you're by definition that the person who is giving right so like so we have this really difficult problem so we're gonna bring in a consultant right or our people need C++ training or they need algorithms training or they need performance time or they need performance, high-performance computing training and we're going to bring a trainer. So by definition, the trainer's or consultant's activity is solitary. So you prepare a loan and then you give, right? You share.
Starting point is 00:21:38 You output value, right? And if you don't output enough value, you're not a good trainer or consultant. But when you work within an organization with someone else, you get too much. It's bidirectional. It's input and output.
Starting point is 00:21:58 So you get to enter these collaborations with folks, many of whom can be better than you and you get to learn and share at the same time. And that's why I was very excited to join NVIDIA, because so many great people are here. I was actually surprised to see, like, even, I kind of had no idea you were at NVIDIA, like, until, like, the day before yesterday.
Starting point is 00:22:21 So it's, I'm not kidding. I knew of Bryce because Eric mentioned it. Eric was the first whom I got in touch with about NVIDIA. And it was one of those things like, wait a second, so Eric is at NVIDIA. Eric is a great guy. NVIDIA sounds like a cool company. I didn't know much about it back then.
Starting point is 00:22:42 That's, huh,'s let's do this because looking at my at my life as a as a solitary consultant what was not very exciting it you know you get blasé you get like you know i gotta kind of yet another course yeah yeah of course it's good money but it's uh just uh you don't you don't get to learn you don't get to learn, you don't get to mooch, right? So mooching is a keyword here, folks. We're going to have to put the, that's going to be the start of the episode. Why did I join NVIDIA?
Starting point is 00:23:15 To mooch. And then people are going to be confused for 15 minutes until they get to the part where the follow-up. Yeah, so it's kind of funny how this whole thing works um and uh things like um uh this need to learn have a lot to do with it and there are things that enter in in the picture like uh you know features that i think are important for for any person things like uh humility right so I think humility is overlooked nowadays as a human quality. Everybody wants to be like self, whatever,
Starting point is 00:23:50 self, what's the word? Self-confident and like self-affirming and all of these outgoing qualities. But humility, I think, is very important for a programmer. And humility, among other things, means for an engineer, is kind of having a good recognition that there are a lot of people you can learn from and a lot of things you don't know.
Starting point is 00:24:13 And figuring out what you don't know and what you want to know and how to get there is a very important part of your development as an engineer. So yeah, so humility, I think is an interesting quality that should not be overlooked. Yeah, I think isn't there, Kate Gregory gave a talk. I want to say the title of it was emotional code. But one of the if it's that's not the talk, I'll link it in the show notes. I'm pretty sure it is awesome. Yes. Yeah. And one of the points she makes in that is like, you need to be kind. Yeah. Like when you program, because, and it's not even like necessarily to your coworkers, it's to your future self.
Starting point is 00:24:53 Like, you know, in the moment you can have all the context, you understand the problem, but like take, take a step back and like, think about future you. And that sort of ties into the humility thing. Cause like, uh, if you're just, you know, oh, I know what this is doing blah blah you write it and then yeah yeah you can tell like you read code that you can tell how the person uh writing it felt and kind of what they were thinking i can i can read code and this guy had a really good time writing this code like they had fun with the language they had a good time and it shows and it it uh it's um you know it's this uh good disposition that it's uh contagious and you get like a you know oh wow that's really fun so i like it and
Starting point is 00:25:32 you get code that is like oh my god i can't believe i got this to work and i hate it and you can see that hatred in the code as well and indeed like kindness is a very good it's a very good quality for uh and a good disposition to put yourself in when you code. And by the way, Kate is the perfect person to teach that kind of stuff because she is kind. Yeah, no, definitely. So what should we, I mean, I'm definitely curious to hear more about the heydays of Niebler, Alexandrescu, Bright, and Bartosz. But I don't want to completely
Starting point is 00:26:10 commandeer. Bryce, do you before we hop to that? No, I got a thing too, but let's do your thing first. I got a thing too. I want to take this a different place. I want to confess. You drive. I want to confess something. Uh-oh, here we go. This is going to be this a different place. Okay. I want to confess. You drive, you drive. I want to confess something.
Starting point is 00:26:26 Uh-oh, here we go. This is going to be our best episode ever. I also want to ask you, and essentially by extension your audience, like, you know, all of us would, you know, I'm having an open question for, you know, everybody. How many of you have the imposter syndrome
Starting point is 00:26:45 bryce is not you guys you guys are good you're immune i definitely have it bryce and i've had this conversation bryce is from he's in nyoka and uh he does not well actually i should let bryce answer i i i i definitely think i don't one of the way reasons that like I believe this is I like talking with like Connor or some of my other friends about like their first interactions with like big figures in the C++ community um or like on the committee um made me realize how like just completely intimidated I am by people that here's the best here's the best analogy that I can give you when I worked at LSU I worked under Hartman Kaiser who's a great C++ programmer and who was very charitable and mentoring me early in my career I used to when I needed to go talk with Hartman about something,
Starting point is 00:27:46 or maybe I didn't even have something specific to talk about, but I would just go into his office, I would just barge in, and I would just go sit down in the chair in his corner. And if he was doing something, you know, I wouldn't necessarily interrupt. Sometimes I would. After about six months of working there, he pointed out to me that like, you know, you just like, you just, you don't even ask if you can come in. If the door's closed, you just bark in. Just like y'all in the place. And I'm just that way about everything. I just feel like I belong everywhere.
Starting point is 00:28:19 But Connor, Connor, you've talked in the past. Yeah. So Bryce, admittedly, is not representative. He's very special. I mean, I don't think we've ever talked about this on the podcast, but I live – I don't actually – I don't say that I suffer from imposter syndrome. I just say that I have it. Like a part of the reason that I spend so much time consuming, you know,
Starting point is 00:28:39 podcasts and lectures and CPPCon talks and other languages is because, like, I feel like I started late because I did something else early in my career and I feel like I'm playing catch up with everyone, which admittedly, I think I've caught up, but I have this perpetual, not fear, but just how even at every level, you end up being in meetings where people are talking
Starting point is 00:29:00 and assuming that you have a certain core set of knowledge that you don't. And I think part of being a senior engineer is having, feeling comfortable enough to like ask sort of not the stupid questions, but the questions that you're thinking in your head, oh, everyone else knows the answer to it. And that's something that Bryce and I've talked about that, you know, half of what Bryce does in meetings these days is, you know, sorry, can you slow down? I don't know what you're talking about. Can you please explain that? Whereas like, like that is like the difference between like certain levels of engineers is having the confidence to, I know enough that I know that this is a question that needs to be asked without being afraid that you're going to look like an idiot for pointing out that you don't have something that – it seems like people are – oh, they've assumed that I know this. Part of that is because when you're a senior
Starting point is 00:29:46 engineer, so when you're in a leadership role within a tech org, maybe just leadership role in general, it's not your job to know. I shouldn't know the answer to that because if I knew that, then that would mean that I spend a whole bunch of time focusing on that instead of focusing on the other things that I was supposed to focus on. Like the person who, you know, like there's somebody in my team who's like, it's their job to know that. And it's my job to know, to ask them. And then like, it's sort of both of our jobs for them to be able to transmit the useful, like the thing that I need to know about what they're doing or about that thing to me. Does that make sense? It does. And you know, Bryce, it seems to me like you have, you're an unusual combination of a sociable, gregarious guy and, and, you know, the introspective
Starting point is 00:30:32 guy you need to be to, in order to write code. So that's, that's pretty awesome. That, that, I think I like to think of myself as that. Yeah. That's rare. And Connor, you know, you do have a bit of like, yeah, like 0.1% of kind of imposter syndrome, but dude, you're a happy, you do have a bit of like 0.1% of imposter syndrome. But dude, you're a happy-go-lucky guy. I'm listening to what you say about your feelings and stuff. Man, you're a little kid. Let me tell you what imposter syndrome is like. Okay, so now we're going to get educated.
Starting point is 00:31:04 So I have this feeling that um and i'll be very honest here like this is like therapy man this is therapy um i have the feeling that for example i was interviewing so one of my interviews with nvidia was with bryce himself right and i was seriously considering of talking myself down during the interview I was like because everybody's like oh yeah so here's the thing so you know I put together this resume which is like like surgery man it's like you know it's like heart life heart surgery for me to write a resume because a resume must look good in the resume right and uh it's very difficult for me to um to talk about myself in these like uh overly
Starting point is 00:31:53 optimistic terms so then i was thinking like god there's this interview and it turns out that the interviews were very um friendly like you know i did not get those like hard questions nobody came to and i said you know resolve like solve p equals mp you know or whatever somebody came with the hard questions to me they're like uh actually miles nice and kind of trying to sell the company tell me what they do and that kind of stuff and i was thinking i should tell them that actually i'm not that good as they think i am from my resume because the resume is too nice you know and that kind of stuff and uh in the end like nvidia made me this offer and you know they said um oh uh we uh you interviewed for um senior research scientist but we think you're good for principal uh research scientist
Starting point is 00:32:39 i was like are you sure Are you sure you meant that? So it was very funny. In the end, I made a pact with myself. I told myself the following. I think I didn't lie during my interview. I think the resume is actually factually, the facts in there are at least like correct. There's no lie.
Starting point is 00:33:00 There's no kind of, you know, big lie in there, right? Oh my God, big lie. Why did I say these words? So there's no like ostensible lying in there so you know they had all the information in hand when they made the you know when they made the decision to make the software so I'll go with it so here I am here we are you guys but I think I think this is a huge thing on my shoulder here. And I noticed that many other folks have it. That's why I wanted to open up about it.
Starting point is 00:33:33 And maybe other folks can relate to that kind of stuff. Maybe not many care. Go ahead. I certainly feel very comfortable in tech communities, and I've never felt like I don't belong. I have, you know, the past few years I've switched into more of a leadership role at work and less of like a day to day engineering role. And I think I'm not the best programmer by a long shot. And I certainly think I feel some amount of inadequacy from that. Like I have some days where I'm like, did I do anything of value or am I just like,
Starting point is 00:34:13 am I just like an executive producer that sticks my name on things? Right. And I think like even when I was programming 100% of the time, then I've had like a different feeling of inadequacy where I would be like, I spent the past three months working on X thing. And was that really valuable? Yeah, it becomes trivial to you. You know everything about it. It becomes trivial to you.
Starting point is 00:34:36 But everybody else is actually, oh, this is kind of real heavy stuff. And it's like, no, it's trivial. I mean, I know it inside now out by now yeah and and it's like one of those i think it's especially like given you know we as software programmers are very well compensated um and you know sometimes like i think i question like are we just like very overpaid um and like i think i sort of intellectually understand how I provide value to my company. And at least on paper, provide some form of value to society. But, you know, I think that especially for people that set high goals for themselves,
Starting point is 00:35:20 you also can be really tough on yourself. And you can feel like you're not doing enough. And I think these are good questions to ask oneself as a programmer. Like, you know, am I overpaid? And sort of by definition, because it's a market economy, you're not. So by a very simple definition of supply and demand,
Starting point is 00:35:41 you may consider yourself lucky as much as like an nba player may consider or like kind of baseball i just read this thing about baseball it turns out like 90 of the the quality of a pitcher is like genetic you just can't train it it's just you're born with it or you're not and you're either a great pitcher or you know also ran you know um so you may consider yourself lucky. Have like this particular thing that people want and need. And by the way, Bryce,
Starting point is 00:36:10 that brings me to the, you know, not the second because it's actually the most important. The reason I, the first reason I joined NVIDIA was because I think NVIDIA is where the action is in computing. And I think,VIDIA is where the action is in computing. And I think we have humanity, for the lack of a more modest word, is facing these big problems. Climate and what do we do with all the plastic and energy and that kind of stuff. How do we solve these big
Starting point is 00:36:45 problems and it seems to me that ai is a big part of it and you know i'm not an expert in ai i've done some but i can't consider myself on the forefront of artificial intelligence but at least i i can provide shovels you know i can actually provide tools to people who um who work on these important problems and it's actually fascinating to witness how NVIDIA has this breadth you know from hardware oh actually we own the compiler we can introduce that feature if we need to you know which is kind of amazing because no other company most other companies are like well we have GCC and you know by the, you need to use version 9 because that's where we are right now. So I think NVIDIA is where the action is in computer science and in important problems to be solved.
Starting point is 00:37:37 Not to mention things like self-driving. That would lift a lot of issues for humankind if we solve self-driving to perfection. Thanks for listening. We hope you enjoyed and have a great day.

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