Age of Information

Bryan Tells Us About Coding Hackathon-type Projects

February 23, 2021 Vasanth Thiruvadi & Faraz Abidi Season 1 Episode 2
Age of Information
Bryan Tells Us About Coding Hackathon-type Projects
Show Notes Transcript

Bryan Wang is a software engineer working on exciting projects. Most recently, he was the first Machine Learning engineer at Bill.com which he joined after graduating from the University of California, Berkeley with a degree in mathematics. 

Linkedin: https://www.linkedin.com/in/bryan-wang-564447169/



Hi guys. And welcome to what can you tell me about software? My name is and I'm currently a graduate student at Santa Clara university studying data scientist, software and technology. And my cohost is and I spent six years as the head of software to tech startups for us. I was recently thinking, and I wanted your honest opinion. What do you think about self-taught programmers? Right. Um, so once you enter industry, uh, as a software developer, you will, you will, I've never met anyone who this hasn't been the case for have to learn technologies yourself. There's a lot of stuff. They don't teach you in school. There's a lot of new things that are constantly happening and they're going to have to learn on the job. So at some point, everyone is a self-taught programmer. Now, with that said, in order to reach a professional skill level, I honestly do need, even for prodigies that you. Need a few years practicing coding at that level. And the easiest way to do it is in school. So people who can do it outside of school, you gotta be very disciplined, but you got my respect. I think that's just in line with our guests today, who is Brian wing. He is a self-taught programmer from a really interesting background. He comes from a math background. Um, I hope to talk to him about his experiences. I guess, working at a startup that was more mature. It's like a 20 year old startup that IPO, right after he joined what it's like to join us, somebody that doesn't know how to code and then learns it on the job. And then finally, also I know that Brian works on a lot of personal projects outside of work, uh, various completion points and stages of growth. I'm interested to hear about that. So on that note, let's get started. Fried. thanks for joining us on our little podcast. I've known Brian for a very long time and I think he's an incredibly interesting person. He has a very, I think, unique journey. If I had to describe right, in a few short words, I'd say math, Wiz software engineer, extremely humble, and, Probably the best part. He's open to answering dumb questions from me and I guess really anybody. So, Brian, thank you for joining us. I think a really interesting place to start this episode would be, you know, how, how did you get new software? Like w when did you first hear about it? what got you into it? So for me, I guess the story was more like me trying to get away from software and not succeeding because my both my parents were software engineers. Like my dad still works. My mom quit. She does like nonprofit stuff now, but my dad he's been working, doing networking stuff for like 20, 30 years or whatever. So he always kind of wanted me to be an engineer and being in high school, I was like being super edgy about it. I really didn't want to be an engineer, but at the same time, I guess like a subconscious part of me didn't want to like disappoint the family too badly. So I picked math as like a major. And in college too, like I just never really was interested in doing it. And the w how I really got into it was just, I was sort of indecisive after my last year of school. Cause I was deciding between going to grad school and just doing some random stuff. I didn't really have anything lined up. And some uncle was just like, Hey do you want to do an internship@bill.com because and it was like the perfect time to do it because. Blood comment that time or the company that I worked for, they they had been around for like 10 or 11 years, but they had never done internships. I was like the first or second intern. So I was just, Brian. Was that, was that when you wrote your first line of code, you'd never written code before this internship. Oh, no I've written code before. Like, like I did try to take a CS class in in college with my friends, but I just like failed it. I was really, it was boring. And then I also took I took intro to Java and it's like AP CS, you know, with in high school, I've had coding straight. I'm not going to lie to you and be like, I'm just some kind of coding was like, I've had experience like doing it, but I, I just never really took it seriously until. Until I got the internship, I guess. And so tell me why, why did you decide to do that internship rather than just sticking around on that? Because for the longest time, I didn't really, this is something I was struggling with because I didn't really know if I wanted to do math. Full-time I liked, I liked a lot of the people I met. I liked, you know, just doing math, but it could get really lonely sometimes. And also is like just super theoretical stuff. So, I just didn't know if I wanted to commit to doing a PhD doing like the next six years of my life doing that kind of stuff. Right. So tell us about the internship. What was that like? It was, it was pretty cool. It was, it was kind of weird, like my uncle. So the way, I mean, when I answered, like, it wasn't really nepotism cause like he never told anybody that I was, you know, like related to him or anything like that. But The way that he described it was, he was kind of shielding me from the actual work. Like he basically just taught me how to code and we worked on like a little project and I pretty much just worked with him, you know? So basically other people can see how bad I was. And then after like three months, it was, it w it was at a point where people like I could code and I had done some stuff. And so, yeah. Yeah. It revealed to them that that, that is my, is my uncle. You know, I'm interested to know bill.com I think is a very, very particular type of business. Is that something that you were attracted to? I know you really only found out about it because of your uncle, but once you were in there did you feel like you were doing things, you know, was it meaningful, meaningful to you? Whatever it is you were doing there and what w what were you doing there? Yeah, it was, it was definitely meaningful. I would say that like, even to this day, I still don't know much about like the business itself, the platform which is kind of sad to say, I mean, you probably know more about it as like, you know, somebody who does accounting, but for me, I just mostly saw the software side. The problem that I was solving there was we had this really big vision like of this thing called inbox, virtual assistant. And the whole premise was to shorten the bill creation time. As fast as possible. So to give a little bit of background, bill.com is a accounting platform for small businesses, right? So you would get like invoices and stuff like that from, you know, the various people you're buying stuff from. And the, the eventual vision was that you could just like take one of these invoices, just like scan it into the computer. It would auto fill everything. You could create a bill immediately and just like pay somebody. Within a matter of like five to 10 seconds, right? I mean, obviously super ambitious goal. There's a lot of, it's not just the machine learning there. There's a lot of like UI and a lot of platform stuff that has to happen, but I was mostly focused just on the machine learning parts. So that first part where you. Take a document, you scan it into your computer. We want it to be basically be able to parse like the vendor name, invoice date, like some of the important fields on that document for you. Let me just jump in here. So you had definitely, you had never had a coding job before he hadn't done any coding internships. You taken a couple of coding classes and your first task was to work on this like next generation machine learning task for the company. Is that accurate? Yeah, it's accurate. And that's why like, And I was, I think I came into it just like so cocky. So I didn't realize it. I realized, I realized how hard of a problem it was, but yeah. I mean, pretty much like it went exactly how you probably expect. Cause I was like one of maybe like two or three people, we eventually grew the team to like maybe around 10 or 11 people when I left. But I mean, it was just like a lot of failing, you know, like I didn't of course. I barely even knew how to write, like, you know, just like Python. Like I had to learn how to write servers, like how to hook up, like the, the database, like, and a lot of the machine learning models, I'd always say like, maybe like 19 out of 20 attempts were just like complete garbage, you know? But yeah. What, what year was this? This was 2017. 27, 10, 2017. The summer after I graduated immediately after I started working. Okay. Yeah. So, yeah. So around this time, machine learning had been maturing a bit, so at least there were tutorials and things like that online, but it's not as, it's still not as accessible as it is today. So how did you approach, I mean, learning something like this given your lack of prior experience, I mean, that's amazing. Well, I mean, I, I don't think I approached it in the best of ways, but it was just like, yeah, I tried a lot of stuff that didn't work. Let's just put it that way. But definitely just like a lot of online stuff because not nobody else really had machine learning expertise. And the weird thing too was like my uncle who kind of started this whole thing off, like he left. He left right after I joined. Like, he kind of trained me for the summer, but he had some to put it in short wait. He had some like drama with somebody else in the company. And so he kind of just left and dip out on me. Yeah. So I would just say like online tutorials, like. Stuff like that one really challenging problem that I didn't know how to deal with a lot was just that we had so little data we had about 50,000 documents that we had to work with. And if you for machine learning stuff on that scale, you would want to have like millions of documents. The thing about it is that because we're a FinTech company and these are invoices, it's extremely sensitive information. So we were only allowed access to very little data and That was kind of like the main part that I was trying to struggle with because no online tutorial is going to like, assume that you have that little data. Yeah, the short answer is just like a lot of trial and error. That's how did you solve that specific problem? I don't think I solved it. Well the first thing that we did was like, and this is kind of like the regular machine learning, like workflow, I guess. Like we just built like a lot of heuristics. So we would just say stuff like, Oh, like we, first of all instead of building our own incentive system, we used a Google, the Google OCR API. So I don't know if you've heard of that, but essentially yeah, you just upload a PDF to Google and then they'll give you all the words on the page. So was the first thing that we did, we, we you know, just started a flash server. We hooked up the Google OCR stuff and we would get all these words back and they're a bounding box, like positions on the page. And then we would say stuff like, Oh, like if you see like, You know, the label invoice date, like right here, you just look like, you know, you know, a couple inches to the right or something like that and pick up the first word that you see. So it was a lot of building heuristics at first and actually took a long time. Yeah. And then afterwards we just started gravitating towards like really like simple models, I guess. Like, so instead of just having basically the breakthrough was. Not the breakthrough, but what added, maybe like four to 5% accuracy was just like, instead of hard coding, all the labels that you use you would use some kind of like word that like you would encode, like words is like numbers or something like that. And essentially you, you basically made your, your like labels, like robust like misspellings. So if somebody, so you could, your thing to detect if. You know, cause a lot of times in the OCR you get like errors instead of invoice date, if it's poorly scanned that maybe that you will turn into an ass or something like that. Yeah. So, so it was just like using some machine learning stuff to just basically make it more robust to like misspellings. And that would add maybe like three to 4% accuracy. And then beyond that, like at the very end of what, where my career was there, like, I guess we started doing like more deep learning stuff. So they were trying to build like an end to end model that could just like, do the OCR and predict like the bounding box locations. Yeah. I don't know how technical you want to get, but that was pretty much it. That was a progression of the technology. So, so just to see if I understand correctly you guys, mostly, it was built off of heuristics with some augmentation from the machine learning. Exactly. It was mostly just heuristics, no magic. Well, you know what I've heard actually quite a bit is that machine learning is kind of turning into a bit of a marketing word or a buzz word. So people say that machine learning. Yeah. That machine learning is a solution to every single problem out there, but. It's a, it's a tool in your toolkit, right? So this seems like the most kind of mature and realistic application in which machine learning, rather than, you know what, we've got a problem, doesn't matter how much data there is. Throw it in the machine learning box and we'll get an output. Yeah, exactly. It was, it's kind of the realistic thing. And, you know, at the end of the day, like that's what I have, like conflict about this whole bill.com thing. Because like, you know, when I look back on it, I'm like how much machine learning did I actually do? And, you know, it's like something that like messes with me, but at the end of the day, it was just this thing where like we did do stuff, we did make something. Even though it wasn't like super sexy now people are using it. Yeah. It's implemented like people are using it. I don't know how many active users it has right now, but it's it's a service contract that's being used. And I guess like, they want to like the people, the executives didn't really care because like you were saying, machine learning is such a buzz word. And like, so when I started, it was two years before IPO and they, they totally just pushed that machine learning. They're like, Oh, we're doing like next generation type stuff. And I think that really helped with our evaluation when we IPO. It's really fascinating. And yeah, it was just like something that people like. Cause we, we switched VPs, I think like, A year after I joined it was, this guy had been a PI, I don't know if you've heard of him, but he was just an executive. He used to be at Intuit, I think. But yeah, he basically really pushed that marketing, like thing, just telling everybody that it was like next generation. Like they really pushed that. And I think that totally helped with the IPO. So meanwhile, meanwhile, inside they had a first-year engineer. Okay. Interesting. I always hear it before these companies, like sort of FinTech companies and even like, as companies go public, they approach a lot of moonshot projects. Was your. Project really the only moonshot project that was going on at the time or where there are a lot of these projects that executive executives that decided, you know, if we really throw our, throw the darts at the board, so to speak, maybe one of these will take off. One of these will become really big and it'll be like a differentiating factor when we IPO, it will make us look better. Yeah. I would say like, ours was definitely like the moonshot ideas, if you were to like re re rank it on that scale. But I think the other like pretty ambitious one that I think they actually started. They actually made something out of it was international payments. Got it. So, yeah, it was like really sexy to be able to like pay somebody in Canada, I guess. But yeah, that was another thing. Yeah. Right. Super fascinating. And I think just to put that into context, if, if you have ever, if the listener would just go to like bill.com and you saw exactly what it is that this business was solving, it's really like two problems. So to do something with machine learning, et cetera, really high tech stuff. It, it is really a moonshot. I mean, it's like the equivalent of like You to try to go to space. That'd be it. Maybe, maybe. Yeah, I think I'm interested in, you know, that has never worked in industry as a software engineer for either of you. I think the concept of this 10 X engineer, it's like a hot topic. You see it all the time on Twitter, you know, on the different channels. People are always like, You want to hire 10 X engineers, especially when you're a startup. Because the value they provide obviously is 10 X of, of a regular coder. How, how true is that as somebody frauds, maybe you've you've led teams and Brian you've really been in the weeds of a more mature company. Yes. So how true is that? Or do people like that exist? And do you know, are they really bringing the value that's being sort of subscribed to them? So my opinion about this. So you guys from Brooklyn sanity. Sure. Yeah. Yeah. Right. So you know, this basketball player that nobody had ever heard of comes off of the bench for the Knicks and just goes on this crazy tear. He's dropping 35 points, a game. People are like, where in the world did you come from? And my big realization was that. There are probably lots of guys like this on NBA rosters who are amazing basketball players, but don't get the opportunity. Aren't put in an environment where they can drop 35 a game. They're not plays, aren't run for them. Coaching doesn't care about them. I believe that there are lots of really, really talented engineers and the job of a manager and senior engineers is to elevate them. So I don't believe that you one, person's a 10 X engineer. I believe one person is a. Team three X engineer, meaning they multiply the team by, by several factors. There will certainly be engineers who are two X better or three X better, but the 10 X engineers are because they're put in an environment where they can be 10 X engineers. What characteristics sort of meet that test internal test for you that, you know, this person could be this team, three X engineer. Do you, do you look for certain things? Yeah. Yeah, for sure. There are two kinds of heuristics that that you should look for when hiring, according to the creator of a stock order flow, Jeff Atwood, he's got a program on blog where he talks about this. He says, when you're hiring people, you should look for two things. One of them is, are they smart? And that's well known. I mean, that's what all the coding questions and the interviews are are for, but the other part is kind of get stuff done and oftentimes people can be brilliant. They can come up with crazy algorithms, but when it comes down to them, sitting down computer and typing away at something and Googling API documents and dealing with really annoying compiler errors that don't really tell you what's going on. They can't do it. I've seen it happen before. So you need someone who has both of these qualities to really be a great engineer. I w what is your experience been? Brian? Will you think you summarize it perfectly? I don't really have much to add, except for I think somebody who is a three X engineer also just has really good communication and broadcasting skills that just is underplayed. And people don't really like interview for that. Yeah. Right. What is the best? Who, so who's the best engineer you've worked with Brian. That is tough to say honestly, it's it, it depends on the situation. So like one of my best friends, John who like maybe you guys have met he works at discord and we did, like, we didn't add together. We did like we made an app for like Andrew Yang and this guy's a front end developer. And I would, I would say that he's like the best He's said best coder I've kind of worked with in terms of just like he worked for a startup. And like with him, you could get an idea off the ground and like, you know, an hour and two hours can just code fast and you could just like get to the heart of it and do something like, you know, just make a nice UI. But I think like best engineer that I've worked with, probably my uncle, honestly, He's kind of cocky about it sometimes. He's he always, like engineering is just about like, he's really good at writing the textbook. Like he's really good at like taking a really complicated system or architecture and like writing it down on paper and telling you all of the decisions that you made and the pros and cons and just modularizing everything in a really good way. And I think that's kind of like the essence of what for engineering is. Right. Yeah, but I want to hear more about this gang gang gang gang situation you got going on with John Yang. What'd you guys do? No, we just built like a social media aggregator. So it was like three tabs. Like you could look at his Twitter, his YouTube and you know, his other, so is Instagram, I think. And the reason why he built that, like he was really, he was the one who was really in tangent gang at the time. Andrew Young is running for presidency. You guys created an iOS app that. I get all the social media. Yeah, exactly. Gotcha. Okay. And then we launched it on Reddit. It was actually like pretty high profile before he lost. We had like, you know, just a couple of thousand users a day and stuff like that. And people were just like doing, I mean, just cause like it just came from the simple observation that like, you know, John was really into Andrew Yang and every single day be crawling YouTube, crawling Instagram for like new content. And so he was like, well, other people are probably doing that too. Yeah, that's pretty much, it, it wasn't, it was a short lived project. So tell me about how the team was structured for this. Oh, there wasn't a team. It was just like me and John. We just, I was back in, he was running and so yeah. What was the tech stack? Oh, the tech stack. So it was flashed on the backend. I just built like a bunch of different microservices using Docker compose. I had a polar that would essentially just pull for like Instagram, YouTube, like new updates to Andrew Yang stuff, every five or 10 minutes. We would store that in like a is cash. And then we would just, we wouldn't even like say that we just store it. Like, you know, these links in the red is cash and then yeah, we would just like serve them up. We just had like I think we had a DB for like storing your user information. And then we had just like a flask app for like just serving results to people. And then on the front end, he just, you know, he's a react programmer. So if you just build everything in the app, react native. Yeah. That was it. Yeah. I feel like you've done a lot of cool projects. But even before we get into that, you left bill.com I guess a while back. Why did you leave? What was your reasoning for that? I just felt like I wasn't, I felt like I was in a dangerous position. I think that's the way to put it. Like, because I had been with the team for so long, like a lot of people like really respected me and like kind of listened to me, but also felt like I didn't really have that much good stuff to say. Cause I was wrong. Most of them, I mean, I'm just a kid, I just graduated from school. So I didn't really want to be in that position to be honest. And also like. I think like them IPO Ang has something to do with it too, because there was a lot of reorg, a lot of things changing as well. And the third thing was, I wasn't really sure whether I wanted to keep doing industry or if I wanted to go back to school. So those, those were like the three short reasons why I left. Did you go back to school yet? Yeah. So what I did was I just started taking classes at like San Jose state. So it's like a stats class. I took like an operations research class, you know, like, so. The it's just like resource allocation type shit. And then there was a cryptography class, so I took like three random classes just to see like, which one I would like the most or if I like school. Very cool. Yeah. Yeah. So when did you start getting into these personal projects? Was that while you were at bill or afterwards, you were just like, let's build an Andrew Yang app. Let's work on this and that. So with the Andrew Yang thing, it was just like, my friend was the one, because John John's always been a person who like built his own stuff. Like he built an app that essentially scrapes like camping websites. So you can like see when somebody has on reserved a campsite and like book it really quickly. Yeah, so like he was always building just like these little side projects and he was part of a startup that was bought by discord. So there was, he was always kind of hacking and I'd never was into it. Like I was always like, we would just go climbing together and stuff and then I don't know why, but like I just decided to do the whole Andrew Yang thing with him. And I just, it was just really thrilling. Like just when you make that Reddit post and then like you just see all these people, are you looking at your analytics? And you're just seeing people using the thing that you're building. It was a weird feeling that I didn't really feel at work, I guess, because at work you see those same stats, but it's a little bit more disconnected. Cause it's fine. Yeah. So to answer your question, that that's how it started. And then now how much, how many babies have you had. I would say I've had like, maybe like three or four, but there's been a lot of miscarriages as well. Oh man. Just a lot of really weird analogy. I don't know if we should go there, but yeah, it's just a lot of bad projects. So tell us about, tell us about, but we'll get into the good ones, but tell us about I would say my only good one was the Annie app, to be honest, but that ones, I guess there's interesting ones. So like there's one that we, John bill, it was an Airbnb scraper. So the idea too is just like that he wanted to invest in the future. Like we wanted to buy a vacation home together, but we wanted to know the best location to buy one. And so that was just like, Crawling through cause there's about like a million listings in North America. So you just crawl through all the listings and see if they're booked or not. Like every single day. So we've been doing that for like half a year now, so we're still waiting on the data. And then there was one that I kind of built by myself that was pretty goofy. That took me a really long time. It was like a hands-free like you could control your Apple music using using just like voice commands. Like you'd be like stop and go. And like the songs would play or you could like skip to the next song, stuff like that. Yeah. So that, one's kind of you. Yeah. Yeah. What's your bill when you build these Are they brand new tech stacks? Are there stuff that you have experienced in, in, how do you kind of approach it from a, like a design perspective design perspective? Yeah, it's a good question. I would say like the way that I approach it is there, there needs to be a component that like I'm particularly interested in. So like for this one the component that I focused on first was the machine learning part. Which was creating like a super lightweight model that can run on your iPhone and not hog too much battery. I was pretty interested in that and I can like be constantly processing audio data. So once I had that core and I had trained that model, then it was just all about approaching how to integrate it within like, you know, a Swift application. And then with that, I, I really had no idea how to do it. I was just constantly looking up tutorials and looking like I took a lot of code from somebody who had like, you know, for example builds like his own music app using Apple music API. And I took that as a, as a shell. And then I just like, kind of stuffed my own stuff in there, the way to do it. It just find stuff on, get hub, find stuff on stock and copy and paste. That's pretty much it, it was a mismatch of a lot of different projects, I would say. Yeah. That's that's really amazing. And you know, if somebody, somebody listening is like, Oh, I want to start my own thing. Or did they have an idea or whatever, what's your maybe biggest takeaway from having done so many of these small projects or having had so many babies? It's so I think the number one thing is like, this is not original advice, but it's like, you're fighting against yourself. You're fighting against when you're going to burn out essentially. Great. The best thing you can do is actually find somebody to do it with you, right? Like if you have somebody else who can do the front end part for you or do the marketing part for you it just like, it makes the motivation so much easier when you guys are all just like feeding off each other's energy. But if you're doing it, if you're doing it by yourself, then it's essentially just a race between when you're going to finish. And when you're going to burn out. So like, you really just need to don't wait, like don't waste any time doing, like, you might be like, Oh, like, you know, I can make this part like really, really good. Like I could, I could really get lost in like building the database or like, you know, doing all that kind of stuff. But it's like, no, just like put down the simplest thing that you can put down, put down the simplest DB that you can put down. Put down the simplest like, code that you can put down and just like get a minimal viable product as soon as possible before it get those wins. That's all right. Yeah. Has that happened to you where you were in the middle of a project and you're just like, I am so over this. Yeah. So with the, with the music player thing, actually that I was just talking about, it was, it took a really long time. I think the only reason why I finished is because I had a free year and I was just like, not really doing that much, but if I didn't, I would have burned out. And there were times where I just put it down for like a month, because I was so frustrated with writing Swift code and like working with Apple products that, yeah. Pretty much burned me out. I don't know if you've got experience, but yeah, it's stuff. Yeah. What was the funnest project you've ever built? The funnest? Yeah. What's the funnest you've ever had writing code? That's tough. I mean, I think it was either will the, the, the yang app thing. It was, I guess, more like the winds. It wasn't really like that. Yeah. I would say like I was doing like Kaggle for a while and I'm starting to do it again. It's like these data science competitions. That people like company sponsor you to do random challenges. Like, so for example, the one I'm doing right now is like there's 24 different species of birds in a Bain forest, and you're given their bird calls and you're trying to like figure out which bird is which bird and that one's like SU yeah. So it's like stuff like that. Like, I really love those challenges. I think I have a lot of fun writing the code cause you're just motivated, but you're just like, you know, you're looking at that number. You're like, I want to get my accuracy up to like X percent, you know? And you're just excited to just iterate on the code. So. Yeah, that's that's for me, the, the most fun Brian, I feel like you read a lot, so I'm wondering what's the best software book you've read. The best Abra book I read. I don't know, actually, I don't read too many software books, but I would say the best one is probably the one that Fry's recommended actually like the clean code book I saw the finished. I still haven't finished all of it. But I mean, it just puts everything down. So concisely about what good coding is. And I felt like I learned a lot from that. Gotcha. Yeah. For us is just huge. A proponent of that book. He brings it up every time I talk to him always say, Hey, I don't know if you've heard about this book before, but there's this great book called clean code. Same conversation three or four, there's only like six conversations that I'm capable of having. And I, and I just repeat them in a cycle. Yeah. I didn't know that. Brian let's, let's do a few left field questions, you know, just sort of outside of the scope of what we've been talking about. Yeah, definitely. What do you think is the most important piece of software ever created? That's kinda tough. I mean, I think the simple answer, I would probably just be like windows, I think windows is the most important piece of the ever created. It just runs, it just runs most of this stuff in the world, you know? And I think, yeah, not, not a great answer, but yeah. What's your favorite algorithm? Favorite, you know, I don't, I don't know. I would say I would have to really think hard about that, but I think on the surface, Oh, I actually know what it is. It's word to VEC. So it's it's it's an algorithm that turns words into like a raise of numbers. And two arrays of numbers are close to each other. If like the words are semantically close to each other. So like, like King and queen would be close to each other, but like, but like queen and like, you know, sandwich will be far away from each other. And I think that piece of software, it was just like so innovative and it's like literally translating words into stuff that computers can understand because the computers, can you explain, like maybe at a high level, how that works. Yeah, exactly. So it actually comes from like a more on sophisticated technique word words, like just really makes it scale. But essentially the way it works is the same way that like Netflix would give you recommendations on like a very high level. What you're looking at is you're looking at different. Words and how often they appear in different sentences. Right? So the whole premise is that like, if a word appears in the same context as another word, then they're semantically similar. So like, you can imagine like you know, you could say a sentence is like the King sits on his throne, but you would also have a sentence, like the queen sits on her throne, right? Like it would appear in the same context a lot. And then we just, essentially the algorithm just kind of counts like that. It's a really bad explanation, but essentially you're just kind of counting like occurrences of words in different sentences and how often, like how similar those contexts are, and then you in that, that becomes like your array of numbers. What are some of the applications of this algorithm? I haven't heard of this before, but this is very impressive tech well, so, so yeah, I mean, so huge. Essentially like one big application. And so the, the technology has progressed far beyond, like this there's now this stuff called like Bert, like transformers, like sentence transformers, a lot of like name dropping, but essentially what you can do with these systems is like, Semantic search is what they call it. So it's kind of like, and Google uses this now, I think like in like their Google search algorithms and a lot of people are using this. But it's like, you can kind of, if you can convert like different sentences into numbers and then just sort of like match up these arrays with each other, then you can kind of like, you can kind of go beyond just keyword matching, right? Like What you can use. It kind of allows you to do like cinema matching. So it's like if I searched up on Google, like I don't know, what's a good example. Like Like I ran to the, I ran to the, to the racetrack or like, how fast can I run? Whereas it might say, how fast can I jog something like that? Yeah, exactly. Like, or how fast can I spray it or something like that. Right. Yeah. It would just allow you to do that cinema matching and like, you don't have to write any like logic using like FL statements. You can just use like the models to do it for you. Yeah. Do you know do you know GPT three, Brian? Yeah. So that's, that's a huge thing. I'm super excited about that coming out. I applied for access to it actually, but I don't have it cool for the people at home. And I don't want to act as if I don't know. Well, I don't know too much about it, but I know it's just like this really big AI model that essentially it can create a lot of it can just generate texts. You know, and make it sound very human-like. And the reason why I got excited about this was because I was thinking about some ideas and I realized that somebody had already implemented it. There's this website called copy.ai. I don't know if you guys have heard of it, but. They essentially write marketing copy for you automatically. And it's not really, like, it's not like the AI is not good enough where I can just like generate all this stuff. You can just like paste it on your site, but it's more of an iterative process. So I've actually tried out their service. The way it works is this it's like, you'll, you'll put, like, you'll put a very short description of like your product. You'll be like you know, like, let's say you're selling like a beanie or something. You're like, you know, gray beanie, like has like. XYZ logo on it. And then the machine will generate like six different iterations. Like maybe the first iteration will be like, Introducing XYZ, beanie, like, you know, the, the most comfortable winter wear, blah, blah, blah. And then the second one will be like a completely different take on it and it's not perfect. But then the idea is that you'll go in, let's say you like the first one, you'll kind of start editing it and then you can say generate more and then the AI will generate more stuff for you. It's actually pretty intelligent. We'll use it for the description for this. Yeah. I don't know how good it is, but from what I try now, it seems like decent, you know, when people say it's helpful. Very cool, Brian since you've been on sabbatical, I think will be super interesting is how have you, or what's what's the best productivity hack you've come across. How do you keep yourself sort of centered when you don't really have a fit schedule? Yeah, I, I guess I was Tom fries this a little bit like through texts, but I think it's just having like a general goal. So like at any time, at any point in time, there was like a project that I was working on. Even if I wasn't like. Super committed to it. And then every single day I would just set a timer and do like 30 to 30 minutes to like one hour of it. It's kind of like that advice of like, if you don't feel like running, just go outside and like run a block and see if you still don't feel like running. But a lot of times, if you get started, then you just start to get that motivation and you start to work and this way you're just incrementally going towards your goals. So I think that's the best productivity hack. And also just to always be doing something that you want to do. Yeah. Dope. So yeah, so GBT three, is that do you think that's using words, aback like behind the scenes or it's. I would say you could kind of say they're similar because they're all like neural network based architectures, but I have no idea what's going on in the back. Gotcha. Yeah, what's a, yeah. So I, I'm definitely gonna look up word civic. What are you, do you have any other, like, really cool pieces of tech that you wish other people knew about? Or maybe you're closely guarding? I don't, I don't know. I mean, I think like Burt, like transformers is actually huge. I played around with it before. What is that? It's kinda like a very generic, like language model that Google builds. So it can do all different things. Like you could do summarization with it. Like you could get a long article, summarize it. You can generate, you could generate texts with it. You can do text classification with it. It's very kind of, you could just take it and sort of like train it a little bit and then it'll, you can fit it to your task. So I think like what they've done is very impressive and I've definitely played around with it. I can say that it's not like fake or anything. Yeah, no, Google's Google's tech stuff is unbelievable. I was messing around with Google translate and the quality of it is spectacular. Google translate is one of the most amazing pieces of technology I've ever seen. Google's got so much of this underrated stuff, but they're there, whoever's on their language team, man. Like those guys need to be coding celebrities. They're doing crazy, crazy stuff. Yeah, definitely. And I think like recently they released, they announced that they could do real-time translation into why it's. Yeah. I don't even know, like it's some crazy stuff, like on, it's just, they're releasing it with like their new phones or something, but don't wow. Wow. So, so if that's the case and you won't even need I mean, everyone is going to be fluent in every other language, just do put on headphones and then you can say something and then the headphones will translate it. I think that's the goal, but there must be like some sort of caveat. Yeah. There has to be, there has to be Yeah. Yeah, but that is, you know, that, that is very interesting. Like when, when we think about the technologies that are getting all this press like blockchain self-driving cars, even machine learning, those maybe have entered like the marketing stratosphere, but the, I really feel like what's happening with language right now with CPT three and translation is right up there with some of the most like. Like literally, it's going to change our society works if like you can do automated automated copywriting and automated translation, which is super accurate and real time, like this should be right. Just as famous as those other things. Right. I think, I think so. I think like, so. Yeah. That's, that's one of the reasons why I'm so interested in natural language. Cause I truly think that it's going to be the next big thing. And I think that it's not the next big thing right now because like it's, so it's still at that level where it's kind of gimmicky and not that great, like. If you look at Alexa, like you can talk to Alexa to tell it to turn off your lights, but you can't like tell it to like take notes for you or it's just not like, you know, at that human level of responsiveness. And it's the same for a lot of other like technologies, like chatbots, like everybody hates chatbots right now, like lifelike. So I think like a lot of those technologies have sort of put that thought into people's head. That natural language stuff is pretty gimmicky. I think it is. But I think like we're on the cusp of it. Like not being gimmicky and being actually really useful. Right. Yeah. I was messing around with GP T3 as well. I was just typing in some stuff and And it talked like a real human. I actually saw this project that someone made. I think it was the GPP to nod should be T3, but it was this like it was like this text-based adventure. So you type it, it types in like, Hey, I, I you're entering a dungeon. What would you like to do? And you could type in anything. It didn't give you one to four choices. You could do anything could say I pick up the store. You could say I had talked to goblin. And it was very impressive. Like it, it, it actually me and my coworkers were messing around with this. And if you wanted to go to crazy town, then it would start to fall apart. You could say like, Oh, an F1 flies in and bombs the whole thing. And then it would just lose its track. But if you kind of played by the rules, it was literally like, There was a person who was kind of like your DND DM. And they were like, explaining this to you. You know? So I wonder like, are video games going to be the same after this? You know, like instead of having terrible voice actor with like canned dialogue, it's just going to, auto-generate it, you know? Yeah, that'd be awesome. I didn't even think about the application and I actually saw the game you're talking about, but I'm totally gonna do it. I'm totally gonna do it. Yeah, yeah, yeah. I, when I was on Twitter for GPT two, I think when did that get released? Like maybe a year ago now. Right? was a year ago. GBT two was like two or three years ago, maybe longer. Oh, for GPD three. Then I saw some guy in Canada have built this system where basically you could write in just regular English. Some sort of financial transaction that you'd had. So you could be like, I paid a$6,000 in rent for four months. It would automatically generate the financial statement and it would like update the financial statement real time on the right. And so you'd have a balance sheet, income statement getting updated as you write in real English, like, you know, whatever I took it, I took in revenue of like$2,500 this year. And it automatically show the revenue updated retained earnings updated, et cetera. I think, I guess like way more practical is a very practical usage for it. Bill.com guys are in trouble. So, so actually I have a followup question about this is a very interesting point. Vasanth and I have talked a lot in the past about the no-code movement. Of what the people who don't have coding experience could like build useful apps and I've been skeptical of it more than he has for a variety of reasons. But yeah, I didn't think about if would natural language processing, is this good? Do you think like normal people could just, they're not even thinking about writing code. They're literally just writing. Like, if I were to tell someone to do something, you type it out as a natural sentence. Like I spent this much on rent. I spent this much on utilities. Yeah. Do you think that there are applications like this for people who are non-technical? I think like, I don't think that technology is quite there yet, but it could be the case in like 10 or 20 years. That you could just talk to a computer like using layman's terms and it would kind of just write stuff for you. You don't want my whole, my whole take with the no-code movement is this, you know, you always hear politicians saying, we need to reeducate the population. That's going to get sort of kicked out of the system because of AI, et cetera, of new technologies. Well, you can't re I mean, you guys know much more than you guys probably know this much better than I do, which is that you can't reeducate them so much so that they. Get the same jobs, you know, we're talking about like 45, 50 year old people, we're on a range. Get them where they're getting like software engineering roles at calmer or any sort of, but what you can do is make no code proliferate. Oh. To the extent that it has such a low barrier to entry in such a low cost to entry that you could teach them how to use Excel or its equivalent Excel. I consider it to be like a no-code platform, but whatever, some, some sort of system like that. And. One that's easier to learn too. It's way more approachable and three finals. Like they will actually have some sort of legitimate job or find some sort of legitimate employment because of that. Right. That's why I'm optimistic. I'm optimistic that no code is going to create that the next great innovation or invention that you know, is going to change the world or anything like that. Just, just very practically, like, are we going to flood people, et cetera? Yeah. Yeah. Right. Cool. So what do you think that would apply for our industry, Brian? Like, do you think software engineers will become obsolete because you can just tell you that Jupiter, Hey, make an app that hope that software engineering becomes obsolete, to be honest. So I hope so. Why spend all that? I just think software engineers are like overpaid and just like. I don't know. It's just, I can see why, but I think we just sort of, it's like, do you need a very specific skill set and a way of thinking to become a software engineer and the system right now isn't like, or your, the schooling system, I guess isn't like set up so that you build a lot of those skills. And so that's why I feel like there's this like supply and demand gap, and that's why they get paid so much. But I think like practically speaking, the work that. We do probably isn't worth that much do you think machine learning has sort of been commoditized that it's now really like a copywriting word? Right. So do you think that's the same case for software engineering? Do you think people have. Overuse the score to the extent that it doesn't really mean what it used to anymore. And now it's, it's it's a tagline for coding boot camps and getting people into overprice educations at subpar schools. And I mean, I can go on and on, but what would you think about that? I actually don't I don't know if I can speak on that to be honest. Cause I don't, I don't have a lot of thoughts on it, but I think, I think so. I mean, I think like there are a lot of. Bootcamps and stuff out there where you don't really get the bang for your buck and things like that. So I can, I can like agree with that, but I don't know, like the state of it, cause I've never done like a bootcamp myself, right? Yeah. I feel like we haven't talked enough about math. So I'm very curious with someone from a very strong math backgrounds which is. Maybe atypical for coders. I think most of the time we come from a coding perspective and we'll take a couple of math classes here and there, but you're, you're actually almost exactly the opposite. How do you think that's colored your your skills as a programmer? I think it helps to, to some extent, I think like when you do math, like the abstraction part of things comes like a lot easier. So kind of like, that just goes to, like, when you're trying to modularize your code or like come up with an architecture, I think it's better or not better, but it helps. And then I think like there's a cons to it too, which is that like people who do math, like I tend to over-complicate things sometimes, you know, I tend to like spend too long thinking and not enough time just like implementing it. And I think it's just, cause I'm just always trying to think of like, The best solution when you know, the, the difference between the best solution and just like a solution is not right. Yeah. Can you, can you give an example of like one of the ways that having a strong math background has helped you in some coding problem? Let's see I guess it's hard to say. I think like a concrete example would just have more to do. I think in coding it's like, you could really just not have a math background. I'm not going to sit here and say that it just like super helps you or anything. But in machine learning, it has really helped a lot because it's really built on like, W a lot of like linear algebra stuff, like a lot of matrices and math notation. And so it really helps me when I'm trying to read papers really fast or when I'm trying to understand people's code. I think that is very important. I would definitely agree with that, like personally. So I I've missed around with machine learning. Like on weekends I would, I would help on the Andrew the Andrew and course, and do that for a little, for a couple of weekends and then drop it and then do the same exact thing a couple of years later. But I always, I always struggled with math. I mean, even, and also for my, for my previous job, I would have to read research papers sometimes for like hardcore, like 3d geometry processing algorithms. And there was always. My weaker, the weaker part of my, of my toolkit. So it makes sense to me that you would say that that, that comes naturally to you. And I can tell you that like, as someone for whom that does it that's a huge, huge benefit. That's very, very helpful. Oh yeah. I mean, I wouldn't say it comes naturally, but yeah, it's definitely a huge benefit. I had to work on that skill for like three, four or five years. But yeah, I, I sincerely think that like anybody can get to that point. I think there was a long time where I wasn't doing math, like the right way, like, cause I have a really good memory. So I would just kind of like memorize, like the formulas and everything like that. But I think like, With the reading part, it's just reading a lot of papers, reading a lot of papers, and that's just going to get you really used to the symbols and deconstructing everything. Right? A very simple exercise that I think people should always do is like, if you come up with a new concept and new mathematical concept that you see, you should try to think of two different examples. This isn't even my advice, but it's like, you should think of two examples. You should think of like one very trivial example that fits like the definition. And you should think of like, You know, a very more like interesting elaborate example, but the whole, I think the whole core of that message is like, whenever you come up with a new concept, you should always be thinking of examples. Like you should always be running simulations in your head. And I think like good math is just that practice of being able to run simulations and do calculations in your head and visualize things. So, yeah. All right. Last question. What is your favorite math problem? Problem. The one that always kind of gets me is like the really simple one. It's like, how do you sum, like, what's the sum of all numbers from one through a hundred, you know? And that was like a problem that gal solved when he was like in third grade, supposedly. But I just think it's so clever that you take like the two numbers on both ends and be like one plus 99 plus 98 and they're all a hundred, so it's a hundred, you know? Yeah. You know, over two or whatever. And times and plus one over two. Yeah. That's a really nice, that's a really beautiful solution. Just thought it was like pretty funny. Yeah. Yeah. Well, Brian, thank you so much for joining us. I think I learned a lot for sure for us. I also want to learn a lot from you, but I always do. I also lived off of the uh, Brian, I lived a little bit from you. That hurts. I will go ahead and include Brian contact information in the description of this podcast. Feel free to reach out to him. I'm sure he will answer or connect with you accordingly and not, or he might not. What do you, what do you think? Okay.

Vasanth:

Thanks again, Brian, and thank you everybody for listening. If you could please review us, we'd really appreciate it. And we're always looking for great feedback. We want to make this podcast better for all the listeners out there. And onto the next one