In this episode, Senior Software Engineer at LinkedIn Thao Bach illuminates the differences between LinkedIn from region to region and describes the behavior that drives development. She also discusses what college did not prepare her for, the exciting world of open source, and the pros/cons of obtaining a degree vs. a nontraditional route.
About our Guest
Thao Bach is a Senior Software Engineer at LinkedIn Mountain View and Co-President of Mount Holyoke’s Computer Science Society. Her experience spans the development of open-source, closed-source, and consumer-facing software. She is a strong advocate of diversity—her work at LinkedIn is focused on cultivating a more inclusive community by building inclusive products.
John Gottfried: Hello everyone, I’m John Gottfried, co-founder of Major League Hacking, and I am so excited today to be welcoming our first guest on the new MLH podcast, Thao Bach. I’ve known Tao for many years. She’s actually a former organizer of fantastic MLH Hackathon hack Julio and helped us to put on MLH Hackcon as well, which is our organizer conference. She graduated from Mount Holyoke College in 2016 with a degree in computer science and began her career as a software engineer at LinkedIn, which I’m sure everyone here uses. They’re based in Mountain View California and she now works there as a senior software engineer. Awesome. Welcome Thao, how are you doing?
Thao Bach: I’m doing well. Thanks for having me, John.
John: Yes, of course. We are so excited to talk to you today. You joined LinkedIn a little over four years ago and you’re now a senior software engineer, which is super impressive. You’ve worked on a ton of different types of projects though. When we were talking, preparing for this podcast, it sounded like you’ve done a lot of open-source, closed-source, internal tools, consumer-facing tools. That’s a really wide breadth of knowledge over really just four or five years which is amazing. I’d love to hear a little bit from you about how your perspective has changed and how your interests have changed now that you’ve gotten to work on such a variety of projects.
Thao: Sure. I got to LinkedIn as my first job out of college. I started out pretty open-minded. I don’t think I was too opinionated on what I wanted to work on, so I pretty much just wanted to work on anything that they would trust me to work on. My first team was on a data team, which is basically working on internal tools and building tracking tools for other engineers. I was on that team for about a year and I was a frontend engineer on the team. I felt like for the first year I definitely learned a lot and I felt like it was a great team to start on mainly because it gave me a lot of exposure to what the day layer is like at LinkedIn. It also gave me another really important lesson which is understanding what are the things that I don’t necessarily like about working on that product, which I think I’ve been itching to do something more consumer-facing also.
I started working on another product that had me like do open-source code, which was really exciting because I had never contributed to open-source at that point. Then after that, I realized it’s– open source is cool, but I wanted to work on something that I can show my parents what I did and not just be like, “Hey mom and dad I submitted this code that you can see but you don’t actually know what the product looks like.”
Then I looked around in the eternal job schools and I found that the Germany team, which is then under the international organization within LinkedIn was open and so I applied and they accepted me. That meant going from being in the data org to now thinking about product internationally. I finally got to work on linkedin.com prop room, but in this case for the Germany market, which was pretty underdeveloped and so very much growing at that time.
As an international student or ex-international student, I felt really strongly about making sure that products work for not just people in the US market but also in other markets. I learned a lot about the Germany culture like for example, how much they really value birthdays, which is a weird thing to say, but it’s definitely a lot more emphasized in Germany. I basically built features to help people be able to celebrate birthdays a lot easier.
Then after that, I even got to work on other international teams within the org, like the Japan team and such. After that I realized now that I got to work on linkedin.com for the international market, I felt like I got a good grasp of what it’s like to put on a lot of hats for, “Okay, what does this segment want to do and that other segment want to do?” I realized that I wanted to transition into something where I feel like I could own the codebase because the downside to working on international teams is you’re always working on someone else’s codebase.
Even during times when you feel like I really want to change this thing, but I always feel I’m on the go because there’s yet another project that’s lined up so I can’t really fix it. I felt as I got more senior, I saw more cracks here and there in terms of code craftsmanship that I’m just like, “I just need to fix it.” Now I’m on a completely different team and for job search, which is basically like when you go on linkedin.com/jobs and you search for something, that’s my new team.
John: That’s awesome. It’s funny that you mentioned you wanted to build something your parents would understand. My parents never been to a hackathon. I still don’t know that they can completely describe it. My co-founder Swift’s parents have been to a couple of hackathons, but my parents never made it out. It’s very sad.
Thao: Oh nice. What do they think?
John: Do you think your parents have a good understanding of what you do now?
Thao: Not at all. I think if I were to ask them to describe what I do, they’d be like, “Okay you go to linkedin.com, she probably built some buttons there,” which not entirely incorrect but also built more than that. Also, there’s a lot of things that people build behind the scenes too, that’s not just me.
John: Are you now the default tech support person for your family? I’ve definitely gotten thrown into that role.
Thao: Thankfully not. Because I have to thank Google for being a good help for that because I basically told them early on like, “Hey, I think if you can Google something you’ll probably get better answers than I can for sure.”
John: That’s 90% of being a programmer anyway.
Thao: Exactly, so accurate.
John: I’m really curious about the differences in the product between all of these different regions that you’re working on. That sounds fascinating, not only from a development experience but also the product management and understanding your customer. What are some of the things that might look different for someone in a different country aside from the birthday example, which I didn’t know about that. That’s novel, but what are some other things that might be different on the platform?
Thao: This basically boils down to, I’d call it two different characterizations. One is layout, which is basically there are certain cultures like countries that speak Arabic where things have to be displayed from right to left instead of left to right. These things are done programmatically. Then the other thing is translation is a huge part of making sure that the product works well. That just because from the dictionary standpoint that the words translate doesn’t mean that when they fit together it actually makes a coherent paragraph. Making sure that translation is done well so that it’s interpreted the right way. That’s the more layout part of it.
Then there’s the second part of it, which is the more culturally focused, feature-driven part. That’s the part that I focus a little bit more on, which is basically given a segment, what kind of behaviors do people differ in terms of culture? For Germany, I think I mentioned birthdays, but there are also another aspect which is people in Germany network a lot more in person rather than online. I also think in America a lot of people are really comfortable in terms of being able to cold message someone, let’s say on LinkedIn and be like, “Hey, I basically came across your profile and I think your work is really cool. Is it okay if we connect?”
In Germany, that’s not how they reach out to each other because that would be interpreted as a little bit creepy, even though technically everything’s public. People place a huge emphasis on going to huge conferences and these really elaborate events where they invite celebrities to attend and also have these companies with big sponsorship and they really make it an event, a huge party event too.
In order for LinkedIn to engage a lot of these German users. I think they needed to invest more in how do we inject ourselves into the event space such that it would organically integrate ourselves in the ways that German users get together and network. That’s Germany. Then another small example, let’s say contrast that with the Japan segment where a lot of Japanese users are very focused on being consumers of technology rather than content contributors. You can imagine that if you have a lot of consumers and not a lot of contributors on LinkedIn, let’s say, then you’re not going to have enough content to actually help people find value in let’s say the feed.
For LinkedIn that meant investing more in people who could write articles or become strong influencers within the Japan market to say, “Hey, this is the knowledge that I’ve gathered and I’d like to share this knowledge.” The other part of that is Japanese people, again network very differently from people in the US and Germany that they usually use business cards as a way to figure out. “I’ve met this person and this person is like this.” In reality, every single business person actually has a Rolodex of all the business cards that they have had-
John: A physical Rolodex.
Thao: Exactly. As I tell you this, it seems a little bit retro on the retro side. If things can be digitalized, I think in our world we think, “Why not digitalize it?” because the less in-person physical clutter and just have that uploaded to cloud and it’ll handle it. There are a lot of things that are still kept traditional in Japan.
Then one of the features that I helped build was a Japan business card feature where basically you can take your phone and click on the LinkedIn app and basically take a picture of your business card and then that will upload to this page where you can see a picture of the business card that you took a picture of and that it scans all the texts that you have from the business card and then extract that into information for individual cards, and then there would be a field where if you wanted to make an additional note about the person you met, like, “Hey, John is from New York and loves drinking cocktails.”
I don’t actually know if you like drinking cocktails, but yes. It’s a better way to visualize it.
John: That’s actually awesome. Does that exist in the US version too?
Thao: It doesn’t. I think initial– it’s.
John: I feel like I could used that.
Thao: Really? That’s very interesting.
John: In the last year I haven’t really met that many people in person, but I used to go to a lot of conferences and events. I have a stack of business cards in a drawer somewhere.
Thao: You ever re-look through all your business cards drawer?
John: Yes. Mostly they end up going in the recycling after a certain period of time.
Thao: Okay, yes.
John: I did get some really cool ones made though. I got business cards made for myself that on one side it was all my info and the other side, it was actually a MLH sticker that you could take off and put on your laptop, and people got a kick out of that. That was fun.
Thao: That is really creative.
John: That was definitely an innovation, I’ll call it. We’ll say that.
John: That’s awesome. Designing for all of those different use cases, I would imagine that presents a lot of technical difficulties too. What are some of the tech challenges you’ve encountered at LinkedIn? Obviously, there’s a scale there that’s unparallel, but beyond that, I’m curious what tech challenges go into the internationalization part of it.
Thao: Yes. I think this is pretty indicative of the more early days of international, but I think I mentioned the challenge of not owning your own codebase. I don’t know if other companies are like this because I think-
John: What do you mean by that?
Thao: Basically depending on what team that you are in, a team can basically have a list of people who can give, ship-its for the code. That in order for you to be able to submit a code and have that committed to the codebase, you would need X amount of people to approve of your code. We weren’t really part of a list of people who could actually say yes to a code.
For the ones that we were, it was more tiny, very international specific to give you more concrete answer about– Let’s say if you look at LinkedIn and you see different pages that you can go to so there’s the feed page and there’s a profile page. Those two pages are actually owned by two different teams, which meant that if I make a change on feed, I would need to go ask the feed team and say, “Hey, can you approve of this change?”
Then they’d be like, “Okay, sure, thumbs up.” Even though I can go in and be like, “Yes, you can push this change to feed,” the system would be like, “No, her ship, it doesn’t matter. Who cares?” You definitely have more say as an owner of the codebase by nature of being the owner. For the international team, in the early days, it was a lot of alignment conversations of coming to engineers and being like, “Hey, this is a very cultural-specific feature that we’re trying to push for this particular segment.”
Sometimes it meant having to think about compromises of how we would go about building a feature because there are tons of ways that you can go about developing something. A lot of it was us going into someone’s codebase and say, “Hey, here is one or two different designs, what do you think is appropriate?” Sometimes they would push back and be like, “I don’t know why this feature needs to exist.”
Because I think then LinkedIn was still very much US-focused. Over time I think that’s gotten a lot better in terms of thinking more about international growth and that issue has been easier over time. I’d say that when I was joining the international segment in the early days, that was basically a lot of what I felt like I had to go through.
John: Yes. That’s super different than a lot of the folks listening do a lot of their development at hackathons, right? Where you might be logged into your virtual machine literally editing the file and production. We have no tests, who need tests?
John: Yes, that’s funny. That brings us to an interesting transition point here. You’re getting to work on this massive codebase, something used by millions and millions of people around the world. I can only imagine how many little features and subprojects and technical nuances exist at that scale, but you built up to it, right? You studied computer science, you had internships at other companies. How did that prepare you for this type of career and maybe on the flip side, what didn’t it prepare you for?
Thao: Yes, I think it really depends on the role that you end up in after school. Because I felt like for me specifically as a front-end engineer, my flashy computer science degree that was super expensive didn’t actually teach me a lot about how I can do my day-to-day job. The most value I got was that it helped pass interviews for me that I think a lot of interviews for new college grad positions I think are still very much algorithms heavy. I think algorithms are mainly the bread and butter of computer science in schools. Once I felt like I passed through interviews, I was actually pretty shocked by how little I’ve used my knowledge in school.
John: I’ve definitely heard that before.
Thao: Yes, and it’s not really uncommon. That’s where I felt like going to hackathons actually, and then having internships previously has helped me feel a lot more prepared for my day-to-day job of being a front-end engineer beyond the things in school. I had to learn on the job.
John: One of the things that I hear a lot from folks who are currently in school is the whole like, “Should I drop out and get a job? Or should I finish a computer science degree?” What’s your perspective on that?
Thao: That’s a big question.
I think there are so many nuances to that. I think it depends on whether you’re giving advice to an international student versus a US student for example. For me, I was an international student and I think if I wanted a career in America to start with at least, then that meant I really had to graduate from college in order to get the visa status in order to be able to apply for companies in the US.
For me, having a college degree was a non-negotiable if I wanted, let’s say a job in Silicon Valley, but let’s say if you’re a local American student, your options are a lot more open that I think it’s really interesting that the barrier of entry to an engineering job I think is a lot lower than other jobs that I think there are a lot of ways that you can show that you can do the job without having a college degree. I think that that does make it a lot more inclusive.
I have colleagues who instead of going to a traditional four-year college school, they have gone through a community college or went through a hacking– a coding boot camp, and they are still able to get jobs in Silicon Valley and if not thrive despite their untraditional background. I think it really depends on your circumstances and it depends on what you really want out of a college experience also. Because I know that colleges are really expensive in America. I do like the fact that there are a lot of different paths that you can take for that.
John: Yes. You bring up a really important point. Which is that there’s certainly an immense amount of privilege built into being able to drop out of school, right? I know a lot of people who have the exact same situation as you where their visa was dependent on getting a degree and getting a job and all of these really somewhat arbitrary but really specific steps.
Thao: Yes, for sure. I’m not going to argue how American politics is built because that’s just–
John: That’s a different can of worms.
John: You mentioned earlier that one of the projects you got to work on at LinkedIn was open-source and that it was the first open-source project you had ever worked on. What was that experience like, because a lot of the students that we work with see open-source as a way to build up their resume or learn skills that they need to get a job. You approached that a little bit later through the career that you already had.
Thao: Yes, I remember feeling almost really naked about the fact that the code that I’m writing can be seen by basically anyone, which is a slightly frightening experience. It’s a little bit like, if you were on social media, like on Instagram and you post something and your account is public, and I guess, not as much just because not a lot of people would like to look at code, but you approach it with that mindset.
I had really good mentors who were able to help me know what the best code and craftsmanship are specifically for open-source. I think LinkedIn has guidance on what to do in terms of writing for open-source, rather than writing for internal code. Things like you shouldn’t write anything that’s sensitive to LinkedIn data, specifically, that that shouldn’t be open-source, which is I guess, intuitive.
I have a funny story about this. One time, I was writing tests for my code, and usually, test writing is not my favorite thing. I get that they’re important, and they can be dull. I find entertainment in ways that I can whenever I can. I decided to just name my test variables after Disney characters, because why not? I had Simba and Pumbaa everywhere. Then when I submitted it for code review-
John: I love that.
Thao: Thank you. It makes it so much more entertaining.
John: Yes. That’s way more fun.
Thao: Yes. If you can’t get a laugh out of someone else, at least you make yourself chuckle a little bit. When I submitted it for code review, I think one of the engineers was like, “Wait, these are copyrighted words. We shouldn’t be able to be using these words, like Simba and Pumbaa.” I was like, “Okay.”
John: Disney’s going to sue you for publishing this on GitHub?
Thao: Potentially, and that wasn’t something that I completely understand. I was like, “You know what? Not an argument that I would like to have because I get it. Rather err on the safer side.” Yes, the downside of open-source is basically, I can’t use the funnest names that are trademarked. I think that’s like a tiny, tiny downside. Not the worst thing in the world. Yes, but I think it’s cool to be able to write something that other people can see, and I think it also helps if, let’s say there’s another female engineer who comes along and be like, “Hey, I actually see another female engineer at LinkedIn, who you contribute to open source.” I think that’s cool because hopefully, that’ll inspire another engineer and maybe empower her and say, “You know what? You can do this also.”
John: Yes, that’s definitely something I hear from a lot of the companies we work with that open source is– it’s almost like equal parts engineering work, but also building awareness for the company’s culture. It’s like, “Here’s how we think about code. Here’s the people who work here. Here’s what we care about.”
Thao: For sure.
John: Did you have any external contributors submitting pull requests or anything for your open source?
Thao: I don’t. I think there were some but not a lot, just because the codebase that I was contributing to, needed a lot of really specific specialty knowledge because it was not just within data, but it’s a root cause analysis dashboard that required you to understand something like data science and machine learning terms. Yes, I think the barrier of entry was pretty high for that codebase.
John: Yes, that’s totally fair. One of the things you mentioned is that you like the idea that maybe someone like you like a young woman sees your code and is like, “Hey, I’m capable of this, too.” That’s something we hear really frequently in our community, is that visibility is super important. Being able to identify with people who are a little further in their careers builds confidence. I know that when you were a student, HackHolyoke was an incredibly successful hackathon at building a diverse group of hackers.
My memory of it is that that was like a direct experience that you all had with other hackathons and with CS departments that led you to build that. I’m curious if there are any lessons that you think companies can take away from what you all built at HackHolyoke, which was incredibly successful.
Thao: First of all, I feel really flattered and honored that you felt it was really successful, because I think for us as students, being in our little room trying to organize these things, our hope was just that people showed up.
John: Yes, I know that feeling.
Thao: That’s always the fear. I think what we tried to do was we tried to make sure that our messaging felt inclusive, and that we-
John: Well, what does that mean?
Thao: That meant being able to clearly define what we have as personal values in terms of what we believe in. That meant boiling it down to as core as possible. For example, instead of saying something like, “We want to achieve a very specific image of diversity that looks like you have X number of programmers from this particular background like 50%, male, 50% female, or X percent Hispanic and X percent Black engineers,” I think we tried to formulate it as– we wanted to strive for some environment where people could feel they’re welcomed, and that it’s safe for them to be able to say, “Hey, I’m a beginner here, and I am here to learn a lot. That I hope that other people would be willing to accept that and be able to help me through the journey as I try to navigate this really weird, untraditional, whiny environment,” that was, I guess, new back then with hackathons.
I think for a lot of companies that I’ve seen where they try to come across with a messaging for diversity inclusion, I think there are times when it could come across as pretty ingenuine. I think the farther you are from what you want to say as a core message of saying, like, “Oh, we want to achieve this particular statistic, this particular number.” I think that could easily make people feel like they’re there because they are boiled down to the group that they represent, as opposed to truly that it’s okay that anyone who comes from any background, who looks like anything, should be able to feel like they are equal, and that that should be an equalizing environment, that we’re there for a common purpose of being able to learn from each other. That’s the thing that really helps in terms of everyone having that environment.
John: Yes. One of the things that I’m always impressed with, and HackHolyoke is a fantastic example of this but there are many others, is that computer science departments have a lot of struggles with representation. Many of the students who are organizing events or clubs within the MLH community have taken it into their own hands to introduce people to tech. One of the things that we’re super proud of is, only 50% of the people in our community are studying computer science. There’s a lot of programmers out there who are in different majors or are self-taught. I have a history degree for some reason. It has nothing to do with my career.
Thao: Yes, and like Swift’s study of law, right?
John: Yes, like Swift study law. What does that even mean? I think it’s really impressive to me how people like you did when you were in school, and still people today are taking this into their own hands and creating the tech industry that they want to be a part of, right?
Thao: Yes, for sure. Well, John, I don’t know if you know, but my CS department was very not diverse because it was 100% women.
John: Eva, who I was also involved with HackHolyoke has mentioned that to me.
Thao: Yes, but we were a woman’s college, so I think we had a good excuse.
John: The fact that you were able to bring other hackers from other schools to your campus, I think probably had a huge impact on people.
Thao: Yes, for sure. I did remember seeing MHacks, who was like a 1,000-person hackathon or something. Gigantic.
John: It was a big hackathon.
Thao: They were able to bring in, I remember, at least 300 female hackers for one year. I was like, “Whoa, that is bigger than the size of my hackathon.” They’re doing really great job there. Disregarding, I know the percentage is like, whatever. To be fair, 200 person hackathon, it’s a lot easier to achieve the nice neat statistic that you want. That’s why I’m like, you know what, statistics don’t tell the whole story here.
John: Yes, ultimately, it comes down to individual experience, right?
Thao: Yes, exactly.
John: I think what we’ve seen is when someone feels included in the community when they feel comfortable, and welcome, whoever they are, they’re more likely to continue participating, continue down this career path. All of the events that bring in new people are furthering that. Each individual event statistic compounds on each other in a positive way, for the most part.
Thao: Yes. This brings me back to the days where– when you’re trying to craft the experience of a hackathon, it made me feel like, “It’s like I’m in the hospitality business here.” Except inside the hotels, you get this gigantic room or something or like dispersed rooms where people can feel like they have sustenance, and they have a place to sleep, and they have good internet.
John: It’s a little bit more chaotic than hospitality but definitely a lot of logistical similarities.
Thao: For sure.
John: Man, I can’t tell you how many loading docks I’ve hung out in.
Thao: Oh my gosh.
John: All sorts of weird stuff I never expected to do in my career in the tech industry.
Thao: Yes, for sure. Did you ever have a favorite snack within a hackathon that you just sat on the corner, just munched on.
John: My favorite thing is how hackathons were able to often bring in local or regional food. There was one event I went to, this is maybe not the best example, but at Rutgers, and if you’re listening and you’re from Rutgers try not to be offended here. The local specialty college food is what’s called a fat sandwich, which is like a hero, like a hoagie roll with french fries, chicken fingers, mozzarella sticks, all the fried food packed onto it with ketchup [crosstalk] It’s like a heart attack in a sandwich. I love the regional specialty cuisine. That was not my favorite, but a lot of people loved it. I’ve heard great things from Rutgers alums, Swift included.
Thao: Yes. It shows that by going to different hackathons, it’s not like you’re just jumping into a different room, another location. You’re really getting the local experience there. I remember a friend of mine who was organizing Hack Holyoke first pitched to us the idea of having baby animals from farms to Hack Holyoke.
John: I think you all started this trend.
Thao: Really? I didn’t know that, but I remember the first, we looked at her and she’s like, “Oh, is she serious?” “We’re not sure. She’s from Kazakhstan, maybe they do hackathons differently there. We’re not sure.” Then she made it happen and it was a blast.
John: Yes. I’ve met a lot of puppies and goats. All sorts of animals you would never expect to see at a hackathon. I’m into it. I’m down with the hackathon.
Thao: Yes. For sure.
John: That’s good. I’d love to hear from you as you were getting started in the tech industry we talked a little bit about how you build inclusive communities and how much representation matters, but I’m curious if you had any personal mentors or role models that you got to work with who really influenced your career?
Thao: Yes. I’ve been really lucky that I’ve had the privilege to work with a lot of really talented engineers. I think for the first few years of my career– I think what I would say temporary or circumstantial mentors where if I’m in a new codebase that I’d have people who’d be willing to coach me through how to commit to a certain codebase or what a new team is like and how do I integrate. I felt like for the first two or three years of my career, I didn’t really have a stable mentor who I had one-on-ones with regularly and basically sit down for conversations and understand how to think about planning my career.
Luckily after three years from serving in this craftsmanship code committee, I met this engineer who was then a staff engineer when I was a software engineer. I think I must have said something intelligent adjacent enough that he’s like, “Oh, I think I’d like to get coffee with Thao a few times.” I think we just talked to each other. Then after that, I realized that he could actually be a mentor of mine, which is really surprising because I think he saw potential in me and maybe liked spending time with me enough that he’s like, “Yes, I’d love to be a mentor and actually a sponsor for you.”
Mentorship relationships were never what I imagined it to be when I was right out of college. I think the way that people talked about it, I felt like you get assigned a mentor, and then somehow that mentor just sticks with you. I think it’s very much a matching process a little bit more where you have to figure out what do you really want as a mentor and making sure that that is the right fit that you really want to get along with your mentor. I think for a long time personally, I never really saw myself staying as a software engineer for a really long time.
John: What did you expect to do?
Thao: Going back a little bit, before I got to college, I actually wanted to be a chef.
John: Really? Me too.
Thao: Oh, okay.
John: I like working kitchens all through college. I love baking. I have a sour dough started downstairs. The whole thing.
Thao: Yes. That’s awesome. I guess you get to make things with your hands and then eat it. There’s no greater joy. I remember telling my parents that, “Hey, Ken, instead of going to four-year college, can I just be a chef?” My poor Asian parents who were pretty strict and traditionalists, they’re like, “How about you work in the kitchen first, and then let’s get back to you on that later.”
This was the summer before I entered college. I started working as a pastry chef intern in a hotel in Vietnam. I worked there for a couple months and I really enjoyed the job. It was unpaid. I think they probably lost money by having me as an intern because I ate a lot. I really enjoyed the job because it was really gratifying being able to think about making things for other people where they would eat my product.
It was really gratifying and it was hard labor work, but I liked the camaraderie in the kitchen. At the end of the day, I felt like the thing that I enjoyed about the kitchen was the impact that it can make for other people’s experiences. I felt like I wanted to do something that was at a bigger scale and I wasn’t going to be able to do that if I was in the kitchen for a long time.
I think career in dining is really hard. It has a huge failure rate. I went to college being undeclared and searching for something that would fit that bill. I think computer science fit that well enough for me. I think there were parts of the job that I felt like fit me that I thought was something that I enjoyed enough that I could continue, but there were other parts that I felt like maybe I don’t fit the identity of an engineer that I thought I would, that I think coming from a liberal arts background, I missed being able to think about a problem, not just from an engineering standpoint but also from a political standpoint and a design standpoint.
Basically, any interdisciplinary topics that you can think of. I didn’t think that leveraged enough of the different parts of my brain so that I could engage. Circling back to my mentor, I think what made me realize that I wanted him to be my mentor was I– it was only when I started working with him did I realize that I actually hadn’t met another engineer who I felt like shared a lot of my values and someone I can model after. He was basically the first one to do that.
Specifically, I think I was really impressed by how good he is at being able to present really complex technical problems and boil it down in ways that for people who are starting off in their career who don’t know a lot, to people who are experts, all of them can understand what he’s explaining. I think that was really impressive. The other part is also that he is a very empathetic communicator. That he’s able to understand where you’re coming from when you’re trying to ask a question and is able to say, “You know what, here’s how I would think of it. Obviously, there are things that I might not understand, but maybe you can help me explain it to you better and maybe I can learn something from you about it.”
For someone who is a really senior engineer, I thought this is really incredible that it shows immense modesty and self-awareness in order to be able to communicate something like this. The other part of him was also that he cared really deeply about mentorship and sponsorship. I think that was when I first understood the difference between mentorship and sponsorship when I started talking to him.
That mentorship is basically, you get advice more or less from another person on how to do something. Sponsorship is basically having someone who sees an opportunity that would be best fit for you and say, “Hey, I think that she is someone who should be in the room when this is happening. I think she has the particular skill set that would be great for this particular opportunity.” To really make a huge impact, a direct impact on your career progression by giving you those opportunities. I think it’s something that I’ve grown to be a lot more passionate about and more aware as I grow more senior and am able to see a lot of other engineers who I can be a sponsor to as well.
John: It’s like a structured friendship. Adam, I remember back to my first programming job and I thought I was so annoying asking questions all the time at every part of the codebase.
They were super patient and they’re still a close personal friend of mine. It’s building those types of relationships where people are invested in your success and able to work with you and able to look out for you. It’s incredibly important.
Thao: Yes. For sure.
John: It is funny though that you wanted to be a chef because whenever I talk to people about the fact that I love cooking and love baking and all of that, and I really enjoyed working in kitchens, even though you’re totally dead after a 16 hour day in the kitchen. There’s a lot of-
Thao: Feet are swollen, everything aches.
John: Yes. You smell bad. There’s food everywhere. There’s a little bit of a mental similarity between programming and working in kitchen. You get into the flow state where you’re just doing this thing in such a focused way. I don’t know, I think a lot of developers have these creative pursuits outside of programming that actually align really well. People who are musicians or artists or cooks or whatever it is. It uses a lot of similar muscle memory.
Thao: For sure. I think it’s really healthy to have outside hobbies that are different from your job. Because I remember when I was starting out, a lot of the friends that I had after they finished programming during their day job, they come back and they code their side projects. I felt like that was so bizarre because I felt like I stopped side projects when I started getting paid to code, which initially sounded so bad. Then I realized no, I think after eight hours of coding, it’s okay if I want to play piano or if I just want to cook for myself, or if I want to, I don’t know, read, and that’s totally fine.
John: I definitely burned out a bit in the first year of being in the industry because I was working all the time. I didn’t have good boundaries. I didn’t know how to take time off. I think a lot of people go through that. I think you’re right. It is totally normal and healthy to not be coding 24 hours a day. [chuckles]
Thao: For sure. If you love it, then more props to you, but I think everybody-
John: No, I definitely do a side project every once in a while, but I stare at a screen all day, I can’t do that all night too.
Thao: Yes. I totally get that.
John: We talked a lot about your career progression and how you got where you are. One of the things that’s so fascinating about the tech industry is how rapidly it changes. CS education when you were in school versus when I was in school, which wasn’t long before, but a couple of years– I’m not that old.
John: Things can change really significantly. What do you think developers now should be thinking about and doing that maybe wasn’t even available to you when you were studying this six or seven years ago?
Thao: I think there has been immense knowledge base online in terms of how to do something, and that is just going to continue growing as the internet ages. A very specific example is if you were to search for a question on Stack Overflow, you’d get a lot more answers today than you did previously. That is a testament to how many engineers have started learning. It contributes to this global knowledge base online.
I think that’s something that I always felt like was why I liked the idea of open source and the idea of knowledge sharing because it democratizes knowledge, and it really is a good way to pay it forward to other people. Yes, I think that that’s basically the one thing I think that’s been the biggest advantage so far of people who are starting to learn engineering now.
John: I think especially– Stack Overflow is incredible. Obviously, no one would or could be an engineer without it, but the wealth of blogpost and tutorials and videos, it’s incredible how much is out there. I remember being a kid and borrowing programming books from the library. That was the resource. That was the only thing. It was wild. [chuckles]
Thao: Now for every topic, for every popular topic that you want to search for, you get hundreds of tutorials of different flavors. It’s almost paralyzing with the amount of choices that you have.
John: Yes. Sometimes it is. We’re getting to the end here. This has been super interesting. I feel like we’ve followed you through your entire career journey. Well, what’s the top piece of advice you would give to someone who is in college right now, maybe in a boot camp who is looking to get there start in the tech industry? Just distill down everything you’ve ever thought about in your tech career.
Thao: Oh my gosh. I’d say if you happen to land your first job as an engineer, first of all, congratulations. Huge deal and great start. I’d say enjoy being a noob. I think being someone who’s new gives you the license to ask a lot of questions without shame. I remember feeling like– I got to ask a lot of questions. I saw myself growing a lot.
It feels great, but also really painful at the same time because you’re growing so hard and you’re like, “I don’t know if I’m actually learning something useful or I’m just hitting roadblocks every single now and then.”
I think being able to relish in the moment of saying, “Yes, I can ask some questions, and it’s fine.” Then the other part of it is, I think, learn to maintain relationships and build relationships with people who would be good advocates for you because you’ll never know how much it’ll help you in the future.
John: There’s definitely a lot of karma in– It’s not even just the tech industry, just life in general. You’ve got to pay it forward and help people out and be nice, and it really does come back in a big way.
Thao: Yes, for sure. I wish it were a lot easier to form relationships. Also, I wish it were easier even for more senior people to feel like they can ask questions because one of the surprising things I felt like I learned in the tech industry was there’s a lot of shame in not knowing something, which is crazy because there’s so much knowledge that no one person can absolutely know everything, and yet, everybody lives in this reality where they still feel some hesitation in asking a question because– It’s weird.
John: The best developers I know are incredibly good at crafting questions to other people and looking for the right answer and understanding the strategies to figure it out. They don’t necessarily have the best memories.
Thao: Right. Yes. I don’t store anything in my head ever. [chuckles] Brain is limited storage space, but computer and cloud, way more storage space than my brain.
John: It’s way cheaper to buy more storage space cloud.
Thao: Exactly. Actually, a funny story. Recently, before moving to Hawaii, I wanted to find physical storage for my furniture, and then I stumbled upon this ad that had super cheap storage space. I was like, “What is the catch here?” The ad was like, “Oh, $199 for one terabyte of storage.” I’m like, “There we go, not physical storage.”
John: Cool. Well, to close this out, I would love to hear from you, what is your favorite pastry recipe? Tell me about your best pastry here.
Thao: Oh my gosh. I just made, I think one of my most impressive thing a couple of days ago for my birthday.
John: Oh, happy birthday.
Thao: Thank you. 420, yes, was actually my birthday.
John: That’s when I got my COVID shot.
Thao: Yes. That was also a birthday gift for myself this year, so yay birthday gift. I made a croquembouche. I don’t know if you’ve heard of it.
John: I’ve heard of it. Describe it again. I don’t know that everyone who’s listening will have.
Thao: That’s true. Basically, it’s a cream puff that is basically stuck together by a layer of caramel. Then you basically build a conical tower made out of purely cream puff. It’s this fancy French dessert that I’ve only seen pictures on Google of, but I’ve never really seen in real life nor have I attempted to make it, mainly because it’s a lot of cream puffs that I would never be able to finish. Also, it takes two days to make.
John: I’m imagining all the steps in my head like making cream puffs, making-
Thao: Oh my God.
John: -the cream, making the caramel, yes.
Thao: It is a two-day endeavor. Actually, I wanted to reference back to what you were saying before, which is there is actually a lot of overlap between baking and coding because I felt like a lot of the skills that I had to employ in my day-to-day job, I was thinking through when I was baking because it was the equivalent of breaking down a huge problem, which is how do I build this gigantic edible tower into tiny implementations and steps along the way?
I was saying, “Okay, in order for me to construct this tower, I will need to make the cream puff, I will need to make the pastry cream that goes under the cream puff, I need to make the caramel, I need to figure out what mold I can use to be able to stick all of this into a tower,” et cetera. Of course, not everything goes according to plan along the ways. You just have to pivot one way or another, and then eventually, you get something that’s edible, hopefully, and doesn’t poison anyone.
John: How was it?
Thao: It was great. It definitely met my expectations and I have super high expectations for myself. I think for people I made it for, I think they would’ve been fine with its fat-looking cream puffs, but I was like, “No, I-
John: You have high standards.
Thao: -put my reputation on the line here.”
John: I feel like I’ve seen them make that on Great British Bake Off before.
John: It’s one of those things that’s actually impossible to do in the time they have, but they tried really hard.
Thao: Yes, for sure. Oh my gosh, I can’t imagine doing it in hours in one day. I’d probably cry.
John: Well, one day we’ll have Great British Bake Off but hackathon version like getting a bunch of developers to do an impossible task in a short period of time. That’s basically what hackathons are.
Thao: Yes, exactly. You find things to hack together and somehow you get a product. Then maybe it’ll collapse after the demo or something, or at demo, it doesn’t even work.
John: Software engineering in a nutshell.
John: Awesome. Thank you so much, Thao, this has been a pleasure. I really enjoyed learning about everything you’ve worked on. I think the advice that you offered and the path that you took will be really helpful to a lot of folks in our community. I hope you have a great rest of your day. Enjoy Hawaii, it sounds beautiful and happy hacking.
Thao: Thanks, John.