Screaming in the Cloud

Cassidy Williams is the principal developer experience engineer at Netlify, an advisor at Polywork, and the co-founder and chief product officer of Cosynd, Inc. Prior to these positions, she worked as an instructor and senior engineer at React Training, director of outreach at cKeys, a senior software engineer at CodePen, head of developer voice programs at Amazon, and a software engineer at Venmo, among other positions.

Join Corey and Cassidy as they talk about what Netlify is and what a developer experience engineer does, how JavaScript started off as a toy language and why everything that can be built with JavaScript will be moving forward, the benefits of using low-code development tools, how discovering TikTok helped Cassidy drum up a major following on social media, how Cassidy's humor is never directed at people or organizations and why that's the case, the differences between recording a podcast and livestreaming on Twitch from the speaker's point of view, and more.

Show Notes

About Cassidy

Cassidy is a Principal Developer Experience Engineer at Netlify. She's worked for several other places, including CodePen, Amazon, and Venmo, and she's had the honor of working with various non-profits, including cKeys and Hacker Fund as their Director of Outreach. She's active in the developer community, and one of Glamour Magazine's 35 Women Under 35 Changing the Tech Industry and LinkedIn's Top Professionals 35 & Under. As an avid speaker, Cassidy has participated in several events including the Grace Hopper Celebration for Women in Computing, TEDx, the United Nations, and dozens of other technical events. She wants to inspire generations of STEM students to be the best they can be, and her favorite quote is from Helen Keller: "One can never consent to creep when one feels an impulse to soar." She loves mechanical keyboards and karaoke.


Links:


What is Screaming in the Cloud?

Screaming in the Cloud with Corey Quinn features conversations with domain experts in the world of Cloud Computing. Topics discussed include AWS, GCP, Azure, Oracle Cloud, and the "why" behind how businesses are coming to think about the Cloud.

Transcript

Announcer: Hello, and welcome to Screaming in the Cloud with your host, Cloud Economist 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 Thinkst. This is going to take a minute to explain, so bear with me. I linked against an early version of their tool, canarytokens.org in the very early days of my newsletter, and what it does is relatively simple and straightforward. It winds up embedding credentials, files, that sort of thing in various parts of your environment, wherever you want to; it gives you fake AWS API credentials, for example. And the only thing that these things do is alert you whenever someone attempts to use those things. It’s an awesome approach. I’ve used something similar for years. Check them out. But wait, there’s more. They also have an enterprise option that you should be very much aware of canary.tools. You can take a look at this, but what it does is it provides an enterprise approach to drive these things throughout your entire environment. You can get a physical device that hangs out on your network and impersonates whatever you want to. When it gets Nmap scanned, or someone attempts to log into it, or access files on it, you get instant alerts. It’s awesome. If you don’t do something like this, you’re likely to find out that you’ve gotten breached, the hard way. Take a look at this. It’s one of those few things that I look at and say, “Wow, that is an amazing idea. I love it.” That’s canarytokens.org and canary.tools. The first one is free. The second one is enterprise-y. Take a look. I’m a big fan of this. More from them in the coming weeks.

Corey: This episode is sponsored in part by our friends at Lumigo. If you’ve built anything from serverless, you know that if there’s one thing that can be said universally about these applications, it’s that it turns every outage into a murder mystery. Lumigo helps make sense of all of the various functions that wind up tying together to build applications. It offers one-click distributed tracing so you can effortlessly find and fix issues in your serverless and microservices environment. You’ve created more problems for yourself; make one of them go away. To learn more, visit lumigo.io.

Corey: I’m Corey Quinn. I’m joined this week by Cassidy Williams, principal developer experience engineer at Netlify. Cassidy, thanks for joining me.

Cassidy: Thanks for having me.

Corey: So, you’re famous in many circles for things that have nothing to do with your actual job. Or at least that’s the perception. So, let’s at least start there because I’m not sure we’ll get back to it. What is Netlify? And what does a principal developer experience engineer do at such a place?

Cassidy: Yeah, so the shortest answer is, it’s a place where you can host your website. The longer answer is it’s a whole development workflow. You can build whatever types of complex websites that you want, and we make it very easy to get it up and running. And my job there is on the developer experience team. And basically, what we do is we are developer experience engineers. We try to build things and show developers how to make their apps, their websites, their
various products, and projects easier to build on Netlify.

Corey: Sort of the whole idea of what I used to think of, I guess, as static websites and various ways to host it, which I think is now called Jamstack. But that probably also misses a fair bit of nuance because I’m going to be completely transparent here: I am crap at all things frontend.

