Microsoft to Startup: Leaving MegaCorp for Startupistan
Only two years ago Alex Andresen made the move with his wife to San Francisco from Seattle.
He left a cushy job as an engineer with Microsoft after rising up the from a role in testing.
We had the fortune of sitting down with Alex to hear about why he left Microsoft and how he landed his current role at TuneIn, a San Francisco-based podcast startup.
Covered topics include:
- the VC illuminati that can place you into a job at a startup
- how to survive reorgs at a BigCorp like Microsoft
- why serverless computing is the future
Audio:
Play in new window || Download
Video:
For the full text transcript,
Max: Welcome! Today we have an awesome guest joining us, Alex Andresen. Alex works with TuneIn as a platform engineer, working with backend APIs.
Do you mind sharing a little bit for those who don’t know what TuneIn is and what you guys do?
Alex: Yeah, sure. I work at a company called TuneIn. We do online radio, music, podcasts, sports. You can listen to any radio station in the world on your phone or on your laptop. If you pay us a monthly fee, you get access to any sports game like NFL, MLB, NBA, as well as audio books and commercial free music.
Max: So the reason everybody can listen to live streams of MLB is thanks to you? Is that fair to say or not?
Alex: Probably not, but I help out on those things, yeah.
Max: Okay. Well, I know one of the really interesting things about your career so far has been that you started out graduating from Cal Poly with a CS degree and joining Microsoft. But not quite as a strict software engineer, but as a software engineer in test. So for people who don’t know the distinction between those roles, do you mind kind of sharing what the distinction is?
Alex: Sure, yeah. When I started at Microsoft I started as intern–I interned for a summer between my junior and senior year. And that was as a software engineer, SDET, Software Development Engineer in Test intern. And so basically you work alongside the software engineers that are actually writing the code. You’re responsible obviously the testing of it. And the part that differentiates a QA from SDET would be that you’re expected to write code and write automated tests like integration tests. So we would have to create test plans and our test plans would consist of automated and manual tests. But you know, I personally hate having to manually do things.
I’d much rather write some code and have it work and just be able to have this code run in a test suite every day rather than every couple of months have to have this test that I have to go and manually execute. I was very much incentivized to write code as much as possible. So yeah, I’d say that’s the difference between a software engineer and Software Development Engineer in Test. It would be that you’re still writing code, but you’re writing automated tests.
Max: You’ve told me this offline about how you moved or relocated in terms of job from working in test automation for Microsoft to a much more engineering heavy role before you left Microsoft.
For those who’ve never been through the very large corporate reorganization process, do you mind giving us an idea of how you orient yourself through a process like a re-org?
Alex: Yeah, sure. I was at Microsoft for close to five years. At a big company like that, there are a number of reorgs that happen. I can’t remember the…maybe there were three real reorgs that happened while I was there. So I guess every one to two years maybe there’d be a reorg and some of them are bigger than others. Maybe one of them, you know, we change CEOs I guess. And then we change like a vice-president of Windows and you can… It’s kind of interesting what the reorg …you can see it trickle down. You’re like, “Oh, hey. I just got an email that we now have a new VP.” And that’s like, “Oh, okay. Who is this guy?” You talk with your teammates about who this guy is, but then you go a couple of months and nothing changes. Because he’s still trying to figure out the people that are gonna be under him, and then maybe a month or two later you get an email “Oh, now you know who all the GMs will be” and it’s like that.
Max: General managers?
Alex: The general managers, exactly. And it’s like, “Okay, but that’s still like two levels above me.” So that’s still not super affecting me, but once it gets around to that level they start figuring out their teams and then that’s when my manager… I was lucky enough to have a very good manager when I was at Microsoft. And she would look out for me in these sort of things and be… She was a bit more political I guess and she would know what was going on, she’d go talk to people, go figure out what was happening and where we’d go and was “You come talk to me,” and be like, “Hey, okay. I think this is what is happening. This team is going here. Do you wanna come with me to this team?” I’d be like, “All right, sounds good.” But, yeah, that stuff takes…maybe a couple of weeks later you get another email that comes out that’s “Okay, these will be the teams under the general manager.” So it’s from the time where you’ve got a new VP to when my actual job changes–that’s a few months, which is…it’s kind of crazy, but…
Max: I mean I don’t know how novel the story is but one thing I think is really cool for our audience to know is that Alex met his wife at his job, at Microsoft in Seattle.
Alex: True story.
Max: I mean having your wife there and having been there for five full years, you were just telling me about how when you were considering moving on career-wise. What was your thought process? How did you find a job outside of the Microsoft bubble?
Alex: Yeah. So, I guess my wife and I had been talking for a little while. We’re both from the Bay Area. So we live in the Bay Area now. But, yeah, we both grew up around here. I guess when we were talking about this, I had been up there a little over four years and she had been up there a little over three years. And I kind of always figured I’d come back to Bay Area some day, but Seattle is cool. Like, I’m enjoying what I’m doing at Microsoft, things are good, but maybe one day. And my wife, we talked about it, “Okay, maybe now is a good time to make this move.” In that time I had transitioned from a software development engineer in test to a software engineer. I was working on internal tools for our app.
Max: Marketplace?
Alex: Yeah, exactly. At that time for Windows 10 apps, backend ingestion flow. I was building internal tools to give insight to our teams about how apps were flowing through: where they were getting stuck, what was going on there. So I had already made a little bit of a transition away from testing and I knew that I kind of wanted to move all the way, I guess, to be a software development engineer. At that time, I was building internal tools so I was using the same sort of skills that you need as a software engineer but I was applying those to internal tools. I wanted to apply those to customer facing products.
When I was looking for a job I had a couple of things I was looking for. One, I wanted to be a software engineer working on customer-facing products and I wanted to try out a smaller company. I had been at Microsoft for almost five years by then. They’re not a small company and I have a bunch of friends that work in small companies and I wanted to see what it was like to try something different.
Max: Coming down from having spent your first five years in your career at Microsoft, probably getting very deep into the .NET Microsoft stack of programming tools, was job searching in the Bay Area harder?
Are there a specific network of employers who are specifically looking for people familiar with the Microsoft Stack?
Alex: Yeah. So when I was interviewing that was definitely a concern I had. I felt like I had two big things that I was looking to change other than location. One being that I wanted to be a software engineer working on customer facing products, which I hadn’t done before. So that was a bit of a hard process. Like, “Okay, well, you clearly haven’t done this before,” that I had to prove. Then the other second thing was that I was familiar with C#/.NET. I had done Java in college, but it had been a few years and I would be pretty rusty on it.
So I guess I didn’t use that as a criteria in what I was looking for. I just went online, looked for different companies that I thought that were interesting positions and just applied. And also I used the network of people that I have down here from growing up around here and asking them what company…you know, “Hey, how do you like your job? Do you have any openings? Do you have any referrals or anything for me too?” And actually one of my friend who’s down here, he works at Sequoia and he recommended me to their Sequoia recruiter who manager a bunch of things, and that’s actually how I got the TuneIn job.
Max: Oh, This is a huge tip. I don’t think people realize this, but job words are not your only option for finding jobs or going to company websites and looking at their careers page. Another option is that venture capital firms are constantly trying to help their portfolio companies find employees. So, like Alex was just saying, one great option is if you have any kind of referral into a venture capital company like Sequoia, you can email your resume to them and they’ll circulate it to all of the hiring managers at all their portfolio companies. So that’s a freaking awesome piece of advice that I don’t think we’ve surfaced on our interviews so far.
Alex: Yeah, it was a pretty sweet set up actually because I met with the recruiter at Sequoia who wasn’t the recruiter at the company I was applying at. And so she was definitely trying to help me, you know, because she wants to land jobs at the companies that Sequoia works with. And then she referred me to a number of different recruiters, I had few interviews with them and, yeah, it worked out with TuneIn. So, yeah. It was like an in the door referral, you know, definitely helps your chances.
Max: Yeah, for sure. Something you were just saying about how the C#/.NET skill set that you were bringing from your five years at Microsoft did not filter your job search criteria. Like, you were not solely looking at jobs that put C#/.NET on their qualifications for roles. Is there a whole lot of crossover between Java and C#? Like, did you try applying to any companies where Java and JVM were a main part of their stack?
Alex: I did. Yeah. I guess I did get interviews at places that had Python stacks, had Java stacks, had non-.NET stacks. I did feel like that was…I didn’t have the best starting position with companies like that where I’d be like, “Hey, you know… I haven’t used this language before.” I’m gonna need some time to ramp up. But I guess it…I don’t feel like it was a huge blocker, but TuneIn actually was .NET based. So I do feel like that was a step-up in terms of getting, you know–making myself look like a good candidate to them.
Max: For sure. Do candidates who come in to TuneIn today–do you guys require C# .NET experience or?
Alex: No. Yeah, we didn’t require then. We still don’t require it and we’re not only .NET. Our web stack is Node.js, React. We’re also on the backend moving towards Golang and different languages.
Max: Got it, got it.
Alex: So yeah. At TuneIn, we don’t care what language you use.
Max: Polyglot!
Alex: Sure. Yeah.
Max: Well cool–I’m at a loss for questions at the moment. One thing I will say about that VC referral network thing is that I know that many VCs or portfolio companies have a shared either email list or even a private Slack where there are channels on Slack of hiring managers where VCs will publish resumes. So if you do end up trying to email a VC or the right point of contact at a VC, they may end up posting your resume to a shared email list or a shared channel where hiring managers can take a look at who you are and what skills you’ve got and the experience that you’ve got.
Alex: Yeah, that’s a good point–I think also that reminds me of something. When you’re reaching out to these recruiter types…another tip that my wife gave me is that you should always reach out to them assuming that they’re gonna pass whatever you said on to someone else. So you should write it up in a way that makes yourself not look good just to them, but also to who you think they’re gonna pass it onto. And, you know, try to include the information that they would wanna know to make their job easier. The recruiter is gonna like you more if you give them all the stuff they need and they just forward the email to the hiring manager like, “Hey, check out this guy.” You’re making their life easier and you’re making yourself look good in as much way as possible.
Max: I think some unique perspective that you might have about the job market for people in their first five years of their career or even beyond is that having spent five years at Microsoft, that kind of tenure is abnormal in the Bay Area. Like in the Bay Area people are constantly, maybe, transitioning jobs to try and get better pay, better titles, or losing jobs due to companies going under or projects not working out.
So coming from Seattle, what are some of the big distinctions you see even among your friends about how the job market functions here versus in a land of bigger employers?
Alex: Yeah. That’s a good question. So I guess in the Bay Area there is–there’s a lot more companies. It’s the main thing I’ve noticed, I guess. I mean part of this comes from me being more senior today than I was then, but I get hit up on LinkedIn a lot more now than I did working in Microsoft. I guess it’s not really a fair comparison because I have more years and more experience and more diversity in my talents. But yeah, I would say that when I was looking for jobs in the Bay Area, the main difference I noticed was there was a lot more companies and companies were smaller. It was like Seattle at the time. I think it’s definitely changing more today than it was then. But you know, it was Microsoft and Amazon were like…
Max: The two omnipotent employers.
Alex: Yeah. If you were a software engineer in Seattle you’d probably work there. That’s definitely changing. But a couple of years ago, that was very much the case. And coming down here, hanging out with friends and stuff–I guess maybe Google is the joke down here that everyone works for Google. But, you know, people…
Max: It’s not true.
Alex: Yeah. Exactly. It’s not true. People work for tons of different companies. So I guess that the diversity and companies and stuff was probably one of the biggest things that I noticed is a difference here.
Max: One of the things I’m curious about is if you’ve observed any kind of difference in how working from home is a more normal decision among employees or rather employees today or at smaller companies, like they exist in the Bay Area, have more leverage to say, “I wanna work from home today,” in contrast to the five years you were at Microsoft.
Alex: Yeah, that’s true. Yeah. I think people have more flexibility here in terms of being able to work from home. And I have a number of co-workers that work from home, maybe once or twice a week. I also have someone on my direct team that lives in New Hampshire. So he’s a remote employee. Definitely at Microsoft that was not the case. People were in the office every day and worked with anyone remote although we had remote teams I guess. But those were different teams entirely. But, yeah, there is more flexibility, I think, in terms of…at a smaller company. They can make things work for you a little bit more than at a bigger company where they are like, “Yeah, this is how it is.”
Max: For sure. I know this is probably a super controversial topic, but I’m gonna ask anyways.
Alex: Okay, I’m gonna have a drink then :)
Max: Sure, sure. About maternity and paternity leave. Do you think it’s easier to raise a family in the Bay Area versus working for a large MegaCorp in Seattle? Whether it’s Amazon or Microsoft. And I say this knowing that you yourself don’t have children yet. So it’s kind of controversial topic, but I’m curious for your perspective on even just anecdotally about co-workers you’ve had. How do people in tech–in engineering roles–work around having families in their lives? Shockingly ;)
Alex: What are families? Yeah. So, yeah, I don’t have any kids. So I don’t, I guess, speak from personal experience, but I have seen other coworkers have kids. And yeah, I guess I’d never really thought about that but at Microsoft, you’d see someone would have a kid and they’d be gone for a month or two and then they’d come back. And they would be back full-time doing their thing and was just like, “How is your baby?”
But at TuneIn I have a co-worker who just had a kid a month ago, and every week we’re like, “Hey, what’s going on?” Sometimes he’s working half-time, sometimes he’s not. It’s just kind of…it’s a pretty fluid situation. It’s like when he has time, he does some work, and when he doesn’t, then he doesn’t. And my manager is cool with that and, of course, I don’t know the detail of that exactly. But, yeah, I was having another co-worker who is from Ukraine and when he joined TuneIn, he was gonna have a kid and he was like, “Hey, I want to work for one month in Ukraine and then take a one month vacation.” And they’re like, “Okay.”
So he’s done that two years in a row now. And, yeah, I definitely didn’t see at Microsoft that sort of situation.
Max: It’s interesting because you’d imagine with larger companies, they’d have more of a formal policy in place that’s more family friendly and kind of more socialist for the communitarian good, but it sounds like that might not be the case. You might actually as an employee in some cases have more leverage when you’re working for a smaller company because you’re a more important cog in the wheel.
Alex: Yeah. I think that…yeah, definitely. You’re a high percentage of the company employees so they need to, you know, bend the rules a little bit to make it work for you. Like at a company like the size of Microsoft they have official rules for everything. It’s like paternity is, like, go to the paternity thing.
Max: Go to the HR “paternity office.”
Alex: Exactly. Like there is a web page and it tells you all this stuff and if you want an exception, you’ve got to reach out and do all the inquiries. You know, at a small company like…I don’t think we have a web page for paternity leave. You go talk to your manager, talk to the HR person and figure out how to make it work.
Max: So I know you got your bachelors in CS and your first job out of college was SDET, Software Development Engineering in Test. One of the things I find really interesting from talking to engineers is how a bigger portion of your skill set and education comes from self-teaching. So, do you mind sharing for our audience how you went about leveling about your skills as you went through the multiple reorgs that happened over your tenure at Microsoft and how you prepared yourself skills-wise for a new job outside of Microsoft?
Alex: Yeah, absolutely. Starting out as a tester I was definitely more in the world of, “How do I test?” What are good test cases? How to find edge cases and different things to think of which is a, at the time… but I still like testing. I just wanted to move onto something different. I moved from being a tester to internal tools. So it wasn’t an official move, but I was like, “Hey…” I would talk to the manager about this–she knew I hated doing any manual testing.
So we’d talk and figure out something I could build to help the team in some way. So at first it was kind of unofficial where I was building some tools and still writing some tests. And then with the reorgs we got moved around to where my official role was to build these tools and I already had like a little bit of all again. But, yeah, I guess in terms of what I did for interviews, oh man, I got this book–I think it’s “Cracking the Coding Interview”.
Max: Yeah, yeah. You’ve got a copy of that?
Alex: Yeah. I highly recommend it. If you’re interviewing for a software development role then read this book.
Max: So I know it’s probably a longer book and it probably includes lots of examples, but do you mind paraphrasing the type of interview that it prepares you for?
Alex: Yeah. I guess it prepares you more for the algorithmic side. A lot of the book is arrays, strings, linked list, binary trees, hash tables. Most of the book is dedicated to that, but they also have this section at the beginning for behavioral…
Max: Sure, sure. Tell me about your strengths and weaknesses?
Alex: Yeah. They have this cool table for good things to prepare for going into an interview. Write down your top three most interesting projects, or projects that didn’t work out, toughest bugs. I don’t remember the exact–
Max: Sure, sure.
Alex: But they had intelligent ways of making you remember “Oh, wait. I actually do have a cool story about”… So, yeah. For this book I didn’t go through every page, but I definitely looked through and thought, “Oh, I don’t really remember much about binary trees. I should brush up on these.” But then I was like, “I know about arrays. I don’t need to spend that much time on that section.”
Max: So when you interviewed with TuneIn or that round of job-seeking, how much algorithmic type of interviewing did you encounter? Something I’ve heard is much more common these days is the skills test, where–as opposed to asking to reverse an array efficiently or do anagram detection efficiently and prove it–the questions will be more along the line of, “here is some code with a bug in it, let’s work through together fixing the bug.” Or, “Here is a set of features, implement these features.”
When you were doing your last job seeking round before joining TuneIn, what was the breakdown of how many interviews did you encounter that were algorithmic versus skills test or both?
Alex: Yeah. That’s a good question. I guess it wasn’t super heavy algorithmic.
I guess the main exception to that was when I interviewed at Google and it was all pretty heavy hitting algorithm questions. But mostly the other companies weren’t necessarily–they didn’t care if you didn’t know how to balance a tree or, you know, didn’t know the optimal way. It was more: “Do you understand the concepts? Can you think through this problem?”
At TuneIn, one of the things we try to look for in our interviews is not, “Do you know this algorithm?” But rather, “Can you problem solve?”
Like, here is a problem. How would you solve this? “Let’s walk through. You know, there is no right answer,” or , “What sorts of things would you think about it?” We just want to see how people think and see if they have…you need to have some sort of skill prerequisite in terms of software engineering knowledge. But it’s a lot more like, “Can you think on the fly…”
Max: I’m not sure if you hold very strong opinions on this topic, but one of the things that I have come to reflect on in interviewing people and being interviewed is how it’s important as a hiring manager or as somebody as a member of a hiring team to ask the same question of multiple candidates. Like, if you don’t ask the same question every time it’s harder to contrast and compare candidates. If you ask one hard question to one person and one softball to another, you’ll end up getting a very distorted view of who you’re interviewing. Like, what is the caliber of candidates? So I guess knowing that you guys probably at TuneIn have a stable of questions that you ask, how do you manage asking the same question of each candidate without it leaking out what your guy’s magic sauce is for interviewing?
Alex: Yeah, that’s a good question. Because I guess another thing I did when I was interviewing was there was a group of friends and we had a spreadsheet that we put together, interview questions that got asked at different companies. And that was another thing I looked at. Maybe I should go do some Googling to see if the TuneIn interview questions have leaked. But, yeah, I definitely agree with what you said that it’s important to ask the same questions. Because I interview people a lot now because we’re very much looking for engineers and asking the same question to different people really allows you to see who does well and really see who doesn’t do well. The first few times I asked a question, it was like, “Oh, well, they did okay. I don’t know if I should say they shouldn’t work here.” And then I was like, “Ask it to, like, someone good,” And then we’re like, “Okay, this was a good response.” Now I can kind of calibrate that.
Max: Interviewing aside, both of us work on backend infrastructure and engineering and that type of thing.
Do you have any strong opinions about what skills in that area of the business of software engineering are gonna be tremendously valuable in the near future? What you personally are trying to get better at in the next year or two?
Alex: In terms of–interviewing aside, you mean?.
Max: Yeah, programming languages or infrastructure or technologies. Which ones are you super interested in in the next couple of years?
Alex: Yeah. I’m personally interested in the whole serverless idea of Lambdas, like AWS Lambda for example. You just put some code up there and then you say “Hey, execute my code.” It just returns the value. And you’re like, “Cool.”
You don’t care that it went, spun up some machine, deployed the code, and ran it. They had to deal with auto scaling of how many times you call it.
Max: Hands-free.
Alex: Exactly.
Max: I mean that’s their promise, but one of the main drawbacks to that that I am worried about and why I haven’t yet made the time investment into learning how to use serverless whether on any of the public clouds like AWS, Google Cloud, Azure, all three of them have their own offerings of this kind at this point, is that it’s hard to replicate what is happening in production locally.
Alex: Absolutely.
Max: Which is pretty annoying. I mean in the old model where you provision the servers and you monitor the servers in however form–there is development/production parity of some kind. And when you can’t control your own serverless instance on your MacBook or on your Windows machine it’s a little bit harder to catch the edge cases where there is a difference between development and production. And that’s where, God knows, so many back-end problems happen.
Alex: Yeah, absolutely. That’s a very good point. Being able to run these things locally and debug them locally when there is no actual server. You know they actually run on something, but to you, there is no server to run on. That’s very hard. Because you’ve got…we have to, like, write our own kind of test harness thing around it to be able to run these functions locally. But of course, it’s not the same environment that they run in.
Yeah, we’ve encountered some funny issues with them. You know, we had to just add logging and watch and see how it performed because we couldn’t reproduce it locally. But, yeah. And serverless I think is cool, but it’s not good for everything. Like if you have a really high intensive use case, for example, you don’t wanna pay all that cost. Like, you might as well spend up your own instance. It’s always running.
Max: There is a premium.
Alex: Yeah.
Max: You get a serious discount in the cloud with reserved instances. I don’t think there is any such thing as reserved pricing for Lambdas though.
Alex: No. I don’t think so. They have a free tier. You can do X number of request for free and then you pay after that.
Max: Yeah. HPC or high-performance computing is not jiving with serverless that well.
Alex: I can see that.
Max: …for some of the work that I’m doing currently, we do video rendering and one of the big constraints of Lambdas across cloud providers–whether AWS, Azure, Google Cloud–is that they put very serious constraints on how much hardware is provisioned per Lambda invocation and also about how long the Lambda can run for. So if you have a long running task that you have a hard time breaking down into smaller tasks, this is another case where using Lambdas might break down.
Alex: Absolutely.
Max: But we’re still in the very early days.
Alex: Yeah, for sure.
Max: I am also extremely optimistic.
Alex: Yeah. You know, if you don’t have to deal with machine management at all like as a software engineer, that’s great. Less to think about. But of course, that doesn’t mean that it solves all your problems like we just talked about.
There is a number of different drawbacks that you have to take into account and decide if it’s the right solution for you, for your problem.
Max: For sure, for sure. Well, awesome. This has been a freaking awesome conversation. Thanks for joining us, Alex.
Alex: Yeah, of course. This was fun.
Max: Awesome. Yeah. I’m sure we’ll do this again soon. If you guys have questions for Alex, is there a way people can reach you whether about career or tech or jobs at TuneIn?
Alex: Yeah, I mean If you wanna reach out at TuneIn I guess, I am aandresen [at] tunein.com or…I’m sure Max can figure out a way to…
Max: I can connect you. Yeah.
Alex: To connect us. Yeah.
Max: Awesome. Well, thanks for joining us, Alex!