Jerod Santo:

Hello one, hello all of our JS Party animals. We are excited, as always, to throw a party with you this week. I'm joined by my longtime co-host and friend, Nick nisi. What's up, man?

Nick Nisi:

Hoy-hoy. How's it going, Jerod?

Jerod Santo:

So good. It's going so good. I feel like we haven't seen each other in a minute. What have you been up to?

Nick Nisi:

Yeah, it's been a good, hot minute. You know, just living the dream. Having fun. Having lots of snow days. Yay.

Jerod Santo:

Now, a little birdie told me that you're funemployed.

Nick Nisi:

I am funemployed, and very excited to take advantage of that. And I wish the kids were going to school, so I could actually get stuff done...

Jerod Santo:

So you could have some actual fun, no offense kids?

Nick Nisi:

Yeah... Well, I love them, but...

Jerod Santo:

Of course. Do you have any big plans during this time? Are you gonna conquer the world?

Nick Nisi:

Well, I'm speaking at that conference in two weeks, and I need to really work on my talk. So I've been doing that, but then my kids are like -- literally yesterday they were trying to sit on my shoulders while I was working on that, and I did not get much done.

Jerod Santo:

Welcome to my life, Nick. Welcome to my life. Well, we are not merely here to talk to each other. We have an awesome guest - Shaundai Person from Netflix is here with us. Welcome.

Shaundai Person:

Thanks. Thanks for having me on.

Jerod Santo:

We're excited to have you. Speaking of that conference - you're also going to be at that conference, aren't you?

Shaundai Person:

I am. Keynoting. Yeah.

Jerod Santo:

Oh, wow.

Shaundai Person:

So I'm going to be talking about leveraging transferable skills. So we'll probably talk a little bit about this, but I'm a career switcher... I switched from a career in sales, to engineering, and I'll be - this is one of the big initiatives of this year, is to talk more about myself... Because everybody wants to know about me. So this narcissist's view of life... Yeah, so I'll be talking about how to leverage those transferable skills to build the career of your dreams.

Jerod Santo:

Love it. Well, we are here for it; we want to definitely hear about you and all of that... But speaking of conferences - it's been a while. In fact, new JS Party listeners may not even remember this segment of mine, which we will do now for the first time in months... It's called Holla. Here we go. **Jingle**: \[06:37\]

Jerod Santo:

This segment, of course, is where we holla at various community goings on. And today we want to tell you about React Paris. This is a brand new conference from some folks who have ran conferences before - our good friend Omar - putting on React Paris. So this is a community-run, first time conference, single track, single day, 13 talks. Shaundai is one of them. 300 people - this is like my favorite kind of conference: small, single track, so everyone has a shared experience... And it's happening March 22nd, 2024. Shaundai, are you also keynoting at this one, or just a speaker?

Shaundai Person:

I'm not keynoting. I don't even know if they're having keynotes, but I would love to do it if they did. But I'm really excited to be back with this team. So I think it was 2022 - so this is the Be.js team. They run conferences. They've run a conference in Belgium for the past couple of years... And I was invited to speak in Belgium. That was my first conference in Europe, period. And then this one in Paris will be my second. Actually, that was my first international conference, period. So this will be my second conference in Europe. The first time when I was out there with them in Belgium was just like -- Tejas Kumar is a friend of mine, and I think he does probably every conference that they do... But beforehand I was kind of scared, because I was like "This is my first time doing your conference internationally. I'm going to be traveling by myself..." As a woman, there's just a lot of fears going into that. But just in general, what am I going to say to these -- what do I even call them? Are they Belgiumese? What is this?

Jerod Santo:

\[laughs\]

Shaundai Person:

I know they're not Belgiumese... \[laughs\] So he told me, he was like "They are like family." They are the most friendly people, welcoming people, accommodating people... And when I tell you - they're great; my luggage ended up getting lost in Canada, in my layover, so I didn't have luggage for the first couple of days there...

Jerod Santo:

Oh, my.

Shaundai Person:

I was waiting in the lobby, and one of the organizers found me and was like "Hey, are you Shaundai?" I was like "Yeah." He's like "Hey, I brought you some beers." I was like "Oh, this is nice. This is exactly what I needed right now." They were just there to take care of me. And then like you said, Jerod, with the single track - it's so great... One thing that I love about single track conferences is that, one, the attendees don't have to decide between their two favorites, or the two great talks that are going on. We put so much work into these talks as speakers too, so it's nice to have everybody's attention, and for people to not have to get up and go to different rooms for different parts of the conference. So I love that. I'm really excited to go to Paris, of course, eat some croissants with my friends... And again, the organizers are just the most thoughtful people. It's one of the best groups of conference organizers that I've met. So... Super-excited. Super-excited for March.

Jerod Santo:

Yes. And of course, Tejas also sung their praises when he was on the pod last year... So if you want to see Shaundai in Paris, if you want to see Tejas Kumar, if you like such names as Josh Comeau, Una Kravets, Anthony Fu, lots of interesting speakers - check out React Paris. The website, react.paris. \[10:18\]

Jerod Santo:

Hey, Jerod here in the editing room... One thing I forgot to say while recording, that I'm sure you'd like to know about, is that Omar and the React Paris team have created a discount code for JS Party listeners. Use jspartyparis while registering for 20% off in person and online tickets. Once again, that's jspartyaris, save a little doe. Okay, this has been holla, and if you organize or regularly attend a meetup or a conference that you think more people should know about, let us know about it. We'd be happy to give your event a holla on a future episode. \[In a matter of seconds we'll beam your information to one of our skilled field technicians.\]

Jingle:

\[10:58\]

Jerod Santo:

So I would love to hear about your transition. Sales to engineering... Sorry, it's just more interesting to me than TypeScript... I know Nick's waiting -- he's got the TypeScript questions, just like a list of them, because he just wants to talk about TypeScript... But to me, this is just fascinating, because - wildly different things, it seems like.

Shaundai Person:

Oh, yeah.

Jerod Santo:

And I'm sure there's probably challenges, but also advantages you have coming from there. So tell us about just moving from sales to engineering.

Shaundai Person:

Yeah. You guys are getting something hot off the presses too, because -- like, I've told my story before, but I decided... People on Twitter have hyped me up to talk about the things that I've learned from sales, that have helped me to build this engineering career of my dreams... Which I didn't know it was my dream, so I'll talk about that, too. But sales is a career built on soft skills. So you don't have any tools in your tool set, you don't know how to do anything except for keeping notes... So you're learning how to -- you're practicing how to have empathy, how to listen, how to negotiate, how to advocate for yourself, how to boost things up and how to anticipate really what people's problems are, or derive people's problems from what they're saying, and translate that into whatever your solution is... And all of those come in handy when you're interviewing, when you're having conversations with project managers, when you're coming to terms with the backend engineers, or -- I'm a frontend engineer, so coming to an agreement with the backend engineers about "This is what the scope of the work is going to be, and this is how we're going to get from point A to point B." So a lot of those skills have come in handy, and my talk at that conference is also about just more about at a high level how to leverage those transferable skills and bring that over to a new career, or to build this career of your dreams. But back to the story - so I wrote on Twitter today that I was going to start a video series of things that I've learned and ways that I've applied my lessons and sales to engineering... So I'll be starting that; if you want to find out more about that, you can find me on YouTube at Shaundai, or on TikTok now. I'm \[unintelligible 00:13:17.01\]

Jerod Santo:

You're branching out, yeah.

Shaundai Person:

Yeah. I'm turning 29 for like probably the -- I mean, I've been 29 for a couple of years now... But I'm getting down with the TikToks. So you can find me on TikTok at @shaundaip. So my career switch - I was in sales for 12 years. It was over a decade, and the reason I started in sales was because I was into fashion, and - the story is going all sideways. I wanted to go to school for fashion, but my mom, who was a guidance counselor at the time, was "Absolutely not. I won't pay for school if you go to school for fashion design." And so I was like "Well, I want a fashion business. I'm gonna go to school for business."

Jerod Santo:

Okay.

Shaundai Person:

So I went to school for business, and my undergrad major was entrepreneurship. So I knew that I wanted to start a fashion business. One of my entrepreneurship professors told me that the best way to understand what it's like to have a business is to start a commission-only sales job. So that started me in sales. I did have a commission-only job, and I learned a lot... I was just thrown into it where I had to practice body language, and listening, and all those good things... And I realized that I was good at it. Not just that, but that I liked it. I liked working with people, I liked conversing with people, and I think that's probably one of the reasons why I like doing conference talks, and podcasts, and things like that too, is because I like sharing and listening. So I was in sales, I was really successful at it, but I knew -- when I was looking at all the other careers beyond what I was doing, like "Okay, I could be a sales manager, or I could go to sales engagement", which is like training. "I could be sales operations..." None of those -- I could not see myself in that forever. But I didn't know what I wanted to do. I also had this view of what engineers were, and it was the same stereotypes that you would think...

Jerod Santo:

Sure.

Shaundai Person:

They're just like these dorky, nerdy people, who just sit in dark rooms, drinking diet coke... \[laughs\]

Jerod Santo:

Nick, are you taking offense to this right now? Oh, no...! He's got the -- is that Diet Coke. I hope it is.

Nick Nisi:

It's a Coke Zero... \[laughter\]

Jerod Santo:

Coke Zero...! She was so close. That's amazing.

Shaundai Person:

That is so perfect.

Jerod Santo:

They've got neck beards, like Nick has... I mean, pretty much --

Shaundai Person:

Right. I'm like calling out everything -- they wear a black hoodie...

Jerod Santo:

Yeah. Middle-aged white guys... I mean, Nick is just drilling it.

Shaundai Person:

\[15:54\] That is so great. \[laughter\] Yeah. But I was like "I'm not that. I'm a social person." You know, sales is, I guess -- this is what I get with what I like to do. I was very -- like I said, I was good at sales, I just didn't like it, and I never came home and was like "Oh, can't wait to do more sales stuff in the morning." But it was a job, and that's what I expected it to be. One day I decided to quit the workforce and start my own business, follow my passions for entrepreneurship... I don't know what I was thinking, but I didn't have any kids at the time. So I quit the workforce and I started an online business. And it was a business where I sold all-natural things -- like anything you would see in Whole Foods, like \[unintelligible 00:16:38.24\] all that kind of thing. I used Shopify to do that. And I also was like negotiating deals with all of these suppliers, trying to use my sales skills... I was literally knocking on doors to get sales, because I was like "I want bigger customers", and things like that. But what I found the most fun about the business wasn't the sales part of it, it was actually building widgets to add to my Shopify site.

Jerod Santo:

Oh, okay...

Shaundai Person:

So like automating the emails, and like banners that go across my page... And then it got to the point -- so I was having so much fun with this, and I was trying to learn how to code so I could build an app... And people started to come to my website -- I was part of these Facebook groups and things, and people were like "Wow, your site is so good. Could I pay you to build my site for me? Could I pay you to put a widget on my page?" And I'm like "People get paid to do this? I would do this for free, but... Yes, I'll take your money, of course."

Jerod Santo:

"But yes, I'll also do it for money."

Shaundai Person:

Absolutely. So that sparked the idea that "Oh, maybe I could do this engineering thing." But shortly after that, I got pregnant with my son, and I was like "I have to go get health insurance, so let me go back into the workforce." I went back into sales. But then I started kind of coding as a hobby. I was using Dreamweaver... This is 2019. So this is bad. Like, I'm using Dreamweaver... I didn't know any better, I didn't know what people used to code... But it got the job done.

Nick Nisi:

We all started on Dreamweaver, it's fine. \[laughter\] I did...

Jerod Santo:

Some of us are still there, you know...

Shaundai Person:

It makes me feel so much better... \[laughs\] That makes me feel a lot better. So then, at some point, when my son was still very small, I was like "What does an engineer even make, if I do this web development--" Oh, you know what happened? I was on maternity leave, and I saw an ad on Facebook for Codecademy. And there were comments underneath it, and it was like "Oh, you don't have to have a degree to be in web development. You can just be self-taught." And that was the first time I'd ever heard that. So I was like "Oh, so wait, if I wanted to switch careers, I could just do it?" So that's when I started to look up, like "Okay, this is the courses I could take", or "This is how much engineers make." And I was like "Oh, they make some good money." So I signed up for Codecademy, and I gave myself half an hour a day. Because think about it - I'm working a sales job, which isn't a nine to five. A sales job is -- you're selling whenever people want to buy. If somebody's texting me at 11 o'clock at night, I'm right there on my computer putting a quote together. So I'm working this demanding sales job, I'm mom to basically an infant child, and then I decided to become a single mom, too. So like, I'm just telling you, there's a lot going on... So I gave myself half an hour a day to learn to code. I loved it so much that I would stay up three or four hours... I'm up till like one and two in the morning, just coding. And so I'm like "This needs to be my career." So I used my sales skills - I'm just alluding to the stuff that you'll find on my YouTube, but I'm using my sales skills to network and find opportunities to build a community around me... And I was able to -- I moved pretty quickly, but I was able to quickly switch careers... And I'm the happiest that I've ever been. \[20:02\] And now I'm finally in a career -- I mean, one, I'm lucky enough to have a career that I love, where I'm also making money, but I can see myself moving up, and I can see myself in this for a long time, which is something that I couldn't -- even though I was good at sales, it was something that I never had experienced. I've never experienced that when I was in sales. So it's just awesome, and I love that I'm able to still have that social aspect of it. I'm not -- I'm still drinking diet Coke, and I'm still a dork, but... \[laughs\]

Jerod Santo:

Coke Zero is preferred...

Shaundai Person:

...I also get to socialize and talk with cool people.

Jerod Santo:

Oh, that's amazing. I feel like -- I mean, Dreamweaver in 2019... It's only 2024. So five years later, you're a senior software engineer at Netflix. I mean, that's pretty impressive. Nick, how long did it take you to get funemployed? \[laughs\]

Nick Nisi:

12-13 years...

Jerod Santo:

Yeah. When did you start? Did you actually start with Dreamweaver, Nick?

Nick Nisi:

I did. In high school I was playing -- they taught us some very basic HTML, and then I found Dreamweaver and I was making these table-based layouts for everything... It was awesome.

Jerod Santo:

Way back in the day.

Nick Nisi:

What the heck is a div? No, I've got a table.

Jerod Santo:

Yeah. Who needs divs when you have tables...? So how long have you been at Netflix then?

Shaundai Person:

Two and a half years... Yeah, two and a quarter.

Jerod Santo:

So you went from Dreamweaver to Netflix in like two and a half years. That's a meteoric rise. Congratulations.

Shaundai Person:

Thanks. Thanks. Yeah, it's -- so people will ask "How did you do it so fast?" or "How can I do what you did?" I don't recommend it.

Jerod Santo:

"I don't recommend it..." \[laughs\] Was it hard mode, or...?

Shaundai Person:

Yeah. I mean, I got there, but I sacrificed to do it. So if you're willing to -- I mean, okay, so I'm gonna get real with you guys. Okay, part of it -- one of my advantages I feel like was the fact that I was a single mom. If I'm trying to cultivate a relationship, nurture a relationship, you can't do that working, studying every night, like I was. You sacrifice friendships to get to that point... Which was something that I was really invested in wanting to do this. So I was willing to sacrifice all of that. But there was a price; there was a price that you have to pay to do it. Also, I was very lucky to be able to have come from a career in sales, because like I said, I was able to use a lot of that stuff. It's just stuff that kind of -- not came natural to me, but stuff that I had already practiced, which is... You know, one of my goals was to - whenever I walk in a room, I want everybody to know me already, and I want them to have... Like, I want to have a good reputation. That was my goal. I was working at a tech company called SalesLoft. I'm based out of Atlanta, so this is a company headquartered in Midtown. But it's a tech company, and they make software for salespeople. I was using that software as a salesperson, and then what I sold them on before I'd even gotten the interview was that "I need to be your next hire, because if you're looking for frontend engineers, nobody knows your customer better than me, because not only do I know the tech... I can code my ass off. I can code better than -- or just as good as any of the other people you're interviewing... But tell me how much they know about your customer, or tell me how much they know about sales." And I could have these conversations and I could run conversations even though I didn't have experience in tech, like professional experience in engineering. I could be a leader in these conversations, because I'm like "I know that you think this is a cool thing to do, but nobody's going to use that, and it's going to waste the company money, it's going to waste your time." And so I'm willing to -- I'm not only willing to speak up, but I'm also looked at as like "Oh, yeah, she knows her \*bleep\*. She absolutely knows what she's talking about." So a lot of aspects of my story are very unique to me... So what I encourage people to do is like when they say -- or when they ask me "How did you do it? How can I duplicate exactly what you did?", you're not going to. You're going to have success, no doubt, but you're going to have success in your own way, and you're going to bring your own unique strengths to the table, and you're going to use those to your advantages, with whatever -- you'll figure out the way that it's best for you. I can't write that for you. This is something that you have to figure out, and write for yourself. And don't break up with your husbands and wives over a career switch... I didn't break up with him because of that...

Jerod Santo:

\[24:24\] I was gonna say, was it over the career switch?

Shaundai Person:

No, it wasn't. And we get along great, so I joke... You know, we get along great as co-parents.

Jerod Santo:

That's good to hear. Alright, Nick, fire your TypeScript questions at her now. No, I'm just kidding... Anything you'd like to ask?

Nick Nisi:

I think that's awesome. I think that you definitely -- like, the story of coming in with understanding the sales side of things, you sold yourself really well in that. So having that -- and I've always heard, in non... Like, if you know a little bit of coding in a non-coding career, that's like a superpower, because you can automate parts of your job away, or you look amazing because you can do things so fast... I think that the opposite of that, like the superpower in an engineering job is the soft skills, and being able to sell yourself, and being able to talk... Because the coding part ends up being the easiest part. So would you say that you feel like you got kind of a leg up having that as the foundation that you built your engineering skills on top of?

Shaundai Person:

I would, I would. And like I said, it's different for everybody, but one way that I describe it is... So think about it from the perspective of your user, which is what you should always be doing as an engineer; thinking from the user's perspective. When you're interviewing for a job, when you're trying to switch careers, your customer is the recruiter or the hiring manager. And their job -- their intentions are to find the best person for the job. It's not to weed you specifically out, but they're getting hundreds of resumes, especially in this landscape; hundreds or maybe even thousands of resumes. And for one human to be able to narrow that down to one person - there's some vetting that they're going to have to do. So the thing that makes you a commodity, basically - your coding skills are a commodity, because everybody that puts in their resume, their portfolio, has the React skills, has the GraphQL skills, has all of these skills. What's going to make you stand out is the soft skills. Because not everybody has that, but even the people who do have it, they're not talking about it, and they're not talking about it in the way that you're talking about it. So you have to be the one that shows how you're human. And there are a number of ways to do this... I used networking; like I said, making sure that I was in these conversations. I used social media, but I also had a lot of -- this was one advantage that I \[unintelligible 00:26:54.20\] because I was already at the company that I ended up interviewing at for the engineering role... We had the Slack donut thing. So to explain what a Slack donut is... It's a little bot inside of Slack, and if you're part of the Slack channel, every two weeks it'll pair you up with somebody at the company, so that you can have these donut chats or coffee chats together, so you can get to know people who aren't necessarily in your org, your circle. Anytime I got paired with an engineer, I would set up the meeting. If I got paired with somebody in like marketing, I'd be like "\*bleep this, I don't want to talk to you." Can I cuss on this? I'm sorry...

Jerod Santo:

No.

Shaundai Person:

Okay, cool. I'll stop.

Jerod Santo:

Just keep going though, we'll just bleep it. It's one of our favorite things to do; we have a great bleep noise.

Nick Nisi:

It's true.

Shaundai Person:

Awesome. \[laughs\]

Jerod Santo:

It's okay, we don't care. We just bleep it. \[laughter\]

Shaundai Person:

So if I got paired with somebody in marketing, I wouldn't do it. If I got paired with somebody in engineering, I would. And that would be my chance to be like "Hey, so tell me about your journey. Tell me about yourself." I'd learn more about them, and then just be like "Well, if I was thinking about switching into engineering... Let me show you my project, and you tell me what you would add to it", and stuff like that. So it was like a warm way to get these conversations to happen... And then people started to talk, like "Oh, this salesperson, she's --" Like, I started to build extensions to our platform, and sell them on why we needed them. \[28:23\] I'm like "We need something that -- well, salespeople, our customers... We're focused on account based management. We need a tool for that. So I'm gonna build one." And so I used our API and I added it to the tool. And so I'm selling everybody. So it gets up to the CTO, and he's like "What? We're doing this?" And then the CEO messages and he's like "This is the most incredible feat that I've ever seen." I was like "Yeah, it is... Yeah, I did that." But yeah, so... \[laughs\] So that was one way that I stood out as human, using video. People aren't doing that. People are sending -- because we're nerds; we're scared to talk to people. Working from home was the best thing that happened to our community. We don't have to go on camera, we don't have to talk to people. But if you want to be a human, if you want to stand out, that's what you need to do. You need to send videos, you need to talk to people like they're human. That was a long-winded way of saying "Yes, I do feel like my sales skills \[unintelligible 00:29:17.01\]

Jerod Santo:

That's a very long yes. Well, we prefer long yeses to short yeses... Because if you just said yes and stopped, then me and Nick would be like "Uhh... Now what do we say?" So I love it.

Nick Nisi:

Some TypeScript...

Jerod Santo:

Yeah... \[laughter\] That's a big no for me.

Nick Nisi:

There's a really cool tool... I mean, just kind of like building on what you're saying about videos and things like that... That is one thing that I absolutely love doing, is making unnecessary videos to walk through some like simple thing... Because it's so fun, and the videos, you can have fun with them... There's a tool for Mac, it's called like Screen Studio, I think... And it just seamlessly allows you to make quick videos and quickly edit them, but it has us a little floating bubble in it... It's super-fast to make these videos. And I would just like do that, and then -- you just have like a drag, then you drag this, drop it in Slack... And there's a video. And it's like "Oh, I could show you this bug, or I could send you a screenshot of what's happening... Let me walk you through it, and have like a video, and a presence in it..." And it definitely -- like, I get more results from doing things like that. And it took me not an order of magnitude more effort to actually do that. So yeah, plus one on that.

Shaundai Person:

Exactly. I love that. I love that so much. That's right in my wheelhouse. I won't keep talking.

Jerod Santo:

\[laughs\]

Shaundai Person:

Unless you want me to about \[unintelligible 00:30:40.27\]

Jerod Santo:

No, you're here to talk... Well, let me ask you this. So we've known each other for a good half hour now... I would say that you seem to ooze confidence. And even in your storytelling, it seems like that was helpful for you. Is that something that you feel -- a) is that true? b) If so, was that learned through sales, or have you always been this way? Because a lot of it is just knowing the value that you bring, and telling that to people in a way that's not hamfisted, or full of - what do you call them, qualifiers? Just being who you are, and being confident, and just saying what value you are, and then people just agree with it. Has that always been the way you are, or did you learn that?