Cassidy: It takes all kinds to make a project work. Yeah, so it is more than static. I like to think of it more as static first. The way I’ve defined Jamstack, that kind of clicks with most people is, writing Jamstack—and for those who don’t know, it initially was an acronym, where it was:, JavaScript, APIs, and Markup stack. And so, it’s less about technologies and more about the philosophy of building websites.

But the philosophy of it is, it’s kind of like building mobile applications, but in the browser, where you try to build as much as you can upfront, and then pull data in as needed. Because in a mobile application, when you have something native, you don’t, server-side, render the UI every single time. The UI is built pretty—

Corey: Well, not with that attitude anyway.

Cassidy: [laugh]. That’s true. That’s true. But when you’re on a mobile app, you don’t normally pull in the UI every single time. It’s built-in, and then you pull in data as needed; sometimes it’s local, sometimes it’s on a server somewhere. And that’s what Jamstack is all about. It’s building as much as you can upfront and then pulling in data as needed.

Corey: The idea is incredibly compelling, and it gets at a emerging trend that I don’t think that there’s any escaping, and—maybe this is overblown, I’d love to get your feedback on it—I can’t shake the feeling that JavaScript is the future—not necessarily a frontend—in general, when it comes to, effectively, computers. We’re seeing it on the backend, we’re seeing it on the frontend, the major cloud providers are all moving in a direction of approaching folks who have JavaScript experience, and that’s the only certainty in that persona that they wind up identifying. It is very clearly not going away while getting more capable. Is that fair? Is that missing something? What’s the deal there?

Cassidy: I keep hearing there’s, like, a rule that people are saying, like, “If it can be built in JavaScript, it will,” because I think it started as kind of this toy language that people didn’t really take seriously. But it has not only become more powerful, but also browsers have become more powerful too, and you can just build more and more with it. And because it’s kind of a low barrier-to-entry language, it’s relatively simple to at least initially learn JavaScript before you get into all the nuances of everything, that I think, just because there are more people using it and it’s easier and faster to pick up then something like assembly or C++ or something. I hesitate to make generalizations because you never know, but it does feel like that sometimes, that JavaScript is just the way that things are going.

Corey: And I admit, a couple of times I have tried to get into the JavaScript world, and it isn’t clicking for me. My lingua franca is crappy Python. And it’s just crappy enough to run, but it’s neither elegant nor well-designed. It is also barely functional. And every time I have brought in an actual developer to turn some of my scripts into something a bit more robust, they ask me what it does, they smile and nod a lot and never take their eyes off me for a second, and then immediately get rid of everything I might possibly have touched.
This is, of course, a best practice where I’m involved. But it runs. Like, “This is the worst code I’ve ever run.” “Ah, yes, but it does run.” The problem I have with JavaScript is that I do not understand it. The idea of asynchronous calls on a
browser completely melt my brain whenever I look at it.

That’s caused a few of my early naive mistakes where, “Oh, go ahead and set this value and then use it here down below, and—wait. Why is it completing before it has that value and it’s not you—what is going on here?” And now I understand the general principles of it, but I’m still getting lost and confused in the weeds. Now, is this just another expression of being secretly terrible? Or is there a nuance here that I’m not picking up on?

Cassidy: I was smiling the entire time you were saying this because I feel like almost everybody who is new to JavaScript coming from another language has had the exact same issues. So, you’re not alone, and you’re not a total idiot. [laugh].

Corey: So, I decided that it was time to learn it the second time, and I—all right, I’m going to break my own rule, which is the way I normally learn something new is I’ll dive into it and start building something and then we’ll see what happens. Sure, it means I’m a full stack overflow developer, and my primary IDE is copying and pasting, but I can get something sort of functional that works. That approach wasn’t working for me, so what I did on my second attempt was odd. I’m going to go actually do the unthinkable for me, and read some documentation and/or some tutorials.

And I was almost immediately blown off course there because suddenly, I find myself just wandering onto what I can only describe as a battlefield between all of the different frameworks I could have chosen between, and it seemed like the winning move was not to play. What am I missing? Are these frameworks hard requirements for doing anything that even remotely resembles frontend in a responsible way? Are they nice-to-haves? Is it effectively an aside current debate that I got suckered into and lost the forest for the trees?

Cassidy: You probably got sucked into many debates because there are so many in this world, I do not think you need a framework to do complex web apps or any web apps. I mean, my personal website, as much as I love React—and I’m deep in the React world—I did that with vanilla HTML, CSS, and JavaScript, and that’s all it is. And plenty of the projects that I do, I start with vanilla, and then I add React as needed. I think it’s something where these frameworks, you don’t need them, but it’s really nice once you start building large applications where you don’t want to reinvent the wheel. Because there have been plenty of times on my own projects on other projects, where I start to basically start implementing state-driven components, and trying to parse templates and stuff that I end up making for myself. Where if I did React, I probably wouldn’t need to actually implement all of those. And so you don’t need these frameworks. That being said, they can be very helpful as you make more complex projects.

