Web dev and bootcamper Sarah Shook, talks with Relicans host Kirk Haines, about pulling double duty as a working parent and a homeschooling parent, the art of learning, and being a part of the Twitterverse and social media-ing in general.
Should you find a burning need to share your thoughts or rants about the show, please spray them at firstname.lastname@example.org. While you’re going to all the trouble of shipping us some bytes, please consider taking a moment to let us know what you’d like to hear on the show in the future. Despite the all-caps flaming you will receive in response, please know that we are sincerely interested in your feedback; we aim to appease. Follow us on the Twitters: @PolyglotShow.
Jonan Scheffler: Hello and welcome to Polyglot, proudly brought to you by New Relic's developer relations team, The Relicans. Polyglot is about software design. It's about looking beyond languages to the patterns and methods that we as developers use to do our best work. You can join us every week to hear from developers who have stories to share about what has worked for them and may have some opinions about how best to write quality software. We may not always agree, but we are certainly going to have fun, and we will always do our best to level up together. You can find the show notes for this episode and all of The Relicans podcasts on developer.newrelic.com/podcasts. Thank you so much for joining us. Enjoy the show.
Kirk: Welcome to polyglot. My name is Kirk Haines. You can find me at W-Y-H-A-I-N-E-S, that's @wyhaines on Twitter or just about anywhere else on the internet. I'd like to welcome my guest, Sarah Shook. Sarah, welcome to the show. Would you like to introduce yourself?
Sarah: Hi, Kirk. Thanks for having me. My name is Sarah Shook. I'm also on Twitter. You can find me at @shookcodes. And currently, I’m a stay-at-home mom who is doing bootcamp, working a bit on the side, and I'm currently a board member of a nonprofit. And I appreciate you taking the time to speak with me today.
Kirk: Thank you. I'm happy to have the chance to talk to you. So, how did you get into programming in the first place? Let's just start at the beginning. How did you get started?
And I eventually started working for a small online school. And I started out in tech support and worked my way up. We had a system administrator who showed me what a program called PowerShell was. I had no idea what it was. He showed me how to install it on my computer and then left the company. And that was about it. I knew that you could use it for automation and writing scripts, but I'd never really touched it. So really PowerShell is -- I know it's a scripting language, but that's really what got me into programming, learning how to create scripts that would automate processes for the back-end email administrations for our company.
Kirk: When I hear PowerShell, I think of the Windows PowerShell. Is that what you're talking about, or is it something else?
Sarah: It is what I’m talking about. And they actually have many different modules. So I am a system administrator, and I work with Office 365, so online Microsoft products. And we use Microsoft for our email platform at my position, so using that and installing modules that will allow you to create scripts that automate processes so automating things like email creation, adding licenses, adding email forwarding rules, adding email rules themselves. So yes, it's very programmatic. It has Foreach rules. And even though it's a scripting language, you can do a lot with it.
Kirk: That's really interesting. I'd never really thought of PowerShell as anything more than a shell. I’ve never really thought of it as an environment onto itself. That's really interesting.
Kirk: That is really interesting. So you work at a school. Is this a public school or a private school?
Sarah: Private school. And it's an online school. So it's K through 12 online.
Kirk: Neat. So you have something in here that you had mentioned in your bio about starting out using freeCodeCamp and then starting off with their web design course. I've never looked at freeCodeCamp before. I know that it's an online resource for learning programming skills, but I've never looked at it before. What drew you to it? Tell me about it.
Sarah: I learned about freeCodeCamp after I joined Twitter, and I looked into it. I'm self-taught, so usually, even at my job, anytime I've had to learn something, I've had to go to Google or Stack Overflow. And you can find answers to your questions, but you don't necessarily understand the bigger pieces of the puzzle. So freeCodeCamp does that. And I decided to start with the web design, which is just basic HTML and CSS, but it has you develop things like forms, and you develop a tribute page. And so it was just a good way for me as a self-taught developer, somebody who's never heard of that but has always just been putting little pieces together to really take you from the very start to getting basic knowledge in a more structured format. And the way thatfreeCodeCamp works is they give you tutorials, they show you how to do things. But then, with their assignments, you actually do have to do research, and you have to figure out additional pieces of the puzzle, which I've already been doing. However, it was nice to have that structure, and then you could get hints as you needed, and it's free. So if anybody's interested in learning how to code, it is such a great free resource to use. It doesn't teach you everything, but it does teach you the basics. And it gives you structure if that's the kind of learning that you do best.
Kirk: And are there live people that are behind it? So when you're working on your various assignments and projects, and you submit something, or you have a question, are there people that you can turn to for help?
Sarah: No, not with freeCodeCamp. I mean, it's a free product. So no, there's not. There are hints throughout the course. You can get answers to the questions. You could cheat your way through really easily if you wanted to. But no, there aren’t code reviews or anything like that or people to reach out to.
Kirk: Okay. I can't think of the name of it right now, but I have seen a resource somewhere where it is also free, but there are actually people who can mentor you, but I can't think of it right now. Popping back a minute, you mentioned at some point that you're a parent. So I'm a parent myself, and I've been working from home actually forever. I've been working from home at least part-time since the late ‘90s and full-time since the early 2000s. And so my kids basically grew up with me at home, so I understand the juggling that a person has to do. But when you came into this and you were working, and you were parenting, what did you run into? What surprised you? What did you have to learn that you didn't know you had to learn about managing all of that?
Sarah: Oh my goodness. So I have been working from home for probably about ten years, and that was pre-kids. And then I had my first, and I continued to work from home full-time. And then I had my second, and I continued to work from home full-time. And then, when I had my third, I had to take a step back. So I don't work full-time anymore, but I'm also doing a bootcamp, which takes up a lot of my time. I've prioritized my studies right now over actually working for employment because I feel like that will further my career in the long run. So I have three kids. I have a six-year-old who's currently homeschooling. I have a three-year-old and a one-and-a-half-year-old, and I don't really have a set schedule other than my daughter's school. We make sure she goes to school. But with the two smaller ones around, it's very hard to actually have a set schedule, no matter how hard I try.
Sarah: For example, I tried to wake up early and do some coding just a couple of days ago, and of course, my one and a half-year-old decided that would be the day he woke up early, too, with me. So for me, it's learning to take it day by day. Do things when you can, if I can spend 15 to 30 minutes coding in a day, great. Every once in a while I get three hours and some days I don't open my computer for a few days. So it's really just taking it day by day, learning how to squeeze the time in when you have the opportunity to. And if you don't have the opportunity to, that's okay because your kids are only small for a short while, and it's more important for me to spend time with them as they're small. Even though it's very hard, like I mentally juggle in my head like, I really want to be working. I really want to be coding. I really want to be studying versus parenting because, before kids, I was very career-oriented. And I think a lot of moms with young kids have this battle in their heads, especially those who were very career-oriented before. So it's just been learning to take things a day at a time and enjoy the kids while they're younger and knowing that things will get easier in the future.
Kirk: Yeah, that makes sense to me. So I have four kids, and at one point in time, the older two were both homeschooling, and the younger ones were very small. And there were times when I'd be sitting there working with the baby on my lap. So I have my arms just sort of around her so I could type while she just sat there in my lap and hanged out, and I'm typing. And my oldest daughter and son were out at the table homeschooling, and it was just a lot to juggle. And so I really get what you're talking about, yeah. Just trying to figure out how to fit it all in and how to do justice to all of it is a really hard thing to do sometimes. And every day is a little bit different than the day before, so just when you think you have it figured out, and your kids are a little older, they surprise you with something new.
Sarah: Yes, exactly. [laughter]
Kirk: So you're doing a bootcamp now. So, how did you get into that bootcamp, and what bootcamp are you doing?
Kirk: Very interesting. Yandex, I don't think I've heard of Yandex.
Sarah: I hadn't either until I started it, but they're huge. They're a huge Russian company. But they're not as big as Google here. [chuckles]
Kirk: But all the coursework is in English.
Sarah: All the coursework is in English, and actually, many of the teachers are in Russia. They also speak English. But they'll get up and do webinars, and it's like 5:00 a.m. their time and like 8:00 or 9:00 my time.
Kirk: Oh wow. Yeah, that’s very neat. So just to project forward in time here, you’ve finished your bootcamp, your kids get a little bit older. Where would you like to see your career heading?
Sarah: So I’d really like to do freelancing and maybe eventually start a company where there are multiple developers, and we're all working together to find clients and help them build better web applications or websites or whatever that may be. I sometimes think maybe I want to go to a bigger company though I don't know that that's going to be my path. I like the idea of freelancing because I'll be able to set my own hours, work as much or as little as I need, and I can be my own boss. I'm a very self-driven person, and I really like to be able to do my own work. I don't necessarily like reporting to other people. So for me, I think freelancing and then seeing where that leads me is probably going to be what my path is.
Kirk: And the nice thing about a path like that there's a lot of flexibility. If you can get that to work out, there's a lot of flexibility for continuing to work around your kids' schedules as they get older, and that’s an important thing.
Sarah: Exactly. My ultimate goal, everything that I do now, is for my kids. Of course I enjoy coding, and I like the idea of working my own hours. But the ultimate goal, whatever it may be, is to provide a better life for my kids than I had growing up. And I do think that freelancing would help that because I would be able to spend more time with them than if I was working at a bigger company.
Kirk: I'm going to veer into a different direction here just because I'm curious. You mentioned that your six-year-old is homeschooling, and I have experience with homeschooling because two of my kids were homeschooled for part of their school careers, and my ex-wife and I also homeschooled a nephew of ours. He lived with us for a few years, and then we homeschooled him. And so I'm always curious what draws people to homeschooling? And it's a little bit different in the last year because with Covid and school schedules being all turned upside down, that adds an extra complicating factor into this question. But I'm just always curious what draws people to homeschooling? What is it that they like about it?
Sarah: Like you said, Covid is really what drew us initially. Last year when my daughter was in kindergarten, Covid hit. And I believe it was March 19th, I believe was the date, and it was a Friday afternoon. And her school basically said, “Hey, we're not doing school the rest of the year.” So there was no virtual learning; there was no homeschooling; it was just done. They passed everybody and sent them to the next grade. She basically had a six-month summer. And Covid has been a big factor. I decided to do an online homeschooling program. We were living out in California, and there's a program called K-12, and they give you all of the materials that you need. They send the students a laptop, and then they do do virtual learning as well. But you, as the parent, really are the main teacher. They just have support from doing a little bit of virtual learning. So we did that. And then we ended up moving to Texas. And Texas and California have different homeschooling laws. So you're not allowed to do a public homeschool, which is what we were doing in California and Texas. So I actually work for an online private school, so I was able to get her into that.
And really, it's Covid. My daughter is a social butterfly. She does really great in a classroom environment. So I'm hoping either next year or the year after I do get her back into a brick-and-mortar school, but I also want to make sure that she's safe. And I have the opportunity where I can stay home with her, and I know a lot of people don't have that. A lot of people have to go to work, and they don't have that. They need their kids to be in school, so I can empathize with those situations. And I am blessed that I don't have to send her this year, but I do want to get her back in as soon as possible because she does better in a classroom environment.
Kirk: Yeah, that makes sense. This is a tangent from the whole topic of polyglot, but it's just one of those things that I'm curious about. I think most people don't really have a lot of the first-hand experience with it. K-12 operate here in Wyoming as well, and in Wyoming, they actually have an accredited public school that offers the K-12 curriculum. And so you can be a private individual having your kids go through K-12, but you can also go through the public school, which is interesting because then from a legal standpoint, they are a regular Wyoming public school student, which is a great option, I think for a lot of parents. And since Covid hit, they've seen an increase in the number of people who have been choosing to send their kids online, which is definitely a change from previous years.
Sarah: Yes. And K-12 has an amazing curriculum. I really liked everything that they were teaching. Unfortunately, they just weren't available in Texas until second grade. But if somebody is interested in homeschooling and it's available, K-12 does have a great curriculum. My daughter was learning a lot of really advanced stuff for her age group. And unfortunately, we just couldn't continue with that program when we moved.
Kirk: That’s really interesting. Thanks for going in that direction with me. I was just curious. So when you were giving your bio and your background, you talked about how this sysadmin who was there before you introduced you to PowerShell and basically gave you a quick preview and then bloop, they were gone and you were left just holding the bag. So I'm curious when you're in that kind of a situation where all of a sudden you're responsible for a bunch of stuff that you really haven't had adequate training on yourself, what was your approach? How did you say, “Okay, I need to learn this”? What did you do?
Sarah: So it's actually a bit of a funny story. When that first happened, one of the first things that I had to figure out was okay, so originally, students could see other students' email addresses, and we didn't want that to happen. We didn't want the students to be able to look up and be able to find other students due to student privacy. So that was my first task. And I had researched, and I tried to see if we could do it in the back end, just the gooey back end of the system, and everything I researched said the only way that you can make this happen is to use PowerShell. So I was just determined. I wanted to figure it out. I knew that it was possible. I didn't know exactly what to do, but I wanted to figure it out. So I started going through and just researching and researching and just trying different little tidbits of code. And this is before I really knew -- I didn't know what I was doing at all. [chuckles] And so it took me probably about 8 to 12 hours of just sitting there and trying to figure it out, and I got it to work. And I honestly still to this day don't know how I got it to work because it actually is a pretty complex chain of events that you have to do to make that happen. And so that was it. And then once I figured that out, I was like, okay, if I can do this in PowerShell, then I can do anything. And then, from there, I got a book, and I started reading and studying. Because PowerShell does do basic things: you can check network status; you can check different things on your personal computer. But I got into really the system administration side of it. And it was really just sheer determination at that point. And then, over time, putting yourself into those types of situations on a regular basis does get tiring. But I think when it's a new quest, and you're new to that role, it makes it more exciting, and it feels like you're making magic to me. [laughs]
Kirk: [laughs] So did you have anybody that you could talk to about PowerShell, or were you just you, and Google, and a book?
Sarah: Nobody I could talk to about PowerShell, just me, and Google, Stack Overflow, and a book. [laughs]
Kirk: Okay. I imagine that could have been a little bit frustrating or lonely at times.
Kirk: And how has that been, being part of Twitter?
Sarah: Being part of Twitter has been really good. So I don't do Facebook. I don't do Instagram. I tried Twitter several years ago as a recruiter, but I'd never really tried the tech side. And so, I got on Twitter and started browsing through the tech people in the tech industry, and I decided to create an account. I basically wanted to make friends, I suppose you could say, or just build relationships with other people that are like-minded, and that like to code because even in my personal life, none of my friends or family none of them are developers of any sorts. So I joined Twitter, and I started commenting on posts. I’m pretty introverted. I have a few good friends, but I don't really normally put myself out there. And Twitter really opened up the door for me to explore myself as a person and start talking to other people and put myself out there like we’re talking now. That would never have happened if I hadn't joined Twitter. So I'm really grateful for it.
I decided to make a rule that I would comment on posts that I was interested in, but I wouldn't get my feelings hurt if somebody didn't respond back. But on Twitter, usually somebody's going to respond back, and so I ended up just starting to talk to the same people over and over again. And I ended up making some really good friends on Twitter over the past year that I would have never made had I not joined. It's helped me with my career. It's helped me with learning. It's helped me make friends with people that actually do the same kind of things that I do. So I'm really grateful for the platform.
Kirk: That's really neat. Twitter makes it possible for people to come together and share things with each other that they wouldn't be able to in real life. There's a network there that you just can't manage in real life. I always find it interesting how people use Twitter because different people approach it in different ways. That's an inspiring story.
Sarah: Yeah, and different people do use Twitter in different ways. And that's one of the things that I had to learn when I first started. Some people are all about follower counts; some people are about relationships; some people are pushing their products. And all of those ways are totally valid even if you don't like the other types of ways that people are doing. It's just a tool that you use to do what you need to do. [laughter]
Kirk: So back onto the topic of programming and code and all those sorts of things, I'm curious, so it sounds like most of what you have focused on currently has been PowerShell, and that sort of stuff is systems administration back end type stuff. But a lot of the other stuff that you've talked about has been more front-end type work. Do you feel like you have an affinity or an attraction to one side or the other, or has it just been this is the path that you've gone down, and you've just been going down it, but you haven't really been drawn one way or the other?
Sarah: I really like everything.
Sarah: I really enjoy running complex SQL queries. I love figuring out how to pull different pieces of data into a viewable form where other users can read it. I love working with APIs when I get to. So one of the things I've done is I've been able to use an API to automatically enroll students into different courses for a platform we use called Adobe Connect, and it's all back end; there's no front end. And so that's a lot of fun. Like I said before, it feels like magic. You don't see what's going on, but stuff does happen, and it makes the users appear. But I do also like the front-end side. I really like both. I'm really not that great at design as far as front end goes; I'm working on that. But I like both of them. I don't really have a favorite. They both do different things, and there are good and bad things about both ends.
Kirk: Design is a huge skill area all to itself. And I've been doing this stuff for a long time. You can go give me a Photoshop picture of a web layout, and I can go implement that. But I have a very, very hard time making that Photoshop picture myself.
Sarah: Yes. Yes, exactly. [laughs]
Kirk: It’s a very particular skill. I think until people have worked in it, it's easy to underestimate just how hard that is to design something that looks good.
Sarah: Yes. And that's why there is a whole field of UI UX. Those people do that and then other people implement their ideas. I'd like to get better at it, though, in the near future.
Kirk: Yeah, my compliments. If you can get better at it, that's a big accomplishment.
Kirk: React. You mentioned that you're just about to start React. Have you done any React or anything like that before, or is this all brand new to you?
Sarah: I have done some React. My portfolio is broken in places, so I'm not going to plug it, but it’s actually made in Gatsby. So yes, I've got experience with React. But again, it's the same thing where I understand pieces of the puzzle but not the bigger picture. So I'm finally starting to understand really the ES6 syntax that goes into it and understanding classes. And right now, I'm working on loose coupling. So yes, I've got some experience with it. It's definitely the next big thing that I want to work on. I think it's fun to do. And I'm hoping that as my bootcamp goes on, I really understand the concepts. Because I can make things work, and I can figure it out, but it's not necessarily very pretty. It's tightly coupled, and I want to make it loosely coupled. So yeah, that's what I'm working on right now. [chuckles]
Kirk: Awesome. Once you get through with that, how much more time do you have in the bootcamp?
Sarah: It ends in July or August, one of those two months.
Kirk: So there's still a little bit of time.
Sarah: Yeah. And it's been interesting because when I started -- so we started off with HTML and CSS, and I'm pretty proficient with HTML and CSS. I love doing animated CSS and everything. But that first course I thought I would fly through it. It was extremely hard. We had to learn about BEM, Block Elements Modifier. Are you familiar with BEM? I assume so.
Kirk: Yeah. It's a design methodology, yeah.
Kirk: And it might be, too; it occurs to me that this is one of those things where there is a difference that comes up sometimes between learning skills via a self-teaching route and learning skills when you have somebody else teaching them as part of a course. Because what you're talking about, the HTML and the CSS, you learned it, you thought you were pretty good at it. You probably were pretty good at it. But you learned what you needed to know to do the job and something like the BEM methodology. You just never ran into it because you didn't need it. And then when it was exposed to you, it was like, oh no, there's this whole thing.
Sarah: Yeah. [chuckles] And I’ve seen BEM before. I've seen it in CSS files and not understood how the CSS files were organized. But now that I think back, I'm like, oh, that's why because they were BEM, and I could totally navigate them now, whereas before, I had no idea how they were structured.
Kirk: I guess the point that I'm trying to make is that self-teaching is an amazing thing. And it's amazing that in the field that we're in that it is still so accessible to be able to get jobs, to be able to have success and employment simply through self-teaching. But at the same time, and I say that as someone who took some computer science courses back when I was going to college in the‘90s, but I never graduated with a degree, and so I am 99% self-taught. There are things that when you're self-teaching, you just miss sometimes. And so taking that class, whether it's an official class or whether it's just on your own time going through coursework for some online course is sometimes so valuable because it will be like easy, easy, easy, easy, oh, I've never seen that. And I think it's really cool that you had that experience because there's so much to know, and there's no way to know it all. And when we teach ourselves, we often have these gaps, and you don't know. Until you run into it, you didn't know that you didn't know that.
Sarah: And to add on, there are so many free learning resources there. So yes, you're self-taught, and there are so many resources, but there's such an overabundance of them that sometimes you can go down rabbit holes. You're studying one thing, and then you're like, oh, they mentioned this. I don't know what that is. And so you don't always have that same type of focus because you're reading what somebody else wrote for free, which is great. I love creating content. I love reading content created by others. That's such a helpful tool. But you don't have that structure, so you can easily get pulled into something else that you don't necessarily need to know right then. Or you feel overwhelmed because there are so many different topics that you can choose from, and you don't have that linear path of progression that's nice with those types of structured environments from a training, a course, a bootcamp, or whatever.
Kirk: Yeah, for sure. After you finish this bootcamp, is there anything that is on the horizon as far as stuff that you’d like to learn about in the future but isn't part of your current studies? So you're not putting any energy into it, but you know it's right there over the horizon, off into the future, and you'll get to it eventually.
Sarah: Yes. So I'm a board member of a very small nonprofit, and it's a volunteer membership. I'm not earning any income from it or anything, but I love the organization. It's one of my best friend's organizations, and she's doing really great work, and I really support it. And in my position, I'm also helping them redesign their website. And I know how to do the front-end stuff, but one of the things I really want to get into is GraphQl and setting up their website so that somebody else can edit it. I don't want to use WordPress necessarily. I would probably use GraphQL with -- oh, I can't think of the name of the platform right now. It's basically a React/Gatsby back end like WordPress. So I really want to get into that and then see where that takes me. I really want to be able to build a website where a non-technical user can edit and add their own pictures, add their own posts and their pages, and things like that. So I think that's really going to be my next step. And then after that, I'm not really sure. I just want to see where things take me. I really enjoy, like I said, both front end and back end. I really like SQL, so I'd love to work with SQL more and be more proficient in that. But there's just a lot. I'm going to have to pin down what I want to do after I finish bootcamp, I think. [laughter]
Kirk: Yeah, there is so much to it. And speaking, as someone who used to work with Oracle, Oracle has a certain mindset for how things work. And sometimes, when you get out, and you work with, say, Postgres, you'll find that while there's a lot of overlap, there are some things that are surprisingly different.
Sarah: Yes. I have read that. I haven't worked much with other databases just because my job entails Oracle SQL. I've worked a little bit with Mongo, but seriously just a little bit. But I do want to learn that, and I realize that there's going to be -- and then there's NoSQL and SQL. So there's just a ton of different options with databases that you can explore and find out.
Kirk: Well, I think we're running up on the end of our time here. Is there anything else that you wanted to mention or talk about that we hadn't really hit on yet?
Kirk: I couldn't have said it better myself. Well, then I guess we'll wrap it up here, and I thank you very much for coming onto this podcast. It's been really enjoyable. And for everybody out there, thanks for listening to Polyglot. You can find us on Twitter @PolyglotShow. This is Kirk Haines for The Relicans. You can find us online at therelicans.com, and we'll catch you again next week. Thanks very much.
Jonan: Thank you so much for joining us. We really appreciate it. You can find the show notes for this episode along with all of the rest of The Relicans podcasts on therelicans.com. In fact, most anything The Relicans get up to online will be on that site. Right now, we're running a hackathon in partnership with dev.to called Hack the Planet, where we're giving away $20,000 in cash prizes along with many other fabulous gifts simply for participating. You'll also find news there shortly of FutureStack, our upcoming conference here at New Relic. We would love to have you join us. We'll see you next week. Take care.