Shaundai Person:

It's something that's learned? And inside, I am not as confident as I come on the outside. It's something that I've practiced. You get a lot of practice with this in sales. So I was selling to -- I sold to all different personas, but I've sold to engineers, literal rocket scientists. I sold a tool called MATLAB and Simulink.

Jerod Santo:

I know MATLAB.

Shaundai Person:

NASA was my customer. Yeah, a lot of engineers do. And this is why I had the sense in my head that engineers are just dorks, because... They're dorks. You want dorks, like --

Jerod Santo:

\[31:59\] \[laughs\] Like literal rocket scientists...

Shaundai Person:

...the dorkiest NASA -- yes.

Jerod Santo:

Right? Pocket protectors and everything...

Shaundai Person:

Oh, yeah. Oh, yes. So I've sold to them... And I was early 20s when I started doing this, I've sold two CSOs, which is Chief Sales officers, CMOs, Chief Marketing Officers, CEOs, and sold those personas - I sold them consulting services. So basically, the consulting services or advisory services was me telling them at age 25 or whatever, telling them how to run their business. And these are businesses that are multi-billion dollar businesses that you know about, that I'm working with. And why would they listen to me, a 20-something-year-old black woman? Why would they listen to me? So if I came to them and I was acting as shy as I feel on the inside, as insecure as I feel on the inside, there's absolutely no way that I'm ever going to make a sale. So there are ways to -- like, one, practice is the best way to do it. And like really just putting yourself out there. But also just be prepared. And if you know your stuff, then it's a lot easier to come off as somebody who has things all together.