Corey: So, I periodically post an architectural diagram of the pipeline slash workflow thing I use to write my newsletter every week. And I was on the verge of just hiring a frontend developer to build something frontend because it turns out that there’s not a great experience in using a whole bunch of shell scripts that require a CLI to post at random API endpoints. And then a discovered Retool, which is one of those low-code tools that more or less is Visual Basic for frontend. It was transformative because suddenly, it’s, “Oh. When I click this button, make this query that hits some API that I can define,” and oh my stars. It was transformative, and I was actively annoyed I hadn’t discovered it years ago.

Cassidy: [laugh]. Yeah, all of those low-code tools for web devs, they’ve been growing, that is a really interesting realm of the web that I’m curious about. I’ve played around with quite a few of them, and some of them, I kind of end up just wishing that I built it myself in the first place, and then for some of the others, I’m like, “You know, this saved me some time.” And yeah, I think those things are really, really powerful. I don’t know if they’ll ever fully replace having an actual developer, but for a lot of individual smaller tasks, it’s really nice to not have to, again, reinvent the wheel.

Corey: And you’re right. These tools are getting more capable. The problem I have is, whenever I talk to the teams building these things, they’re super excited about them and can’t wait to show them off. And then I say, “Just a quick question. Of all your engineers here, how many of them don’t know JavaScript?”
And the answer is always the same. None of them? Great. Yeah. Now, there’s an opportunity to present this to existing frontend developers so they can get back to what they were doing when they build a quick internal tool for someone else in a business unit, but there’s an entire untapped market of people like me who don’t understand JavaScript. So, when we see these things described in JavaScript context, it looks like it’s not for us, even though it very much is. There’s something to be said for making things accessible to an audience that
would benefit from them.

Cassidy: Yeah. I’ve actually given a few talks where it’s geared towards a backend developer who might want to dip their toe into frontend but have no idea where to start. And that is a whole world of people who are like you who just don’t understand the DOM in the browser, and how the interactions happen, and how the async await stuff works, and how promises work and everything. And they’re very weird concepts that just aren’t in other parts of programming, typically. And I think that’s a marketing problem where a lot of these low-code tools or no-code tools don’t understand the opportunity that’s
available to them.

Corey: I think that there’s a misunderstanding in many respects, where I’ve also seen a fair bit of, I can only call it technical bigotry, I guess, is the best framing here of, “Oh, where frontend is easy, and backend is the hard stuff, and that’s really where it’s at.” And having worked with qualified teams on both sides and looking at all the intricacies on both sides, where the hell does that come from?

Cassidy: You know, I think it just comes from the past.

Corey: So, do I. And I don’t agree with it. It’s just such a misunderstanding and a trivialization of such a valuable area of things. It kills me every time I see it.

Cassidy: Yeah, it’s frustrating, I admit, because I’ve faced that a lot in my career. I actually—I used to do backend. I used to do Python stuff, and I have a computer science degree, but plenty of times, there’s some kind of backend dev who’s just like, “Eh, well, I know HTML and CSS, so I know frontend.” And that’s about it. Or they’ll say, “Well, do you really need to know this kind of algorithm or this way of doing things in an optimized way because you’re just putting a pretty face on the data that we’re producing for you.”
And it’s an annoying sentiment. And I really think that it’s just from a previous time because a long time ago, from five to seven to ten years ago, that might have been more true because we didn’t have some of these frameworks that do a lot on the frontend. And we didn’t have things like GraphQL, and really powerful tools on the frontend. Where back then, it was a lot of the backend doing stuff, and then the frontend making it look good. But now the work is distributed a bit more where our backend teams, I can say, “Build however you want. You can change your language to Rust, to Go, to whatever, do whatever you want; as long as the data is exposed to me, I can use it and run with it.”
And then all the routing ends up happening on the frontend, all of the management of that data happens on the frontend, all of the organization and optimizing for the browser happens on the frontend. And so I think both sides have been empowered in recent years in that regard because, again, with that modularity, you can scale a lot better, but those lingering sentiments are still there. And they’re annoying, but unfortunately, we’ve got to live with them sometimes.

Corey: So, let’s talk as well about, I guess, sort of the elephant in the room. Your Twitter feed is one of the most obnoxious parts of my day, specifically because every time you post something I am incredibly envious about the insight it provides, the humor inherent in it. “I wish I had thought to go in that direction,” is almost always my immediate response. And, ugh, it kills me. Let’s talk a little bit about that. How did it start? And how is it continuing?

