Join Kent for a live workshop in New York, USA 🗽

React Server Components and Actions
Time's up. The sale is over
Back to overview

Laurie Barth Chats With Kent About Growing Outside Of Your Comfort Zone

Laurie Barth chats with Kent about finding new skills and exploring them.

Laurie has a tough time saying no, and she ends up trying a lot of different things, but this isn't necessarily a bad thing. Attempting to learn something new gives you the fresh perspective of a beginner starting from nothing. We get comfortable and take for granted the pieces of knowledge we have on our skills.

You have to find a balance, though. It's demotivating to feel dumb all of the time. You need to use the thing you learned for some time, so you advance beyond the beginner phase of the skill. If you jump from skill to skill too fast, you'll feel like you're going nowhere. Try to figure out everything that is contributing to your success that you don't have any experience in, and these are the areas where you'll probably want to dig deeper.

Homework

  • Try to do something outside of your comfort zone, and use that experience to help you learn how to empathize with those who are unfamiliar with the things that you already know.

Guests

Laurie Barth
Laurie Barth

Transcript

Kent C Dodds: Hello friends. This is your friend, Kent C Dodds, and I'm joined by my friend Laurie Barth. How are you Laurie?

Laurie Barth: I'm good. How are you?

Kent C Dodds: Good, good. I'm super excited to chat with you today, and yeah, before we get into our conversation, I'd love it if our audience can get to know you a little bit. So, could you introduce yourself to us? Tell us some things about yourself, whether it's technically related or not. We'd just love to get to know you a little bit.

Laurie Barth: Yeah, absolutely. So, I'm Laurie. I'm a software engineer for a company called 10 Miles Square. I live in the D.C. area, and I do kind of a lot of random things on the side, and a bit as part of my role. I do some blocking, some technical speaking. I'm an egg head instructor, I'm a Girls Who Code facilitator, and I love interacting with the community, and kind of learning new things and sharing resources with other people.

Kent C Dodds: And I love being on the receiving end of that. So, that's awesome. So, can you tell us a couple of the things that you've done? Egghead is, of course, something that's big and important to me. It's been my thing for a long time. I've been teaching on there. So, I'm curious, what are some of the things that you've been teaching on Egghead, and what are some of the things that you hope to teach in the future?

Laurie Barth: Yeah, so I've done a bunch of really short, I know Egghead is always about being short and concise, but really short JavaScript syntax, especially, basically everything ES 2015 and beyond, all of these new things that we've added to the language that should really be tools under people's belts to write more readable, concise, verbose, both of those things at the same time. It's crazy.
JavaScript. I love JavaScript, but realistically we kind of get a bad reputation. For many years, it wasn't the most readable language. It was kind of this hacky shoehorned language that would appear in random HTML files. So, I love the fact that we're changing that and that it's evolving. And so, a lot of my instruction videos are on that.
And eventually, I will get around to it, but I really want to do a course on View Router. Routers in frameworks are really amazing and powerful, and I introduced View Router to someone I was working with a month ago and they were amazed by how well it's built, and how much you can do with it. So, I think it's one of those things that can be really accessible for people, and I'd love to do an intro to that. So, hopefully I'll get to that soon.

Kent C Dodds: Cool. Yeah, that's always fun. The Christmas time at Egghead is always very fun and exciting, lots of new courses coming out. So, maybe we can expect to see something from you then, hopefully.

Laurie Barth: Hopefully.

Kent C Dodds: I know that we're all very busy, so [inaudible 00:02:58] that's excellent. So, I wanted to talk with you, Laurie, because it seems like you have your hand in a lot of different things. Your intro kind of said it all, where you are involved in so many different things, and I'm just curious, what is it that motivates you to be so involved like you are?

Laurie Barth: That's funny because that's a really nice way of saying that I'm random and aimless.

Kent C Dodds: That's not what I mean at all.