Jerod Santo:

Do you practice it through just years of sales, or do you actually also practice it to yourself? Do you stand in front of a mirror, is there anything that you did that way? Or is it just literally like just the school of sales, hard knocks.

Shaundai Person:

Yeah, it's both. And still to this day - so for example with the conferences, I'm a master at talking to myself. I talk to myself when I don't need to, but...

Jerod Santo:

\[laughs\]

Shaundai Person:

I'm gonna prepare all of the -- like, I put things together, and I'm kind of a recovering perfectionist, so sometimes I over-prepare... But yes, I want to have all of my stuff together, and I also want to anticipate the questions that people will ask, and anticipate the objections that people will have. That's a sales tactic, or that's something that I had to learn in sales, is you come on the offense and the defense. You want to come ready with a plan of attack, you've qualified your customer as "This is somebody who could be potentially a customer of ours, and we have a solution that fits what their need is." And so that's the offense. "I'm going to propose this thing to you." But then on the defense, you want to anticipate all of the concerns that they could possibly have. So you think through "Okay, they're probably going to say this. Or if they're coming in with these intentions, or these goals for the year, they might say this." Same thing when it comes to any conversation. Even friendships, conversations with friends, I'm like "If I have to give somebody a hard piece of feedback, what could they possibly say to me, and how am I going to get ahead of that?"