Cassidy: That’s a good question. So, I’ve always been a bit of a clown, both on and off the internet, but I was never very, very public about it, for a while there. Either that or just had a small audience and people were just like, “There she goes again. Maybe she’ll shut up someday.” And so I’ve always had those little drops of humor where I can because I think I’m amusing myself at least.
But about a year and a half ago, I discovered TikTok. And with TikTok, basically, it has such a good video editor—that was the only reason why I got the app because it made it so easy to make videos on my phone—where I was able to suddenly not just type my tweet jokes and my snarky humor, I could make a video about it, I could add music to it, I could make a dumb face. And people seem to like it, and it’s worked out.

And I try to approach things rather from a realistic or educational perspective first and then drop in the humor later, I don’t try to lead with the joke, but at the same time, it’s always fun to have a joke in there because people like to say, “Oh, something funny is happening. I’m getting ready for it.” And it’s kind of fun that I’m able to do that a lot more now that people actually expect humor.
[laugh].

Corey: When I was an employee—which I was, let’s be very clear here, terrible at. There is no denying that—it was always a problem for me where the biggest fear that anyone had—start to finish—was that I would open my mouth and say something. And credit where due, my last job was at a large finance company. And at that point, they’re under such scrutiny that anytime someone opens their mouth on anything, it has the potential to trigger an SEC investigation, and no one knows what I’m going to say. Yeah, there’s a lot of validity and being concerned about that.

I felt like I couldn’t ever just shoot my mouth off and be me. And I always had this approach of, no company in the world would ever be willing to tolerate my shenanigans, therefore, I should never look to either do these things in public or later, go to be an employee again. You’re living proof that it is in fact possible to have both.

Cassidy: Yeah. It brings a levity to our very serious industry—I used to be in FinTech; I know how serious that can be—but then just in tech in general, a lot of tech people take themselves way too seriously. And I understand we’re doing awesome work. Some people think they’re gods because they can think something and make it into an app. There’s ego there, but I feel like making fun of the problems, pointing out the problems in the industry and, kind of, just making light of it and making certain tech jokes and making certain concepts humorous as well as educational, I think bringing that approach to things is just
really, really effective.

And I’m really happy to be on my team, honestly, at Netlify because a bunch of them are just dorks [laugh] where pretty much every single meeting, we try to make it a little bit fun. And it makes our meeting so much more enjoyable and productive because we’re not just seriously staring at our screens and saying, “Okay, let’s make this decision for our OKRs,” or anything like that. We have a good time in these meetings while being productive, and it makes for a really nice team dynamic. And I think there should be more of that, in general, in tech.

Corey: One of the things that you have always done with your platform that I am, I guess, slowly warming up to is that you’re never mean, or in the rare occasions where you punch at something, it’s a dynamic; it’s not a company and it’s not a person. I have a strong rule of not punching at people, but large companies have always been fair game from my perspective. And that is a mixed bag. Yours is—how to put this—unrelentingly positive where it’s always about building people up, and shining a light on things that used to be confusing, and reminding people that they’re not alone in being confused by those things. And that’s no small thing.

Cassidy: Yeah. I appreciate you noticing that. I do try to do that, not only, necessarily, to be just like, “I want to be the positive star in tech,” but also because you never know what someone is dealing with, and someone might be pretty mean, and there have been plenty of people who have said some not great things towards me or towards other people and that cuts deep. And so I do try to avoid those kinds of pointed things. Believe me, it’s difficult; sometimes I do just want to call people out and be just like, “I know what you did to this group of people, and I hate it.” But you never know what people are going through, and I’d rather just make sure that the people who are doing well are the ones who are uplifted, and they get the attention that they need, or deserve, rather.

Corey: I did a little research—I know, I know; shock—before I wound up inviting you here, and it’s not just your Twitter account. It’s not just your TikToks, it’s not just your weekly multi-hour livestreaming on Twitch—or ‘Twetch’ or however it’s pronounced. I’m old, and that’s fine—it’s not the platforms; it’s the fact that no matter where you are, you’re constantly teaching people things. And I want to be clear, that doesn’t seem like it’s in your job description, is it?

Cassidy: No, but it’s something that I really care about. I really like teaching in general. A lot of the resources that I provide and the things that I do are me trying to give people things that I didn’t have when I was in the industry, trying to give advice that I wish I had, trying to give resources that I didn’t have. Because a lot of times, people don’t know where to look, and if I can be that person that can help them along, some of the greatest joys I’ve ever felt have been when people say, “This blog post that you wrote helped me get my first job,” or, “This thing that you said, was the kick in the pants that I needed to start my own company.” Little things like that. I love hearing it because I really just love making people successful and helping them get to that next step in their careers. And that’s my passion project, and I tried to do that and all the things that I do.