Laurie Barth: No, I know. It's what I mean. I'm really bad at saying no, realistically, and so I see things that other people are doing and I'm like, "Oh, that seems fun. I want to try that." And so I try my hand in a lot of different things, and then I get pulled into them, and then forevermore, I'm doing those things.
I told myself I wasn't going to do Egghead. I'm like, "I'm doing talks and I'm doing blogs. That's enough." You know? Well, here I am. I told myself I wasn't going to join a new committee, and now I'm doing the TC39 Educators committee.

Kent C Dodds: That's awesome.

Laurie Barth: Yeah. I'm excited about it. I don't think I've posted that publicly. I only joined last week.

Kent C Dodds: That's super exciting, though.

Laurie Barth: Yeah. But I love doing a variety of things. My company has been really amazing about supporting me in the kind of community efforts I want to be a part of, and I have the flexibility in my life to do that now. So, yeah.
And the other thing I'll say, is I think it's really important that we have a lot of different voices within the community, especially on the teaching front, but on sharing their knowledge and sharing their resources. You talk about this a lot, but the idea that everyone learns differently, and everyone kind of absorbs information differently. And there are resources that I've seen that completely don't click with me, and there's resources that right away feel like they were written by me.
And so I just like to add kind of another voice in the crowd. Even if I've seen the topic explained a million different times. Maybe the way I explain it will help someone else, because it's how I understood it.

Kent C Dodds: Yeah. So, from the sound of it, it sounds like you're saying that you're maybe doing too much. In retrospect, would you change what you've done and what could you advise the people who are listening who, maybe they aren't involved in a lot or maybe they're involved in a ton, or they have some opportunities, what are some of the things that people should think about when they start getting involved in something new?

Laurie Barth: Yeah, do as I say, not as I do, right? So, too much is really interesting because sometimes that's true and sometimes that's not. As an industry and just the way content creation works, things really ebb and flow. And so, there will be weeks where I'm totally slammed and I'm traveling to three different places, and I've got two posts that have to go up, and a bunch of meetings to be in. And then there will be weeks where I look around and I'm twiddling my thumbs and saying, "Wait, what am I supposed to do with my life now?"
But prioritization, it's important and it looks different for everybody. For me, it's a matter of is the thing that I'm working on something that I want to be putting my time towards. And admittedly, when someone asks me to do something, I feel a little bit more peer pressured, and I'm not necessarily as great at intrinsically saying, "Okay, is this something that I want to do?"
But at the same time, I'm relatively early on in community involvement and content creation, probably only a year, maybe a couple of years. So, trying my hat at a lot of different things, and we'll see where it shakes out Again, I have the flexibility to do it now. So, it's a nice opportunity to kind of test the waters and see where I'm most excited to contribute my time.

Kent C Dodds: And where has that been so far in your experience, like balancing your work responsibilities, as well as the things that you've taken on as additional responsibilities. Where have you found yourself to be the most happy and rewarded, and found yourself to be the most motivated?

Laurie Barth: So, it's funny, because I always say that when I'm in one realm, I'm the most satisfied. And then, when I'm in the other, I'm like, "Why aren't I doing this all the time?" So, I blog a lot and I'm involved in Twitter, in that community, and I really enjoy being there.
I love sharing content. I love when I help people understand something. And then I go to a conference and I'm hanging out with a bunch of other people in person and a bunch of other speakers, and I'm like, "I want to do this all the time." So, it's hard because I enjoy both aspects of the communities, and I think they're very different in some ways.
So, for me, it's as long as I'm getting that feedback loop, and people are saying, "Hey, what you're doing is helping me," or, "That resonated with me," or, "That was helpful in some way," I'm happy. If I'm talking into the abyss, then maybe less so.

Kent C Dodds: Yeah. I think, like you said, you're kind of testing the waters, and finding that thing that makes you the most satisfied. It's kind of a never ending search for that kind of thing. And but testing out new things is kind of how you go about doing that.
So, what are some of the types of things that people can do? I think kind of what we want to circle around in our conversation is to talk about the importance of trying new things, and getting outside of your comfort zone. What are some of the benefits that you've found in your life, as far as trying these new things and getting outside of your comfort zone a little bit?