Jerod Santo:

Right. You have your responses canned, or at least thought through, so that you're not surprized.

Shaundai Person:

Thought through. Oh, yeah. Absolutely.

Jerod Santo:

Love it.

Break:

\[35:06\]

Jerod Santo:

Nick, do you talk to yourself when you're preparing for your -- so you may not know this about Nick, Shaundai, because he comes off as quiet and humble, but he's also a stage performer. You get this guy on stage, and he performs. Yes, very confidently. He's an MC of TSConf... Is that right?

Nick Nisi:

Former...

Jerod Santo:

Formerly, okay. He's funemployed now... And he is former MC of Nebraska JavaScript conference, which he always had the highest reviews as a guy who goes on stage and tells puns, and really puts himself out there. So Nick, I'd love to ask you the same question I asked Shaundai... How do you prepare for such things? How do you have the confidence to stand on stage and say something ridiculously stupid, and still be okay with the results?

Nick Nisi:

I just learned to make an ass of myself at a young age, on stage...

Jerod Santo:

\[laugh\] Okay...

Nick Nisi:

Before I was even 21 I would go to bars with friends - bars that would let us, and I'm talking like Buffalo Wild Wings, or a bowling alley bar where the head karaoke, and they didn't care that we weren't gonna buy beer... And I would just go up there and sing the worst songs with my terrible voice, and just make a complete fool of myself. So yeah...