Corey: There’s really something to be said about being able to reach people who have pain and have needs. I mean, the one crossover talk that I gave that really transformed the way that I saw things was “Terrible Ideas in Git” because if there’s one thing that unites frontend, backend, ops folks, data scientists, et cetera, et cetera, et cetera, it’s Git as being the common thing that no one really understands. And by teaching people how to use Git, first, it was sort of my backdoor, sneaky hack into finally having to teach myself how Git works. But then it was a problem of where, now I need to go ahead and find a way to present this in a way that’s engaging, and fun, and doesn’t require being deep into the weeds. And I was invited to speak at Frontend Conference, Zurich,
which was just a surreal experience.

Incredibly nice people, very gracious community and I’m sitting there for the first half of the day watching the talks, and it’s a frontend conference and everyone’s slides are gorgeous. And this was before I started having a designer help me with my slides. So, it was always a black Helvetica text on a white background. And mine looked like crap, and I only had a few hours until my talk, so what do I do because I’m feeling incredibly out of place? I changed the font on everything to Comic Sans and leaned in on that.
And it definitely got a reaction. The talk was great. It really did work. And it was fun. And in hindsight, I don’t think I’d do it again because I keep hearing rumors that I can’t quite confirm, but it’s significant enough that I want to be clear, that Comic Sans is apparently super accessible when it comes to people with dyslexia, and I don’t want to crap on something like that. It’s not funny when it makes people feel out of place.

Cassidy: Yeah. These kinds of things, it’s delicate to talk about because you have to figure out, okay, how can I make this accessible to as many people as possible? How can I communicate this information? And then, meanwhile, when you are this person, that just means your DMs are very, very full of people who want one-on-one help and you have to figure out how to scale yourself, and how can you make these statements that are helpful for as many people as possible, provide as many resources as you can, and hope that people don’t feel bad when you can’t answer every DM that comes your way. And yeah, there’s a delicacy when it comes to all the different things that you could be poking fun at, or saying you don’t like, and stuff, and my answer to pretty much everything has turned into just, “It depends.”

Whenever people are just like, “What’s the best framework to learn?” I’m kind of like, “Eh, it depends on what you want to build.” Because first of all, that’s true, but second of all, there’s enough opinions out there in the world saying, like, “This is the worst font.” “This is the best font.” “This is the worst way to build web apps.” “This is the only way to build web apps.” I mean, you hear this constantly throughout the tech industry. And I think if more people said, “It depends,” we would be a [laugh] much happier industry in general.

Corey: This episode is sponsored by ExtraHop. ExtraHop provides threat detection and response for the Enterprise (not the starship). On-prem security doesn’t translate well to cloud or multi-cloud environments, and that’s not even counting IoT. ExtraHop automatically discovers everything inside the perimeter, including your cloud workloads and IoT devices, detects these threats up to 35 percent faster, and helps you act immediately. Ask for a free trial of detection and response for AWS today at extrahop.com/trial.Corey: I really think that you’re right, and I think the hardest part is getting there. You say that the answer to, “What framework should I pick?” Is, “Well, it depends.” And that’s very true. The counterargument is that it’s also supremely unhelpful. It’s—

Cassidy: Right.

Corey: —“I’m looking to build a web page that has a form on it, and when I click a button, it does a thing.” And at that point, it feels like it’s, “Well, there are an entire field of yaks before you, all of them need to be shaved before the form will exist.” And it just becomes this. “Oh, my god, are you just trying to tell me not to bother?” And no, that’s never the response.

But having a blessing, I guess, golden path of where you can focus to get something done, and then where it makes sense to deviate gets signaled, I like that approach. But people are for some reason worried about being overly prescriptive. And I get that too.

Cassidy: Yeah, there’s a balance there. But I should append to my previous answer. I say, “It depends, but here’s how I would do it.” And that gives some direction. Some people might be just like, “Oh, well, I don’t want to use React,” or something like that, and I’m like, “Well, then, unfortunately, I can’t help you. You’re on your own. But I’m sure it’ll work for you.” And just kind of roll with it from there because you never know.

Corey: Yeah, what I’ve never liked the questions that the asker already has an answer they want to hear, and they’re looking for, almost, confirmation bias.

Cassidy: Yeah.

Corey: Yeah.

Cassidy: That’s common.

Corey: At that point, why bother? Just say, “This is what I’m thinking about doing. Please tell me it’s not ridiculous.” And if it is, people will generally try and
be kinder about it. But we’ll see.