Laurie Barth: Yeah. Perspective. You really understand what it is to start from nothing, and there's good and bad aspects to that, right? So, if you start doing something completely out of your comfort zone, you have a kind of new respect and perspective on what it's like to start out without that foundation.
We get so comfortable, so quickly, with all of these pieces of knowledge that we take for granted, whether that's you're a software engineer and you know how to set up your computer and you get. Okay, a lot of people don't know that, but it's second nature to you now. Or you work with cloud services and you understand the definition of what an EC2 is. Okay, a lot of people don't know that.

Kent C Dodds: I'm raising my hand. People can't see, but that's me.

Laurie Barth: Yeah, they should have named it VM on AWS, virtual machine on AWS.

Kent C Dodds: Okay, now I know what that is.

Laurie Barth: Yeah. So, it's all of these things. In my mind, I talk about this a lot with vocabulary, and just the fact that you don't understand what people are talking about, but it's just as true when you step into those practitioner's shoes, and you're actually trying to implement something.
The other side of that is it's really dangerous to try too many things at once, and get just enough understanding, and then jump to something else. You will be endlessly frustrated. I'm a consultant, right? So, I joke all the time that I don't have a tech stack. My tech stack is whatever the clients tell me it is. And there was a period, probably a year ago, where I looked at my boss and I said, "I have jumped from hardware to software to cloud to CMS and back again in the course of the past few months, and I need a rock to grab onto. I'm in quicksand and I feel dumb all the time."
And we joke that, as software engineers, we have to get used to feeling dumb. And that's absolutely true. But it's also this idea that you need to get comfortable with something and build on top of that knowledge. You need to use the thing that you learned for a period of time, instead of just constantly be flailing about. So, jumping into other things, starting with no foundation, super important, but also recognize that, once you've built that new foundation, you should try and use it for awhile.

Kent C Dodds: Okay, so it's more of a balance. So, there are a couple of things that you said there that I kind of want to unpack a little bit. So, part of the benefit of jumping into something new is developing this, at least a reminder for yourself, that the things that you're familiar with are easy to you because they're familiar, not because they're easy, necessarily. And so, would you say that part of the objective here is that you're intentionally causing yourself some growing pains or some learning pains, so that you can develop that empathy? Or is there a little bit more to it?

Laurie Barth: I think it's absolutely intentional, to develop that empathy. I also think that you can sit down and try and be conscious of what the building blocks of your expertise are and the knowledge that you take for granted, and you're still going to be at step one instead of step zero. You have to go to step zero somewhere else in order to really appreciate just how low that bar needs to be.

Kent C Dodds: Yeah, that makes a lot of sense. I wonder if that, even if I were to go and say, "Hey, I want to try a new programming language," or, "I want to try backend," or, "I want to try cloud services," or something, I'm actually still not at step zero for somebody who doesn't know how to program. And so, I wonder if you could get the same kinds of benefits by trying something completely different, like maybe people management or music or just anything else. Do you have any thoughts around that?

Laurie Barth: No, that's absolutely the case, and I think the benefit, maybe, of doing something else in the programming space, is that you're going to realize that you have certain skills that transferred over, and then maybe you'll recognize that those skills exist in a lot of different places and are a barrier to entry.
But I think that's absolutely true for learning anything. You know, a lot of educators, I'm sure yourself included, talk about the idea that you want to learn how to learn, and that looks different for everybody, right? We don't all learn the same way. We don't all take on information in the same way. So, understanding how you learn anything is always going to help you bring that back to what you practice, and it's going to help you recognize that the way you learn is maybe something you want to introduce to your area of expertise. So, someone who learns like you do could follow that path into what you've learned. I'm using the word learn a lot.