Jerod Santo:

So years of karaoke paid off in your career.

Nick Nisi:

Yeah.

Jerod Santo:

Okay, Shaundai, karaoke. Are you in? Are you out? What's your take?

Shaundai Person:

I will do karaoke, but little known fact - I used to perform spoken word poetry.

Jerod Santo:

Really?

Shaundai Person:

Yeah, yeah. So I was up there \[unintelligible 00:37:36.08\]

Jerod Santo:

Oh, performative, too. I love it.

Shaundai Person:

Yeah. Yeah. So I was performing.

Jerod Santo:

That's awesome. So here's a pro tip for your TikTok channel, is mix some of that stuff in.

Shaundai Person:

I like that, because I have been looking for something outside of tech... But I have been thinking of like writing poems about tech. But I have been thinking about something like that. So that's a really good idea. I might do that, and then when I do, I'm going to make sure that you get a shout-out...

Jerod Santo:

Love it.

Shaundai Person:

...when I when I start posting it.

Jerod Santo:

Yeah, I'll take all shout-outs. I'll also take --

Shaundai Person:

Nick, did you do karaoke on -- would you sing online?

Nick Nisi:

Heck yeah...

Jerod Santo:

So Nick has actually sung on JS Party historically... In fact, one time during a break he sang -- was it Endless Love? Or were you singing the time that you got us demonetized on YouTube, because you just -- like, somebody had to go to the bathroom, and Nick was left on JS Party, by himself, the only one here, and he started singing... What song was it, Nick? Careless Whisper?

Nick Nisi:

I cannot remember... It might have been.

Jerod Santo:

I think it was --

Shaundai Person:

That's amazing. \[laughs\]

Jerod Santo:

I think it was Careless Love. I don't know what it was, but...

Nick Nisi:

Endless Love, yeah.

Jerod Santo:

Endless Love, sorry. Careless Whisper? What's the song about whispering? Anyways, Endless Love...

Nick Nisi:

Lots of friends singing this Love in the Dark. \[38:52\] *"I thought we were gonna be just friends..."* *"What?! Friends listen to Endless Love in the Dark..."*

Jerod Santo:

Yeah, lots of friends, exactly. We came back and we finished the show, and then later on I got an email from YouTube saying that your stream has been demonetized, because you're using copyrighted material. I'm like "How did they recognize that is the song?" He must have been on key, is my point.

Shaundai Person:

\[laughs\] Because I'm thinking that they were like "Oh, this is so bad, I'm pulling out my sponsorship..." \[laughter\]

Jerod Santo:

I was like "Oh no, they're gonna take away that 0.0001 penny that they were gonna give us for the hundred people who watch this stream..." But I think we did take that and do something with it. We do like to use and abuse Nick's abilities to sing. But we have never actually teed you up for a song, and put some background music, and just let you \[unintelligible 00:39:47.19\] I feel like that should happen at some point. Don't you think?

Nick Nisi:

Yeah, for sure.

Shaundai Person:

Okay.

Jerod Santo:

See, he's in for it.

Nick Nisi:

I'll go all out.

Jerod Santo:

He would. He would go all out.

Shaundai Person:

Let's do it at that conference.

Jerod Santo:

Favorite karaoke song, Nick? Was it is it Prince?

Nick Nisi:

Yeah, Kiss by Prince, or... Oh, man... Unbreak My Heart by Toni Braxton.

Jerod Santo:

Oh, man...

Shaundai Person:

Me too...!

Jerod Santo:

She goes high. Oh! Duet!

Shaundai Person:

Oh, my gosh...

Jerod Santo:

\[40:12\] That conference...

Shaundai Person:

There are so many opportunities...

Jerod Santo:

Right?! You guys need to sing a karaoke duet, Toni Braxton, at that conference. Tape the whole thing, so I can watch it later.

Shaundai Person:

Okay. Yeah, we're gonna have to split up the verses, or something.

Jerod Santo:

I think we're at the beginning of a beautiful friendship right here. This is good.

Shaundai Person:

Agreed. 100%. Yeah, I'm super-excited about this. \[laughs\] I'm so serious.

Nick Nisi:

Me too.

Jerod Santo:

Alright, so our audiences now are like "Was this a tech show? What are they-- is this a karaoke podcast?" \[laughter\] So allow me to somehow reroute us... Here's my question - when it comes to sales and engineering, how do you convince the TypeScript compiler to accept your types? How do you sell it on your code? Like "Hey, this code is fine. Just take it, why don't you?"