Cassidy: Yeah, a lot of times, too—and I hate to say it, but a lot of times, too, people come in with such an arrogant air, and oftentimes, that’s either because they’re insecure about something, or they don’t have a lot of experience in something. But [unfortunately 00:23:27], that’s almost always the case. There have been times on my stream, for example, where someone will say, “If you use this framework, it will solve 99% of your problems.” And I’m kind of like, “Eh, will it though?” And I don’t want to just straight up say you’re wrong, but I kind of have to keep asking questions and try to be one of those teachers where I’m saying, “Okay, I’m going to ask you these questions. Are you sure that this edge case is in that 1%? I think you’re being a little bold here.” And not trying to specifically humble them, and know that they are wrong, but also turn it into a moment where you have to learn that nothing really solves 99% of your
problems. [laugh].

Corey: And whenever someone says something like that, I always assume conflict of interest somewhere. It’s like, “With this framework you’re suggesting, I don’t know, just so happened to integrate super well with the thing your company does? Huh, how about that?” Whenever someone can’t identify an area that they’re offering is crap in, I assume that they’re, effectively, evangelizing something with almost a religious fervor, and aren’t really people to take overly seriously. I have technologies that I adore, but if I can’t articulate use cases in which they would be wildly inappropriate, then I’m not really being fair, either to the person I’m talking to, honestly, the product itself.

Cassidy: Exactly. There’s always cons. Yes, there might be a lot of pros and the pros may outweigh the cons, but you have to be able to speak to those if you’re going to give a credible answer to any sort of recommendation like that.

Corey: So, let’s talk about platforms a little bit. You have a newsletter which I’m a fan of, and will of course link in the [show notes 00:25:05]. You stream on Twitch, which is similar to a podcast, only it’s video and it’s live so, unlike here where we can edit heavily if someone winds up breaking down crying, like I tend to every third episode—

Cassidy: Yeah, we should cut out those farts earlier, by the way.

Corey: Oh, yeah. Oh, we’ve already edited that out.

Cassidy: Okay, great. [laugh].

Corey: We’re already set. We do this in real-time here. But you have to do things like that in real-time on Twitch; as soon as something happens on camera, it’s done, it’s out there, and it’s a very different experience. You do it also on hard mode, where you and I are having a conversation back and forth, whereas when you do Twitch, you’re doing it solo. You are effectively in an empty room—or what appears to be one anyway—and you’re talking to the camera, and there’s
no other audio other than you and a lovely backing track.

There’s no conversation, you are monologuing for the duration of that. People mention things in the chat with a slight delay, and then you can take action based upon that. But that feels like an awful lot of pressure to wind up filling the dead air while you’re waiting for the next question to come in.

Cassidy: Yeah, it’s something that has taken practice. And I think it’s something that because I have done quite a bit of public speaking, I’ve done a bunch of teaching, I am comfortable with the silence. And the music also helps that a lot. Some people when they are about to livestream, or they’re learning how to livestream for the first time they kind of panic at the silence. They’re like, “Oh, my gosh, how am I going to fill it?”

Meanwhile, with me, I’m just like, “Ah, nobody’s asking a question. I can take a drink of water now.” And try to keep it as natural as possible. I try to make this stream—I started doing it more regularly during the pandemic, as something that’s kind of just co-working and kind of having something in the background, because usually when people are in the office or working at a cafe or something, you get to hear interesting conversations, and a voice, and you can chime in on occasion. And I try to make that what the stream is where people don’t have to be paying excessive attention, but I open it up where you can ask me pretty much anything and I will give you an honest answer, and just try to make it a space where people can not worry about asking a stupid question because I think that none of these questions, whether it’s about tech jobs, or certain frameworks, or opinions about things, none of them are dumb.
Sometimes it’s just people who aren’t sure what the answer should be, or they aren’t sure if their biases are correct or anything like that. And I really enjoy the livestream because it gives me a connection with the community that I can help teach further. And then as they ask questions, I can take that and run with it, and build a demo, help them come up with project ideas, show how I would build something, something like that.

Corey: Oh, there’s an incredible authenticity to what you do, and that is, I think, one of the most impressive aspects of what you do. I’ve never yet seen you make someone feel like a jerk for asking a question. I’ve also never once seen you claim you knew how something worked when you didn’t. You point people at resources to find the right answer. You are constantly gracious, you’re always incredibly authentic, and it’s become really easy to consume your materials because I know you’re not going to make it up if you don’t know the answer. And that’s no small thing.

Cassidy: Thank you. [laugh]. I appreciate that. It’s not easy, but it’s very fun. And I do hope that it makes people more comfortable with the concept of streaming, coding, and any of that.

Corey: You also seem to have some of the same problems than I do, specifically—not the jerk problems. That’s unique to me—but the problem in the context of answering a difficult question, namely, “So, what is it you do?” Because as mentioned, you have the newsletter, you have the job, you have the Twitch stream, you have the TikTok, you have the Twitter. You do courses from time to time, if I’m not mistaken, as well?

