Changing the Way We Interview with Emma Bostian
Announcer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.
Corey: This episode is sponsored in part by our friends at Jellyfish. So, you’re sitting in front of your office chair, bleary eyed, parked in front of a powerpoint and—oh my sweet feathery Jesus its the night before the board meeting, because of course it is! As you slot that crappy screenshot of traffic light colored excel tables into your deck, or sift through endless spreadsheets looking for just the right data set, have you ever wondered, why is it that sales and marketing get all this shiny, awesome analytics and inside tools? Whereas, engineering basically gets left with the dregs. Well, the founders of Jellyfish certainly did. That’s why they created the Jellyfish Engineering Management Platform, but don’t you dare call it JEMP! Designed to make it simple to analyze your engineering organization, Jellyfish ingests signals from your tech stack. Including JIRA, Git, and collaborative tools. Yes, depressing to think of those things as your tech stack but this is 2021. They use that to create a model that accurately reflects just how the breakdown of engineering work aligns with your wider business objectives. In other words, it translates from code into spreadsheet. When you have to explain what you’re doing from an engineering perspective to people whose primary IDE is Microsoft Powerpoint, consider Jellyfish. Thats Jellyfish.co and tell them Corey sent you! Watch for the wince, thats my favorite part.
Corey: This episode is sponsored in part by Liquibase. If you’re anything like me, you’ve screwed up the database part of a deployment so severely that you’ve been banned from touching every anything that remotely sounds like SQL, at at least three different companies. We’ve mostly got code deployments solved for, but when it comes to databases we basically rely on desperate hope, with a roll back plan of keeping our resumes up to date. It doesn’t have to be that way. Meet Liquibase. It is both an open source project and a commercial offering. Liquibase lets you track, modify, and automate database schema changes across almost any database, with guardrails to ensure you’ll still have a company left after you deploy the change. No matter where your database lives, Liquibase can help you solve your database deployment issues. Check them out today at liquibase.com. Offer does not apply to Route 53.
Corey: Welcome to Screaming in the Cloud. I’m Corey Quinn. One of the weird things that I’ve found in the course of, well, the last five years or so is that I went from absolute obscurity to everyone thinking that I know everyone else because I have thoughts and opinions on Twitter. Today, my guest also has thoughts and opinions on Twitter. The difference is that what she has to say is actually helpful to people. My guest is Emma Bostian, software engineer at Spotify, which is probably, if we can be honest about it, one of the least interesting things about you. Thanks for joining me.
Emma: Thanks for having me. That was quite the intro. I loved it.
Corey: I do my best and I never prepare them, which is a blessing and a curse. When ADHD is how you go through life and you suck at preparation, you’ve got to be good at improv. So, you’re a co-host of the Ladybug Podcast. Let’s start there. What is that podcast? And what’s it about?
Emma: So, that podcast is just my three friends and I chatting about career and technology. We all come from different backgrounds, have different journeys into tech. I went the quote-unquote, “Traditional” computer science degree route, but Ali is self-taught and works for AWS, and Kelly she has, like, a master’s in psychology and human public health and runs her own company. And then Sydney is an awesome developer looking for her next role. So, we all come from different places and we just chat about career in tech.
Corey: You’re also an instructor at LinkedIn Learning and Frontend Masters. I’m going to guess just based upon the name that you are something of a frontend person, which is a skill set that has constantly eluded me for 20 years, as given evidence by every time I’ve tried to build something that even remotely touches frontend or JavaScript in any sense.
Emma: Yeah, to my dad’s disdain, I have stuck with the frontend; he really wanted me to stay backend. I did an internship at IBM in Python, and you know, I learned all about assembly language and database, but frontend is what really captures my heart.
Corey: There’s an entire school of thought out there from a constituency of Twitter that I will generously refer to as shitheads that believe, “Oh, frontend is easy and it’s somehow less than.” And I would challenge anyone who holds that perspective to wind up building an interface that doesn’t look like crap first, then come and talk to me. Spoiler, you will not say that after attempting to go down that rabbit hole. If you disagree with this, you can go ahead and yell at me on Twitter so I know where you’re hiding, so I can block you. Now, that’s all well and good, but one of the most interesting things that you’ve done that aligns with topics near and dear to my heart is you wrote a book.
Now, that’s not what’s near and dear to my heart; I have the attention span to write a tweet most days. But the book was called Decoding the Technical Interview Process. Technical interviewing is one of those weird things that comes up from time to time, here and everywhere else because it’s sort of this stylized ritual where we evaluate people on a number of skills that generally don’t reflect in their day-to-day; it’s really only a series of skills that you get better by practicing, and you only really get to practice them when you’re interviewing for other jobs. That’s been my philosophy, but again, I’ve written a tweet on this; you’ve written a book. What’s the book about and what drove you to write it?
Emma: So, the book covers everything from an overview of the interview process, to how do you negotiate a job offer, to systems design, and talks about load balancing and cache partitioning, it talks about what skills you need from the frontend side of things to do well on your JavaScript interviews. I will say this, I don’t teach HTML, CSS, and JavaScript in-depth in the book because there are plenty of other resources for that. And some guy got mad at me about that the other day and wanted a refund because I didn’t teach the skills, but I don’t need to. [laugh]. And then it covers data structures and algorithms.
They’re all written in JavaScript, they have easy to comprehend diagrams. What drove me to write this is that I had just accepted a job offer in Stockholm for a web developer position at Spotify. I had also just passed my Google technical interviews, and I finally realized, holy crap, maybe I do know what I’m doing in an interview now. And this was at the peak of when people were getting laid off due to COVID and I said, “You know what? I have a lot of knowledge. And if I have a computer science degree and I was able to get through some of the hardest technical interviews, I think I should share that with the community.”
Because some people didn’t go through a CS degree and don’t understand what a linked list is. And that’s not their fault. It’s just unfortunately, there weren’t a lot of great resources—especially for web developers out there—to learn these concepts. Cracking the Coding Interview is a great book, but it’s written in backend language and it’s a little bit hard to digest as a frontend developer. So, I decided to write my own.
Corey: How much of the book is around the technical interview process as far as ask, “Here’s how you wind up reversing linked lists,” or, “Inverting a binary tree,” or whatever it is where you’re tracing things around without using a pointer, how do you wind up detecting a loop in a recursive whatever it is—yeah, as you can tell, I’m not a computer science person at all—versus how much of it is, effectively, interview 101 style skills for folks who are even in non-technical roles could absorb?
Emma: My goal was, I wanted this to be approachable by anyone without extensive technical knowledge. So, it’s very beginner-friendly. That being said, I cover the basic data structures, talking about what traditional methods you would see on them, how do you code that, what does that look like from a visual perspective with fake data? I don’t necessarily talk about how do you reverse a binary tree, but I do talk about how do you balance it if you remove a node? What if it’s not a leaf node? What if it has children? Things like that.
It’s about [sigh] I would say 60/40, where 40% is coding and technical stuff, but maybe—eh, it’s a little bit closer to 50/50; it kind of depends. I do talk about the take-home assessment and tips for that. When I do a take-home assessment, I like to include a readme with things I would
have done if I had more time, or these are performance trade-offs that I made; here’s why. So, there’s a lot of explanation as to how you can improve your chances at moving on to the next round. So yeah, I guess it’s 50/50.
I also include a section on tips for hiring managers, how to create an inclusive and comfortable environment for your candidates. But it’s definitely geared towards candidates, and I would say it’s about 50/50 coding tech and process stuff.
Corey: One of the problems I’ve always had with this entire industry is it feels like we’re one of the only industries that does this, where we bring people in, and oh, you’ve been an engineer for 15 years at a whole bunch of companies I’ve recognized, showing career progression, getting promoted at some of them transitioning from high-level role to high-level role. “Great, we are so glad that you came in to interview. Now, up to the whiteboard, please, and implement FizzBuzz because I have this working theory that you don’t actually know how to code, and despite the fact that you’ve been able to fake your way through it at big companies for 15 years, I’m the one that’s going to catch you out with some sort of weird trivia question.” It’s this adversarial, almost condescending approach and I don’t see it in any other discipline than tech. Is that just because I’m not well-traveled enough? Is that because I’m misunderstanding the purpose of all of these things? Or, what is this?
Emma: I think partially it was a gatekeeping solution for a while, for people who are comfortable in their roles and may be threatened by people who have come through different paths to get to tech. Because software engineer used to be an accredited title that you needed a degree or certification to get. And in some countries it still is, so you’ll see this debate sometimes about calling yourself a software engineer if you don’t have that accreditation. But in this day and age, people go through boot camps, they can come from other industries, they can be self-taught. You don’t need a computer science degree, and I think the interview process has not caught up with that.
I will say [laugh] the worst interview I had was at IBM when I was already working there. I was already a web developer there, full-time. I was interviewing for a role, and I walked into the room and there were five guys sitting at a table and they were like, “Get up to the whiteboard.” It was for a web development job and they quizzed me about Java. And I was like, “Um, sir, I have not done Java since college.” And they were like, “We don’t care.”
Corey: Oh, yeah, coding on a whiteboard in front of five people who already know the answer—
Emma: Horrifying.
Corey: —during a—for them, it’s any given Tuesday, and for you, it is a, this will potentially determine the course that your career takes from this point forward. There’s a level of stress that goes into that never exists in our day-to-day of building things out.
Emma: Well, I also think it’s an artificial environment. And why, though? Like, why is this necessary? One of the best interviews I had was actually with Gatsby. It was for an open-source maintainer role, and they essentially let me try the product before I bought it.
Like, they let me try out doing the job. It was a paid process, they didn’t expect me to do it for free. I got to choose alternatives if I wanted to do one thing or another, answer one question or another, and this was such an exemplary process that I always bring it up because that is a modern interview process, when you are letting people try the position. Now granted, not everyone can do this, right? We’ve got parents, we’ve got people working two jobs, and not everyone can afford to take the time to try out a job.
But who can also afford a five-stage interview process that still warrants taking vacation days? So, I think at least—at the very least—pay your candidates if you can.
Corey: Oh, yeah. One of the best interviews I’ve ever had was at a company called Three Rings Design, which is now defunct, unfortunately, but it was fairly typical ops questions of, “Yeah, here’s an AWS account. Spin up a couple EC2 instances, load balance between them, have another one monitored. You know, standard op stuff. And because we don’t believe in asking people to work for free, we’ll pay you $300 upon completion of the challenge.”
Which, again, it’s not huge money for doing stuff like that, but it’s also, this shows a level of respect for my time. And instead of giving me a hard deadline of when it was due, they asked me, “When can we expect this by?” Which is a great question in its own right because it informs you about a candidate’s ability to set realistic deadlines and then meet them, which is one of those useful work things. And they—unlike most other companies I spoke with in that era—were focused on making it as accommodating for the candidate as possible. They said, “We’re welcome to interview you during the workday; we can also stay after hours and have a chat then, if that’s more convenient for your work schedule.”
Because they knew I was working somewhere else; an awful lot of candidates are. And they just bent over backwards to be as accommodating as possible. I see there’s a lot of debate these days in various places about the proper way to interview candidates. No take-home because biases for people who don’t have family obligations or other commitments outside of work hours. “Okay, great, so I’m going to come in interview during the day?” “No. That biases people who can’t take time off.” And, on some level, it almost seems to distill down to no one likes any way that there is of interviewing candidates, and figuring out a way that accommodates everyone is a sort of a fool’s errand. It seems like there is no way that won’t get you yelled at.
Emma: I think there needs to be almost like a choose your own adventure. What is going to set you up for success and also allow you to see if you want to even work that kind of a job in the first place? Because I thought on paper, open-source maintainer sounds awesome. And upon looking into the challenges, I’m like, “You know what? I think I’d hate this job.”
And I pulled out and I didn’t waste their time and they didn’t waste mine. So, when you get down to it, honestly, I wish I didn’t have to write this book. Did it bring me a lot of benefit? Yeah. Let’s not sugarcoat that. It allowed me to pay off my medical debt and move across a continent, but that being said, I wish that we were at a point in time where that did not need to exist.
Corey: One of the things that absolutely just still gnaws at me even years later, is I interviewed at Google twice, and I didn’t get an offer either time, I didn’t really pass their technical screen either time. The second one that really sticks out in my mind where it was, “Hey, write some code in a Google Doc while we watch remotely,” and don’t give you any context or hints on this. And just it was—the entire process was sitting there listening to them basically, like, “Nope, not what I’m thinking about. Nope, nope, nope.” It was… by the end of that conversation, I realized that if they were going to move forward—which they didn’t—I wasn’t going to because I didn’t want to work with people that were that condescending and rude.
And I’ve held by it; I swore I would never apply there again and I haven’t. And it’s one of those areas where, did I have the ability to do the job? I can say in hindsight, mostly. Were there things I was going to learn as I went? Absolutely, but that’s every job.
And I’m realizing as I see more and more across the ecosystem, that they were an outlier in a potentially good way because in so many other places, there’s no equivalent of the book that you have written that is given to the other side of the table: how to effectively interview candidates. People lose sight of the fact that it’s a sales conversation; it’s a two-way sale, they have to convince you to hire them, but you also have to convince them to work with you. And even in the event that you pass on them, you still want them to say nice things about you because it’s a small industry, all things considered. And instead, it’s just been awful.
Emma: I had a really shitty interview, and let me tell you, they have asked me subsequently if I would re-interview with them. Which sucks; it’s a product that I know and love, and I’ve talked about this, but I had the worst experience. Let me clarify, I had a great first interview with them, and I was like, “I’m just not ready to move to Australia.” Which is where the job was. And then they contacted me again a year later, and it was the worst experience of my life—same recruiter—it was the ego came out.
And I will tell you what, if you treat your candidates like shit, they will remember and they will never recommend people interview for you. [laugh]. I also wanted to mention about accessibility because—so we talked about, oh, give candidates the choice, which I think the whole point of an interview should be setting your candidates up for success to show you what they can do. And I talked with [Stephen 00:14:09]—oh, my gosh, I can’t remember his last name—but he is a quadriplegic and he types with a mouthstick. And he was saying he would go to technical interviews and they would not be prepared to set him up for success.
And they would want to do these pair programming, or, like, writing on a whiteboard. And it’s not that he can’t pair program, it’s that he was not set up for success. He needed a mouthstick to type and they were not prepared to help them with that. So, it’s not just about the commitment that people need. It’s also about making sure that you are giving candidates what they need to give the best interview possible in an artificial environment.
Corey: One approach that people have taken is, “Ah, I’m going to shortcut this and instead of asking people to write code, I’m going to look at their work on GitHub.” Which is, in some cases, a great way to analyze what folks are capable of doing. On the other, well, there’s a lot of things that play into that. What if they’re working in environment where they don’t have the opportunity to open-source their work? What if people consider this a job rather than an all-consuming passion?
I know, perish the thought. We don’t want to hire people like that. Grow up. It’s not useful, and it’s not helpful. It’s not something that applies universally, and there’s an awful lot of reasons why someone’s code on GitHub might be materially better—or worse—than their work product. I think that’s fine. It’s just a different path toward it.
Emma: I don’t use GitHub for largely anything except just keeping repositories that I need. I don’t actively update it. And I have, like, a few thousand followers; I’m like, “Why the hell do you guys follow me? I don’t do anything.” It’s honestly a terrible representation.
That being said, you don’t need to have a GitHub repository—an active one—to showcase your skills. There are many other ways that you can show a potential employer, “Hey, I have a lot of skills that aren’t necessarily showcased on my resume, but I like to write blogs, I like to give tech talks, I like to make YouTube videos,” things of that nature.
Corey: I had a manager once who refused to interview anyone who didn’t have a built-out LinkedIn profile, which is also one of these bizarre things. It’s, yeah, a lot of people don’t feel the need to have a LinkedIn profile, and that’s fine. But the idea that, “Oh, yeah, they have this profile they haven’t updated in a couple years, it’s clearly they’re not interested in looking for work.” It’s, yeah. Maybe—just a thought here—your ability to construct a resume and build it out in the way that you were expecting is completely orthogonal to how effective they might be in the role. The idea that someone not having a LinkedIn profile somehow implies that they’re sketchy is the wrong lesson to take from all of this. That site is terrible.
Emma: Especially when you consider the fact that LinkedIn is primarily used in the United States as a social—not social networking—professional networking tool. In Germany, they use Xing as a platform; it’s very similar to LinkedIn, but my point is, if you’re solely looking at someone’s LinkedIn as a representation of their ability to do a job, you’re missing out on many candidates from all over the world. And also those who, yeah, frankly, just don’t—like, they have more important things to be doing than updating their LinkedIn profile. [laugh].
Corey: On some level, it’s the idea of looking at a consultant, especially independent consultant type, when their website is glorious and up-to-date and everything’s perfect, it’s, oh, you don’t really have any customers, do you? As opposed to the consultants you know who are effectively sitting there with a waiting list, their website looks like crap. It’s like, “Is this Geocities?” No. It’s just that they’re too busy working on the things that bring the money instead of the things that bring in business, in some respects.
Let’s face it, websites don’t. For an awful lot of consulting work, it’s word of mouth. I very rarely get people finding me off of Google, clicking a link, and, “Hey, my AWS bill is terrible. Can you help us with it?” It happens, but it’s not something that happens so frequently that we want to optimize for it because that’s not where the best customers have been coming from. Historically, it’s referrals, it’s word of mouth, it’s people seeing the aggressive shitposting I engage in on Twitter and saying, “Oh, that’s someone that should help me with my Amazon bill.” Which I don’t pretend to understand, but I’m still going to roll with it.
Emma: You had mentioned something about passion earlier, and I just want to say, if you’re a hiring manager or recruiter, you shouldn’t solely be looking at candidates who superficially look like they’re passionate about what they do. Yes, that is—it’s important, but it’s not something that—like, I don’t necessarily choose one candidate over the other because they push commits, and open pull requests on GitHub, and open-source, and stuff. You can be passionate about your job, but at the end of the day, it’s still a job. For me, would I be working if I had to? No. I’d be opening a bookstore because that’s what I would really love to be doing. But that doesn’t mean I’m not passionate about my job. I just show it in different ways. So, just wanted to put that out there.
Corey: Oh, yeah. The idea that you must eat, sleep, live, and breathe is—hell with that. One of the reasons that we get people to work here at The Duckbill Group is, yeah, we care about getting the job done. We don’t care about how long it takes or when you work; it’s oh, you’re not feeling well? Take the day off.
We have very few things that are ‘must be done today’ style of things. Most of those tend to fall on me because it’s giving a talk at a conference; they will not reschedule the conference for you. I’ve checked. So yeah, that’s important, but that’s not most days.
Emma: Yeah. It’s like programming is my job, it’s not my identity. And it’s okay if it is your primary hobby if that is how you identify, but for me, I’m a person with actual hobbies, and, you know, a personality, and programming is just a job for me. I like my job, but it’s just a job.
Corey: And on the side, you do interesting things like wrote a book. You mentioned earlier that it wound up paying off some debt and helping
cover your move across an ocean. Let’s talk a little bit about that because I’m amenable to the idea of side projects that accidentally have a way of making money. That’s what this podcast started out as. If I’m being perfectly honest, and started out as something even more self-serving than that.
It’s, well if I reach out to people in this industry that are doing interesting things and ask them to grab a cup of coffee, they’ll basically block me, whereas if I ask them to, would you like to appear on my podcast, they’ll clear time on their schedule. I almost didn’t care if my microphone was on or not when I was doing these just because it was a chance to talk to really interesting people and borrow their brain, people reached out asking they can sponsor it, along with the newsletter and the rest, and it’s you want to give me money? Of course, you can give me money. How much money? And that sort of turned into a snowball effect over time.
Five years in, it’s turned into something that I would never have predicted or expected. But it’s weird to me still, how effective doing something you’re actually passionate about as a side project can sort of grow wings on its own. Where do you stand on that?
Emma: Yeah, it’s funny because with the exception of the online courses that I’ve worked with—I mentioned LinkedIn Learning and Frontend Masters, which I knew were paid opportunities—none of my side projects started out for financial reasonings. The podcast that we started was purely for fun, and the sponsors came to us. Now, I will say right up front, we all had pretty big social media followings, and my first piece of advice to anyone looking to get into side projects is, don’t focus so much on making money at the get-go. Yes, to your point, Corey, focus on the stuff you’re passionate about. Focus on engaging with people on social media, build up your social media, and at that point, okay, monetization will slowly find its way to you.
But yeah, I say if you can monetize the heck out of your work, go for it. But also, free content is also great. I like to balance my paid content with my free content because I recognize that not everyone can afford to pay for some of this information. So, I generally always have free alternatives. And for this book that we published, one of the things that was really important to me was keeping it affordable.
The first publish I did was $10 for the book. It was like a 250-page book. It was, like, $10 because again, I was not in it for the money. And when I redid the book with the egghead.io team, the same team that did Epic React with Kent C. Dodds, I said, “I want to keep this affordable.” So, we made sure it was still affordable, but also that we had—what’s it called? Parity pricing? Pricing parity, where depending on your geographic location, the price is going to accommodate for how the currency is doing. So, yes, I would agree. Side project income for me allows me to do incredible stuff, but it wasn’t why I got into it in the first place. It was genuinely just a nice-to-have.
Corey: I haven’t really done anything that asks people for money directly. I mean, yeah, I sell t-shirts on the website, and mugs, and drink umbrellas—don’t get me started—but other than that and the charity t-shirt drive I do every year, I tend to not be good at selling things that don’t have a comma in the price tag. For me, it was about absolutely building an audience. I tend to view my Twitter follower count as something of a proxy for it, but the number I actually care about, the audience that I’m focused on cultivating, is newsletter subscribers because no social media platform that we’ve ever seen has lasted forever. And I have to imagine that Twitter will one day wane as well.
But email has been here since longer than we’d been alive, and by having a list of email addresses and ways I can reach out to people on an ongoing basis, I can monetize that audience in a more direct way, at some point should I need them to. And my approach has been, well, one, it’s a valuable audience for some sponsors, so I’ve always taken the asking corporate people for money is easier than asking people for personal money, plus it’s a valuable audience to them, so it tends to blow out a number of the metrics that you would normally expect of, oh, for this audience size, you should generally be charging Y dollars. Great. That makes sense if you’re slinging mattresses or free web hosting, but when it’s instead, huh, these people buy SaaS enterprise software and implement it at their companies, all of economics tend to start blowing apart. Same story with you in many respects.
The audience that you’re building is functionally developers. That is a lucrative market for the types of sponsors that are wise enough to understand that—in a lot of cases these days—which product a company is going to deploy is not dictated by their exec so much as it is the bottom-up adoption path of engineers who like the product.
Emma: Mm-hm. Yeah, and I think once I got to maybe around 10,000 Twitter followers is when I changed my mentality and I stopped caring so much about follower count, and instead I just started caring about the people that I was following. And the number is a nice-to-have but to be honest, I don’t think so much about it. And I do understand, yes, at that point, it is definitely a privilege that I have this quote-unquote, “Platform,” but I never see it as an audience, and I never think about that “Audience,” quote-unquote, as a marketing platform. But it’s funny because there’s no right or wrong. People will always come to you and be like, “You shouldn’t monetize your stuff.” And it’s like—
Corey: “Cool. Who’s going to pay me then? Not you, apparently.”
Emma: Yeah. It’s also funny because when I originally sold the book, it was $10 and I got so many people being like, “This is way too cheap. You should be charging more.” And I’m like, “But I don’t care about the money.” I care about all the people who are unemployed and not able to survive, and they have families, and they need to get a job and they don’t know how.
That’s what I care about. And I ended up giving away a lot of free books. My mantra was like, hey if you’ve been laid off, DM me. No questions asked, I’ll give it to you for free. And it was nice because a lot of people came back, even though I never asked for it, they came back and they wanted to purchase it after the fact, after they’d gotten a job.
And to me that was like… that was the most rewarding piece. Not getting their money; I don’t care about that, but it was like, “Oh, okay. I was actually able to help you.” That is what’s really the most rewarding. But yeah, certainly—and back really quickly to your email point, I highly agree, and one of the first things that I would recommend to anyone looking to start a side product, create free content so that you have a backlog that people can look at to… kind of build trust.
Corey: Give it away for free, but also get emails from people, like a trade for that. So, it’s like, “Hey, here’s a free guide on how to start a podcast from scratch. It’s free, but all I would like is your email.” And then when it comes time to publish a course on picking the best audio and visual equipment for that podcast, you have people who’ve already been interested in this topic that you can now market to.
This episode is sponsored by our friends at Oracle Cloud. Counting the pennies, but still dreaming of deploying apps instead of "Hello, World" demos? Allow me to introduce you to Oracle's Always Free tier. It provides over 20 free services and infrastructure, networking databases, observability, management, and security.
And - let me be clear here - it's actually free. There's no surprise billing until you intentionally and proactively upgrade your account. This means you can provision a virtual machine instance or spin up an autonomous database that manages itself all while gaining the networking load, balancing and storage resources that somehow never quite make it into most free tiers needed to support the application that you want to build.
With Always Free you can do things like run small scale applications, or do proof of concept testing without spending a dime. You know that I always like to put asterisks next to the word free. This is actually free. No asterisk. Start now. Visit https://snark.cloud/oci-free that's https://snark.cloud/oci-free.
Corey: I’m not sitting here trying to judge anyone for the choices that they make at all. There are a lot of different paths to it. I’m right there with you. One of the challenges I had when I was thinking about, do I charge companies or do I charge people was that if I’m viewing it through a lens of audience growth, well, what stuff do I gate behind a paywall? What stuff don’t I? Well, what if I just—
Emma: Mm-hm.
Corey: —gave it all away? And that way I don’t have to worry about the entire class of problems that you just alluded to of, well, how do I make sure this is fair? Because a cup of coffee in San Francisco is, what, $14 in some cases? Whereas that is significant in places that aren’t built on an economy of foolishness. How do you solve for that problem? How do you deal with the customer service slash piracy issues slash all the other nonsense? And it’s just easier.
Emma: Yeah.
Corey: Something I’ve found, too, is that when you’re charging enough money to companies, you don’t have to deal with an entire class of customer service problem. You just alluded to the other day that well, you had someone who bought your book and was displeased that it wasn’t a how to write code from scratch tutorial, despite the fact that he were very clear on what it is and what it isn’t. I don’t pretend to understand that level of entitlement. If I spend 10 or 20 bucks on an ebook, and it’s not very good, let’s see, do I wind up demanding a refund from the author and making them feel bad about it, or do I say, “The hell with it.” And in my case, I—there is privilege baked into this; I get that, but it’s I don’t want to make people feel bad about what they’ve built. If I think there’s enough value to spend money on it I view that as a one-way transaction, rather than chasing someone down for three months, trying to get a $20 refund.
Emma: Yeah, and I think honestly, I don’t care so much about giving refunds at all. We have a 30-day money-back guarantee and we don’t ask any questions. I just asked this person for feedback, like, “Oh, what was not up to par?” And it was just, kind of like, BS response of like, “Oh, I
didn’t read the website and I guess it’s not what I wanted.” But the end of the day, they still keep the product.
The thing is, you can’t police all of the people who are going to try to get your content for free if you’re charging for it; it’s part of it. And I knew that when I got into it, and honestly, my thing is, if you are circulating a book that helps you get a job in tech and you’re sending it to all your friends, I’m not going to ask any questions because it’s very much the sa—and this is just my morals here, but if I saw someone stealing food from a grocery store, I wouldn’t tell on them because at the end of the day, if you’re s—
Corey: Same story. You ever see someone’s stealing baby formula from a store? No, you didn’t.
Emma: Right.
Corey: Keep walking. Mind your business.
Emma: Exactly. Exactly. So, at the end of the day, I didn’t necessarily care that—people are like, “Oh, people are going to share your book around. It’s a PDF.” I’m like, “I don’t care. Let them. It is what it is. And the people who wants to support and can, will.” But I’m not asking.
I still have free blogs on data structures, and algorithms, and the interview stuff. I do still have content for free, but if you want more, if you want my illustrated diagrams that took me forever with my Apple Pencil, fair enough. That would be great if you could support me. If not, I’m still happy to give you the stuff for free. It is what it is.
Corey: One thing that I think is underappreciated is that my resume doesn’t look great. On paper, I have an eighth-grade education, and I don’t have any big tech names on my resume. I have a bunch of relatively short stints; until I started this place, I’ve never lasted more than two years anywhere. If I apply through the front door the way most people do for a job, I will get laughed out of the room by the applicant tracking system, automatically. It’ll never see a human.
And by doing all these side projects, it’s weird, but let’s say that I shut down the company for some reason, and decide, ah, I’m going to go get a job now, my interview process—more or less, and it sounds incredibly arrogant, but roll with it for a minute—is, “Don’t you know who I am? Haven’t you heard of me before?” It’s, “Here’s my website. Here’s all the stuff I’ve been doing. Ask anyone in your engineering group who I am and you’ll see what pops up.”
You’re in that same boat at this point where your resume is the side projects that you’ve done and the audience you’ve built by doing it. That’s something that I think is underappreciated. Even if neither one of us made a dime through direct monetization of things that we did, the reputational boost to who we are and what we do professionally seems to be one of those things that pays dividends far beyond any relatively small monetary gain from it.
Emma: Absolutely, yeah. I actually landed my job interview with Spotify through Twitter. I was contacted by a design systems manager. And I was in the interview process for them, and I ended up saying, “You know, I’m not ready to move to Stockholm. I just moved to Germany.”
And a year later, I circled back and I said, “Hey, are there any openings?” And I ended up re-interviewing, and guess what? Now, I have a beautiful home with my soulmate and we’re having a child. And it’s funny how things work out this way because I had a Twitter account. And so don’t undervalue [laugh] social media as a tool in lieu of a resume because I don’t think anyone at Spotify even saw my resume until it actually accepted the job offer, and it was just a formality.
So yeah, absolutely. You can get a job through social media. It’s one of the easiest ways. And that’s why if I ever see anyone looking for a job on Twitter, I will retweet, and vouch for them if I know their work because I think that’s one of the quickest ways to finding an awesome candidate.
Corey: Back in, I don’t know, 2010, 2011-ish. I was deep in the IRC weed. I was network staff on the old freenode network—not the new terrible one. The old, good one—and I was helping people out with various things. I was hanging out in the Postfix channel and email server software thing that most people have the good sense not to need to know anything about.
And someone showed up and was asking questions about their config, and I was working with them, and teasing them, and help them out with it. And at the end of it, his comment was, “Wow, you’re really good at this. Any chance you’d be interested in looking for jobs?” And the answer was, “Well, sure, but it’s a global network. Where are you?”
Well, he was based in Germany, but he was working remotely for Spotify in Stockholm. A series of conversations later, I flew out to Stockholm and interviewed for a role that they decided I was not a fit for—and again, they’re probably right—and I often wonder how my life would have gone differently if the decision had gone the other way. I mean, no hard feelings, please don’t get me wrong, but absolutely, helping people out, interacting with people over social networks, or their old school geeky analogs are absolutely the sorts of things that change lives. I would never have thought to apply to a role like that if I had been sitting here looking at job ads because who in the world would pick up someone with relatively paltry experience and move them halfway around the world? This was like a fantasy, not a reality.
Emma: [laugh].
Corey: It’s the people you get to know—
Emma: Yeah.
Corey: —through these social interactions on various networks that are worth… they’re worth gold. There’s no way to describe it other than that.
Emma: Yeah, absolutely. And if you’re listening to this, and you’re discouraged because you got turned down for a job, we’ve all been there, first of all, but I remember being disappointed because I didn’t pass my first round of interviews of Google the first time I interviewed with them, and being, like, “Oh, crap, now I can’t move to Munich. What am I going to do with my life?” Well, guess what, look where I am today. If I had gotten that job that I thought was it for me, I wouldn’t be in the happiest phase of my life.
And so if you’re going through it—obviously, in normal circumstances where you’re not frantically searching for a job; if you’re in more of a casual life job search—and you’ve been let go from the process, just realize that there’s probably something bigger and better out there for you, and just focus on your networking online. Yeah, it’s an invaluable tool.
Corey: One time when giving a conference talk, I asked, “All right, raise your hand if you have never gone through a job interview process and then not been offered the job.” And a few people did. “Great. If your hand is up, aim higher. Try harder. Take more risks.”
Because fundamentally, job interviews are two-way streets and if you are only going for the sure thing jobs, great, stretch yourself, see what else is out there. There’s no perfect attendance prize. Even back in school there wasn’t. It’s the idea of, “Well, I’ve only ever taken the easy path because I don’t want to break my streak.” Get over it. Go out and interview more. It’s a skill, unlike most others that you don’t get to get better at unless you practice it.
So, you’ve been in a job for ten years, and then it’s time to move on—I’ve talked to candidates like this—their interview skills are extremely rusty. It takes a little bit of time to get back in the groove. I like to interview every three to six months back when I was on the job market. Now that I, you know, own the company and have employees, it looks super weird if I do it, but I miss it. I miss those conversations. I miss the aspects—
Emma: Yes.
Corey: —of exploring what the industry cares about.
Emma: Absolutely. And don’t underplay the importance of studying the foundational language concepts. I see this a lot in candidates where they’re so focused on the newest and latest technologies and frameworks, that they forgot foundational JavaScript, HTML, and CSS. Many companies are focused primarily on these plain language concepts, so just make sure that when you are ready to get back into interviewing and enhance that skill, that you don’t neglect the foundation languages that the web is built on if you’re a web developer.
Corey: I’d also take one last look around and realize that every person you admire, every person who has an audience, who is a known entity in the space only has that position because someone, somewhere did them a favor. Probably lots of someones with lots of favors. And you can’t ever pay those favors back. All you can do is pay it forward. I repeatedly encourage people to reach out to me if there’s something I can do to help. And the only thing that surprises me is how few people in the audience take me up on that. I’m talking to you, listener. Please, if I can help you with something, please reach out. I get a kick out of doing that sort of thing.
Emma: Absolutely. I agree.
Corey: Emma, thank you so much for taking the time to speak with me today. If people want to learn more, where can they find you?
Emma: Well, you can find me on Twitter. It’s just @EmmaBostian, I’m, you know, shitposting over there on the regular. But sometimes I do tweet out helpful things, so yeah, feel free to engage with me over there. [laugh].
Corey: And we will, of course, put a link to that in the [show notes 00:35:42]. Thank you so much for taking the time to speak with me today. I appreciate it.
Emma: Yeah. Thanks for having me.
Corey: Emma Bostian, software engineer at Spotify and oh, so very much more. I’m Cloud Economist Corey Quinn, and this is Screaming in the Cloud. If you’ve enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you’ve hated this podcast, please leave a five-star review on your podcast platform of choice, along with an incoherent ranting comment mentioning that this podcast as well failed to completely teach you JavaScript.
Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.
Announcer: This has been a HumblePod production. Stay humble.
Join our newsletter
2021 Duckbill Group, LLC