Shaundai Person:

That TypeScript compiler does not listen...

Jerod Santo:

Yeah, you can't persuade it, can you?

Shaundai Person:

Oh, my goodness, no...

Nick Nisi:

Yeah, you can.

Shaundai Person:

That's the hard thing about tech, is like - I mean, people are difficult, but... Not that I know everything about everybody, but tech is so opinionated. And the TypeScript compiler is sometimes like a toddler. It's like "I gave you what you asked for, didn't I?" Or "You get what I was saying." Or maybe it's like a toxic relationship, with a toxic boyfriend, and it's just like "I feel like you're gaslighting me right now, TypeScript. Like, you totally get what I was saying, and you're gonna sit here and give me a red squiggly, and act like you don't know what the heck is going on? But you do." So yeah, TypeScript kind of -- it makes me mad sometimes. But I was an anti TypeScript person before I learned TypeScript, and I think that's pretty much everybody's journey with TypeScript; you hate it until you try it. And then you're like "Oh, okay. Yeah, I get it, it's a pain in the butt sometimes, but I love it, and I see why it's meaningful." And especially if you're working with enterprise-level code like I am, you want it to be maintainable, you want it to be scalable, and you want it to be easy to onboard into as a new person to the codebase. TypeScript gives you all of that. It gives you the ability to understand what even you forgot that you coded last week, but people who are new to the code are like "Okay, I can see where she was going with this. I can see what the inputs and the outputs were supposed to be." And it helps you to write in your code editor, just be able to identify all of these issues that maybe you hadn't thought of. And I also notice how it changes -- it changes the way that I think about coding. Before, when I was just a JavaScript D-person...

Jerod Santo:

\[laughs\] It sounds like medieval times, you know? "In the old days, when..."

Shaundai Person:

Yeah, like way back, in the Dreamweaver days... \[laughter\] Because I call JavaScript like the YOLO of languages, because you don't have to worry about anything.

Jerod Santo:

Exactly.

Shaundai Person:

It's like "It works right now, so that's all that matters. Let me just get this out here. I'm gonna merge this code, and it's fine." Nobody's checking for anything, except for - as long as I didn't break any tests, it's good. But I'v found that with TypeScript and the squigglies, now I'm starting to think about, okay, once I export this component, I need to make sure that -- it needs to be extensible. Like, it needs to work beyond where I'm exporting. This component has to be able to -- or this function; I mean \[unintelligible 00:43:45.01\] but it has to be able to work with all of the downstream components that it's getting plugged into... So it starts to change the way that you think about code, and you start to structure your code with all of these edge cases in mind, that I didn't used to think about when I was just using my YOLO JavaScript language.

Jerod Santo:

\[44:08\] Well, you do only live once, you know... So if you're gonna just live once, I would use a language that's more enjoyable myself... But I understand. Enterprise engineers need their enterprise solutions. Here's an honest question about TypeScript... Because - okay, you don't understand our dramatic foil, Shaundai, because you're new here, but Nick is the TS fanboy. He would rename the podcast if he could, to TS Party. But I will not let him.

Nick Nisi:

Who says I can't? Oh, you do. Okay.

Jerod Santo:

TypeScript won't accept it. Yeah, I don't know... And I haven't really used TypeScript much, because I decided very early on that this could not stand. We need an anti-TypeScript character on our show. And so that's me. And so I hate it with all my heart, only when on the podcast. But because of that, I haven't really used it very much. I have used strongly-typed languages. And for me, it seems like when I'm using dynamic languages, and I'm just like sending data to my own functions, myself, it's all very normal... I don't really have problems with the data I was expecting wasn't the data that I received... But I do have that problem in runtime with third party JSON, or like data coming from a user, or coming from places that I don't have any control over. Not build time stuff, not while I'm coding, but like later on. Does TypeScript solve that problem for us?

Nick Nisi:

What do you mean by later on?

Jerod Santo:

Later on, like not when my tooling can catch anything. Like, my code is running in production, some user is doing a thing...Maybe it's coming from an API, I'm sucking in some JSON response from Shopify, maybe it's coming from GitHub, maybe it's coming from a person typing into a thing... They didn't checkbox a thing, or whatever, and here comes a payload into my code now. And my code is expecting one thing, but I'm not sure what I'm gonna get. And TypeScript -- can TypeScript help me now, or is it too late for TypeScript?

Nick Nisi:

Yeah, that's like one of the --

Jerod Santo:

Because that's like 98% of my data problems, is that. Not while I'm coding.

Nick Nisi:

Yeah, you're a special case, I think...

Jerod Santo:

Well, thank you.

Nick Nisi:

You just need to work with more people to really appreciate TypeScript.

Jerod Santo:

Nobody likes me though, so... \[laughs\]

Nick Nisi:

But what you're touching on is a -- you get this payload from your fetch call or whatever, and you have to like forcibly say "This is this type. I'm getting back this type. I know I'm getting back this type."

Jerod Santo:

But you don't know.

Nick Nisi:

But the problem is you don't 100% know.

Jerod Santo:

So in those cases, you're still up a creek.

Nick Nisi:

Yeah.

Shaundai Person:

Yeah... And I feel like I've been in the enterprise level so long that I kind of forget that -- I forget how to code outside of it. And I know that if I was going to import a package, I would need to also -- that package needs to come with its own types; otherwise, it's going to cause so much -- it's going to wreak havoc, and I'm gonna get all these red squigglies... And then - yeah, it's not worth it. So I'm wondering if what you're asking -- I mean, TypeScript would help, but as long as it comes packaged with its own types, then it won't cause any problems.

Jerod Santo:

Sure.

Shaundai Person:

And the benefits are minimal, I guess, as long as the contract is matching from what's being imported from the package, and what -- or sorry, what's being imported and exported, as long as it matches...

Jerod Santo:

Sure. I'm more thing about runtime data coming in from a third party, like a fetch call; not from a third party library, but from an API, or from some other microservice or whatever that I'm talking to. And I think I have a contract with that thing, but I don't actually have a contract with anything. And so I find myself doing lots of application-level type checking on the data coming in, like "Does this happen to be null? Because who knows...? Or is it an empty string, but I was expecting a date?" And if TypeScript could fix that at the - I guess like the barrier, or the boundary of my application from third party data, not from third party code, then I'd be like "Oh, that's super-rad." But if it can't, because it's not invoked in production, then I guess it just doesn't solve this other problem that I have, that I'd be like "Oh, it does solve that problem? Now I can have a reason to use it." \[48:31\] Because like Nick said, Shaundai, I don't work in enterprise teams. I'm mostly a solo dev, and so I just don't have any of the problems that TypeScript -- I have some of the problems, but very few of them that TypeScript solves. And so I'm never super-motivated to try it. Plus the whole "I can't try it, because I hate it" thing. But if it did this for me, I'd be like "You know what...?"

Nick Nisi:

I think that it gives a medium for solving that problem, but it's still on like the third party API that you're consuming to properly solve that. And one way that they might do that is by just -- the API that you're working with is GraphQL, right? GraphQL you'd be able to get at the schema, and from that - you can generate types automatically from that. So the types become this common layer, that you can at least make your code understand what's coming back... And of course, there can be problems where it's not 100%, or you have an old version of the schema, but you're getting new data somehow, or things like that... But it's better than it used to be, I guess...

Jerod Santo:

Right. There's more of a formalized contract through them publishing a GraphQL schema, which you can then convert into types on your side.

Nick Nisi:

Yup.

Jerod Santo:

Fair. Here's a question coming in from the chat... What's your opinion on writing test files in TypeScript? Maybe Nick can handle this one, because I know you're a big test writer, Nick. What do you think about that? Do you write your tests in TypeScript? Or should they be more loosey-goosey? That's verbatim quote from the chat.

Nick Nisi:

\[laughs\] I definitely do. I guess I don't notice it, I don't worry too much about types... It's definitely looser in there. It's less strict for me. But it's still in TypeScript, because I probably want to -- I want the autocompletion to know that I'm calling things the right way, and all of that. But I'd love to get your thoughts on it, Shaundai.

Shaundai Person:

Yeah, I don't have a strong opinion on it, but we do write our tests in TypeScript. It just matches with it. As you said, you get the autocomplete and everything... And then there are certain times where we have a new mocking strategy, so it's going to be not as relevant in the very near future, but there are times where we might want to mock something and we use types for those mocks. So it just makes it easier to stick with the same conventions. And everybody's all on board with TypeScript and everything, so it's not really like any barriers or anything to \[unintelligible 00:50:56.06\]

Nick Nisi:

You don't have any Jerods to deal with?

Jerod Santo:

Ha-ha-ha...!

Shaundai Person:

No Jerods...

Jerod Santo:

I'm actually a team player. I think if I joined Netflix and I was like on the engineering team, and it was all set up and working, and I would just do exactly what everybody else was doing.

Shaundai Person:

That's all.

Jerod Santo:

That's all I do. I'm not gonna make waves. You don't need to sell me. You can just dictate. You know, you're a senior engineer; I would be a noob, so I would just accept it as it is. Alright, we know you have to go... We appreciate you joining us. I feel like we could continue this for a couple more hours if we had the time... But hey, maybe another time. Best way to connect with you, Shaundai, on the interwebs... What is it?

Shaundai Person:

So I am lucky enough to have my first name as a handle for pretty much everything except for TikTok. I don't know who got my Shaundai...

Nick Nisi:

You do...?!

Shaundai Person:

Yes. But anywhere else, I have a very good googleable name. So just look up Shaundai Person. I'm the only Shaundai Person in the world. So you can find me on Twitter @Shaundai, YouTube @Shaundai, Tiktok @Shaundaip. But yes, I would love to connect with you. LinkedIn as well, come find me and learn more about leveraging transferable skills.

Jerod Santo:

Very cool topic. You've had lots of success, so I'm sure there's plenty of tips and tricks you can give to the rest of us, so we can have some success as well... Fully knowing that your experience is unique, and you bring your own things to the table that I don't bring... But I also bring my own things as well, and so we can all hopefully learn from each other and thrive in this web dev community. Well, I really appreciated you joining us today. It's been an awesome conversation. One more shout-out to our friends at React Paris. Also, that conference... Hey, holla at that conference. Do you want to see Nick and Shaundai teaming up on some Toni Braxton karaoke? If this doesn't happen, I'm a liar, and you guys don't want to make me a liar... So let's make it happen for Nick and Shaundai. I'm Jerod, and this is JS Party, and we'll talk to you all next week.