Cassidy: Yes, I do. I have a few online courses on Scrimba on Udemy on Skillshare on O’Reilly. I like teaching JavaScript and showing people how React works, and stuff, under the hood. And you’re right, it’s hard to explain what I do sometimes. [laugh].

Corey: And that’s the hard part is when someone asks, “So, what do you do?” What’s your default answer?

Cassidy: I have created this tagline that I’m kind of just sticking with, and we’ll see how long it lasts me. But I say, “I make memes, streams, and software.” And I just kind of leave it at that, and people be like, “Okay, Cassidy, shut up.” [laugh] and I leave it at that. But yeah, if someone asks me what I do, I kind of start with, “I code.”
And then if they press further, I’ll be like, “Well, I teach people how to code, and I show people how to code best.” And usually, that’s where my grandpa stops asking. He’s just like, “Okay, it’s that computer stuff.” If it’s a tech person, I start diving more and more into all of the things, and it’s very hard to explain. I wish there were a word for trying to make people laugh, and teach, and build things, and stuff, but I don’t know what that word would be.

Corey: Yeah, it’s a hard problem. My answer has always been to spin it depending upon who I’m talking to.

Cassidy: True.

Corey: If it’s at a neighborhood barbecue and people ask what I do, I try and
make myself sound like some sort of esoteric accountant because if I say even slightly incorrectly what I do, suddenly people are asking me about their printers. And honestly, how do I fix a printer? I throw it away and I buy a new one, but that’s not really helpful to people who are looking for actual help. So, it’s a matter of aligning what I do with people’s expectations. “I make fun of Amazon for a living,” is technically accurate, but boy does that get some strange looks.

Cassidy: [laugh]. Yeah, it definitely, definitely varies on the audience. If I’m, for example, going to some kind of church barbecue, I just say, oh, I’m a software engineer. Questions stop there, and I leave it at that. If I’m at a tech meetup, I’ll be just like, “Oh, well, I specialize on frontend things, but I also do some dev advocacy and stuff.”

And I can generally stop there. But you’re right, depending on the audience, I
have to be careful because I don’t want people to just ask me to fix their WiFi all the time, even though they do anyway. And to them. I usually say oh, I build computer things. I don’t know how to work them, though. And I leave it at that.

Corey: Oh, hey, I’m building a computer, too. Can you recommend some parts? Absolutely not. Is my—

Cassidy: Nope.

Corey: —I don’t know what I’m doing there.

Cassidy: I kind of just Google and accept whatever I’m told. [laugh].

Corey: Yeah. And the other side of it, too, is if you’re not direct enough and say, “Working with technology,” people tend to think that you’re being condescending. It’s like, “Oh, I do some cloud computing finance work.” And they’re like, “Oh, so what, you fix an AWS bill?” Yeah, exactly. “You could just say that, you know?” “Well, yeah. To you, but there’s a whole world of people out there to whom that sounds like I’m blowing them off with geekspeak.”

Cassidy: Yeah. Yeah, exactly. And it’s almost harder if it’s a mixed group of people, too, because sometimes people who are in tech but I don’t know the rest of the people, they might say, “Oh, she makes tech jokes on Twitter.” And they’ll say, “Oh, really? Say something funny.” I’m like, “Uh—I don’t know how.” [laugh]. It’s not that easy. It’s interesting trying to figure out how you define that for other people.

Corey: “Oh, you’re a comedian. Great. Make me laugh.” Like, “Oh, God.”

Cassidy: Just please, no.

Corey: Yeah, that’s the best setup for a good belly laugh is command performance of, be funny when you weren’t expecting it?

Cassidy: Yeah. Ugh, can’t handle it. I just freeze up and give up.

Corey: Ugh. Again, these are not common problems. One thing that I did find incredibly funny was that when we started talking, we talked about things that we had encountered as we wound up going through expanding audiences on Twitter and whatnot. And you sent a screenshot, at one point, of tracking your Twitter follower count over time in a private Slack channel that you had. And you said, “This is ridiculous, and no one ever does it.” And then I responded with a screenshot of me doing the exact same thing, which is—

Cassidy: So funny.

Corey: —first, hilarious because I’ve never seen anyone else do that. And, two, a bit of product feedback, perhaps, for the team at Twitter.

Cassidy: It really is. Yeah, no, when I found out you did that, too, I laughed so hard because so many times people have been just like, “You know there’s tools for this? You don’t have to just write a number in DM to yourself on Slack.” But this is the tool that works for me. It’s quick. It’s done. I can see, generally, how things are going. Someday I should put it in a graph of some type, but eh.

Corey: But it’s always forward-looking, too, because all those tools don’t go back in time to your account’s inception. And, “Oh, you had this person follow you at this time.” There’s no historical record there.

Cassidy: Yeah. It is totally product feedback. I have no idea how I’d be able to say, “Hey, look at this DM, fix this problem,” to a specific Twitter person, but, eh.