Kent C Dodds: Yeah. Yeah, yeah. That's interesting. So, we've talked a little bit of kind of a meta discussion around learning something new, and what we've talked about actually kind of seems like aside benefits, or auxiliary benefits to learning something new. There's also the thing that you're learning could benefit your life, as well.
I don't know how to write a go server, and if I go and learn that, then yeah, I'll learn how to learn, but also know, now, how to write a go server, which could be useful for me. Do you have any thoughts around that and the benefits of making yourself... Because I'm way deep into JavaScript, and I do lots of node and lots of react, and I don't really branch out very far beyond that. And so, what benefits are there for somebody like me who's so single minded, would there be to to branch out and learn new things.?

Laurie Barth: So, I suspect that your definition of node and react is a lot larger than a lot of people's would be. Obviously, you run a podcast, so there's some kind of automation that you've figured out to get this working and running, and deploying to the various podcast services. I'm sure, because you run your own testing library, that you figured out a whole bunch of stuff about the way open source works. There's a number of things around that, where you've really expanded your reach, and you probably don't think of those things as things to learn.
I mean you have your own website, so you do some kind of CICB deployment. Like, there's all of these different things, and what we forget is, even if someone knows React really, really well, if they've been sitting in a larger development team and someone gives them a ticket, they implement it, they push it to get, and that's all they know. There's a whole bunch of stuff that you do that they have absolutely no experience with, and so we branch out into these separate areas and you do it naturally just because there's things you want to accomplish, and you may not recognize that you're doing it, but for everyone else, if you're on a larger team that shields you from some of that stuff, it can be nice to kind of dip your toes in some of the other areas.
Maybe other team members are working on something. You want a better understanding of the dev ops pipeline. You want to understand the requirements writing process better. All of those things are beneficial, especially because you're eventually going to move to a different team, and you have no idea how your role is going to grow, and having some experience with those things, instead of just being a cog in a wheel, I guess lifting your head up and looking around at the bigger picture, and what other things are contributing to your success, is where you'll find areas that you probably want to dig a little deeper in.

Kent C Dodds: Yeah, those are some nice words. I know more than I think I do. So, thank you. That's probably true of most everyone. They know more. And that's actually kind of the point of what you're saying here, is that you know more than you think you do, and that's why maybe people struggle with it, because they're like, "What does commit mean? I already committed it. Why do I need to push it?" Lots of things we take for granted. This conversation actually makes me think of a blog post I wrote just yesterday called "How to Get Experience as A Software Engineer."

Laurie Barth: I read it.

Kent C Dodds: Yeah. And by exposing yourself to new things, you're experiencing new problems, and those problems may actually be applicable to whatever it is that you're doing in your full time job. So, even though I've made the decision that, "Hey, I'm going to stay laser focused on this JavaScript, open source, just a couple of things here," that doesn't mean that by learning other things, that's a waste of time. You definitely have opportunities or the things that you learned with those other experiences can cross apply. Has that been your experience?

Laurie Barth: Oh, absolutely. I mean, I have worked in a staggering number of different tools, different frameworks, different languages. There was a month last year, that I was simultaneously working in Python, Java, JavaScript and PHP.

Kent C Dodds: Whoa! All that syntax. Like, oh, I'm running JavaScript and Java." And yeah.

Laurie Barth: Let me tell you, there's something going through TC39 right now that uses the hashtag symbol for actual code, and I'm like, "No, my syntax switching brain can't handle that! I'm going to be commenting these private variables!" Yeah, I've kind of lost the plot here. There was a point. What was your question again?

Kent C Dodds: I was just asking if learning new things gives you skills that are cross applicable to everything that you're really focused on?

Laurie Barth: So, you don't recognize how cross functional things are until they start breaking. When you start seeing failure, you will recognize how failures often follow the same patterns. Again, as a consultant, one of the things that we do is we go out to companies, and we do assessments.
And we joke a little bit that it's company therapy, because you sit around the table with a bunch of really high level people whose teams interact but they may not necessarily interact, and you watch them kind of suss out problems, talk through their process and you recognize really quickly that these higher level issues, these things that are causing problems day to day, they're often not technical. They're often people and communication and process, and I think one of the things your article really nailed is, if you start to see a lot of different problems and solve them, you're going to see the same patterns, not just for fixing them, but for getting to the bottom of what the problem is. Figuring out root cause.

Kent C Dodds: That's [crosstalk 00:21:20].

Laurie Barth: Yeah, figuring out root cause is really important. And I think a lot of times we suspect that the problems that we're seeing are one off, but in my very first development job, there was a senior engineer who I walked over with a problem, and he was like, "Oh, you solve it like this." I'm like, "You know everything." He's like, "No, but I've seen that problem a hundred times before. And you're going to see it a hundred times, too."

Kent C Dodds: Yeah. I really think that exposure to new problems is a critical piece to developing experience. So, that's awesome. Cool. So, let's say I'm an engineer. I'm steeped in JavaScript or I'm way deep into backend services programming. How do I decide what's the new thing that I'm going to try?

Laurie Barth: Yeah. This is the million dollar question, right? People who follow me on Twitter may I notice that I tend to ask questions of the Twitterverse a lot, just cause I want to know people's opinions or insight on things. And I asked this question a long time ago. I said, "How do you decide what to learn?" And I got a lot of really interesting answers.
And the thing that really stuck out to me was a number of people don't get to make that choice for themselves. If you have free time and you get to make that choice, that's great. If you have a side project or a side hustle, as it were, or anything else. But a lot of times it's asked of you. You're picking up for someone who's left the team, there's something new being added to your product and they need someone to own it.
Oftentimes, it's thrust upon you. And I would say those are situations where, learn what you got to learn, and do it to the best of your ability. I would also say, if you see a need on your team for something and you find it interesting, maybe volunteer. Oftentimes, at least in my experience, there will be opportunities right in front of you. Someone's overloaded and they need a secondary. Those are great opportunities, because you have a senior resource to kind of pull information out of and knowledge out of. I can't understate the importance of that.
And other times, there's just kind of this glaring hole that no one's handling. It's interesting because I think you will listen to a lot of particularly underrepresented people who talk about taking on those tasks, and being the glue in teams, and maybe not getting the recognition they deserve. So, I'm not necessarily saying that. There's kind of nuances to that, but in terms of technical needs that need to be met, highly recommend.

Kent C Dodds: Yeah, that's actually very interesting. I definitely remember, on one of my product teams, I always volunteered for the UI react staff, or the tooling upgrades or whatever. I never really was super interested in doing our node server stuff or doing CI fixes or whatever.

Laurie Barth: Because servers are evil, Kent.

Kent C Dodds: Well, I mean it was Jenkins.

Laurie Barth: Oh, Jenkins? I don't mind Jenkins. I'm the only one in the world.

Kent C Dodds: Well, there you go. So, I do think that it would have been beneficial. And one of the things that I'm kind of taking away from this is that it actually doesn't matter quite so much what it is you do next, just that you're doing something different, and you get the benefit of stepping into an unfamiliar situation, so you can develop some empathy for people who step into unfamiliar situations. And then, also, the things that you learn in that uncomfortable, unfamiliar situation can often cross apply to the things that you do on a regular day to day.

Laurie Barth: Absolutely. And when you're jumping around and learning different things, that's great. If you stay in one place, you're probably going to learn something new either way, but don't be afraid that you're going to get super rusty. If you don't do something for five years, it's going to be like riding a bike, but it's going to have evolved. So, the bike is now a tricycle, and figure out how to ride that.

Kent C Dodds: With rocket boosters.

Laurie Barth: Right, exactly. But if you step away from something or even put it as 50% of your time, instead of 100% of your time, often time, in teams in development, they're working with the same version of something for a long period of time and putting in additional features. So, it's not like you're missing major opportunities. You are just expanding your opportunity to learn while on that team.
And I know a lot of people feel like they kind of hit plateaus in companies and they'll make jumps because of that. I never have that issue. I have a different client every week. But it's a thing and there are ways, if you like your team and you like your company, to seek out other opportunities to kind of move away from what it was that you were feeling stuck in.