Corey: Four years ago, I had 1500 Twitter followers and it had taken me seven years to do it. And people ask, “What were the big inflection points when you wound up getting significant audience boosts?” And if I had dates on that stuff, I could absolutely do some correlation like, “Oh, there’s re:Invent.” “Oh, that’s where I was visibly thrown out of a bar on the news.” Kidding. But being able to tie it to things like that would be helpful, but it’s happened, it’s gone. I just have to basically try and remember, and assume I’m somewhat close to accurate.

Cassidy: Yeah. And I don’t do it consistently, mind you, there’s definitely weeks where I just totally miss it. But sometimes, for example, if I’m about to tweet something funny, I’ll mark it and then make the post and just see where it goes. And it’s more just interesting for me; I will probably never share this with people, besides you when we talk about our [laugh] strategies. But yeah, I mean, I guess that also speaks to building what’s best for you is often the best solution.

Corey: Yeah, and it changes, too. And the part of the reason that these conversations tend to happen behind closed doors because the easy, naive response is, “Oh, that’d be super interesting to watch and see how those problems get addressed.” But so much of what we’re doing and how we approach it is not helpful until you’re at a certain point of scale. If you have 200 Twitter followers, for example, frankly, you’re making better life choices and either one of us are, but the things that we are concerned with and have to pay attention to, just don’t apply in any meaningful way.

Cassidy: Right.

Corey: Conversely, if you have a small following Twitter account, that is a freedom that we don’t really have because past a certain point, as I’m sure you can attest, you can’t say that you like waffles without getting someone asking, “Well, what’s the problem you have with pancakes?” And then insulting you and following you around until you block them.

Cassidy: It’s so true. I was talking with someone about this yesterday because it’s not like I ever say things that are particularly controversial or anything, but word choice matters so much more when there are a lot of eyes on you. And so many times I’ll make a joke, and then I have to do a follow-up tweet saying, “This is a joke. Please don’t tell me how to exit vim.” Or something like that. Because oh, my word. People just will never take things the right way en masse.

Corey: No, I have learned there’s no possible way to say something without it being misinterpreted. And I try and wind up turning it back around, and every time I read something, I do my best to assume good faith. I don’t always succeed, and sometimes I look like a fool for basically taking a troll seriously, but I’d rather that than the alternative of someone asks a naive question, and I assume they’re just being a jerk and block them or I mock them. Because the failure mode of me looking like I got hoodwinked is better than making someone else feel crappy.

Cassidy: Right. Exactly. I remember a while ago, this was, like, a couple years ago, there was someone who was not being nice to me in the mentions, and I was just like, “Why would you respond to me like this? Just leave me alone.” I said something like that.
And it was a lesson for me and for them, where they ended up getting really upset with me and yelling at me in the DMs because they were getting all of this negative commentary on there and for being the mean one, and then I end up looking like a jerk because I ended up spotlighting this person who might have been having a bad day. You never know. And the algorithm works against you when you have a lot of eyes who are looking at what you’re tweeting about. And so, yeah, you have whenever stuff like that happens, you kind of just have to ignore it and learn to pick your battles, I guess.

Corey: Oh, yeah. And I assume that’s going on now. I imagine that one day, the AWS Twitter account is going to finally snap and just quote-tweet me with some incredible roast and there will be no coming back from that for me. I look forward to that day. It would be so nice to see that come out of them. I worry, I
may die before it gets there, but hope springs eternal.

Cassidy: [laugh].

Corey: Cassidy, thank you so much for taking the time to speak with me. If \
people want to hear more about what you have to say—as they damn well should—okay can they find you? Take a deep breath; run through the list.

Cassidy: All right, they can find me on all sorts of platforms. You could look up Cassidy Williams, and you’ll find either me or a Scooby-Doo character, and I’m not the Scooby-Doo character. Or you could look up cassidoo—C-A-S-S-I-D-O-O—cassidoo.co is my website, cassido on Twitter on GitHub on CodePen on LinkedIn all those platforms. That’s where you can find me.

Corey: And we will put links to all of those things in the [show notes 00:38:03] because honestly, that’s someone else’s job, and I am going to hurl that mess to them.

Cassidy: [laugh]. Perfect.

Corey: Thank you so much for taking the time to speak with me. I really appreciate that.

Cassidy: It was really fun. It was good chatting with you, too.

Corey: It really was. Cassidy Williams, principal developer experience engineer at Netlify. 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 aggressive comment encouraging me to fight you on Twitch, however that might work.

Announcer: This has been this week’s episode of Screaming in the Cloud. You can also find more Corey at screaminginthecloud.com, or wherever fine snark is sold.

This has been a HumblePod production. Stay humble.