Kent C Dodds: Yeah. And many companies have, unless you're a four person startup or something, in that scenario, you're going to be doing a lot of things. But in most mature companies, you're going to have a lot of different areas where you can contribute and change what you're doing.
There was one company that I was working at, it was a sort of smaller company, and before I jumped in as the UI engineer, they'd lost an a UI engineer. And so, they had one of their backend engineers doing some UI work, and I hope he doesn't listen to this, but he'll agree with me anyway. He had a really terrible attitude about that experience, and I'm not saying that you have to enjoy these new things. We kind of naturally gravitate to certain things sometimes and that's fine, but you're going to have a much better experience in learning these new things if you have a positive attitude about that.
And I tell my kids that all the time. That you're going to go through the experience one way or the other, now that you've committed to it, I guess. And so, you may as well have a positive attitude about that so that you can get the most out of it. So, that was just one other thing that I thought of. Is there anything else, as we kind of wrap things up, that you'd like to talk about, Laurie?

Laurie Barth: I mean, it's interesting what you just said. I would say, if someone's going to be a grouch about something, maybe don't volunteer. If you get it thrust upon you, though, it can sometimes be hard to have a positive attitude because you don't feel like it was a choice that you got to make for yourself. But I've talked to a number of people who have gotten responsibilities thrust onto them, and even if, simultaneously, you're looking for a new job because you're so unhappy, I guarantee you there was something about that experience that will make you more valuable to your next employer. And if you can think about it that way, you're normally a little less resentful.

Kent C Dodds: Yeah, no, that's a good point. I'm glad that you brought that up, too. Sometimes it's just a terrible job that you don't want to do. It's easy for me to stand here and say, "Have a positive attitude about it," but sometimes it's just really hard. And so, I guess, do the best that you can to have a positive attitude because typically, you're going to be happier with a positive attitude anyway, and everybody wants to be happy. So, trying to see the best out of it and taking the opportunity to learn something can maybe make that a little easier.

Laurie Barth: And if all else fails, have a slice of cake. That's what I always say.

Kent C Dodds: Booyah! Booyah! All right. Cool. Laurie, it's been a wonderful time chatting with you. Is there anything else that you'd like to mention before we wrap things up?

Laurie Barth: Answer my questions when you see him on Twitter. I've been using the hashtag CuriousLori. I like hearing what people have to say. And sometimes Twitter can be a lot of people asking to be listened to. So, this is your opportunity to be heard.

Kent C Dodds: Cool. Yeah. Nice. And Laurie, what's a your Twitter? We'll put your Twitter handle in the show notes, so people don't have to remember and everything.

Laurie Barth: I'm LaurieonTech, but if you don't know how to spell my version of Laurie, it'll be in the show notes.

Kent C Dodds: Yeah. Yeah. Cool. Okay. So, just to wrap things up with our call to action for people today, try to do something outside of your comfort zone, and use that experience to help you learn how to empathize with those who are unfamiliar with the things that you already know already.

Laurie Barth: Hey, it's how it sounds.

Kent C Dodds: Yeah. Yeah. And not only that, but you'll gain a lot of cross applicable knowledge as well, which I think is a wonderful thing, even if it's not a like software related thing. I've been impressed how many software engineers are into music. And so, there's got to be something there. So, if you're not a musician, give music a try and maybe you'll learn something about programming there.

Laurie Barth: I recommend baking.

Kent C Dodds: Mmm. Baking. My wife has really been getting into that recently.

Laurie Barth: I can't cook, so I need to be able to do something.
Well, and when you're baking, you're not the only one benefiting from that experience either. Yeah, that's part of the problem. I can only bake when I have people to pawn it off on. Otherwise, no.

Kent C Dodds: That's too much stuff.

Laurie Barth: Too much.

Kent C Dodds: Yeah. Well, cool. Laurie, it's a pleasure. Thank you for joining me, my friend, and we'll chat with everybody next time.

Laurie Barth: Yeah, thanks for having me.

Sweet episode right?

You will love this one too.

See all episodes

Featured episode

Lindsey Kopacz Chats With Kent About A11y

Season 2 Episode 1 — 31:26
Lindsey Kopacz