- Vanilla JS Academy
- Stack Overflow
- virtual DOM (VDOM)
- Stephanie's Design and Technical Musings
- Go Make Things: Daily Developer Tips
- Wes Bos Courses
- Learn Vanilla JS
- PAWS New England
[00:00:23] CF: For me, the web is a bit of a bloated mess right now and the front end build process is really complicated. I think we’ve really over-engineered what we do in a lot of ways.
[00:00:57] Heroku is a platform that enables developers to build, run, and operate applications entirely in the cloud. It streamlines development, allowing you to focus on your code, not your infrastructure. It also lets you use the most popular open source languages to build web apps. Also, you’re locked in to the service. So why not start building your apps today with Heroku?
[00:01:20] TwilioQuest is a desktop roleplaying game for Mac, Windows, and Linux to teach you real world developer skills. The TwilioQuest Program was created in secret to train an elite group of leaders to combat a shadowy organization known only as the Legacy Systems. Take up the tools, the software development, become an operator, save the cloud. Download and play TwilioQuest for free at twilio.com/quest.
[00:01:48] DigitalOcean offers the simplest, most developer friendly cloud platform. It’s optimized to make managing and scaling apps easy with an intuitive API, multiple storage options, integrated firewalls, load balancers, and more. Get started on DigitalOcean for free with the free $100 credit at DO.co/codenewbie. That’s DO.co/codenewbie.
[00:02:13] When you need to focus on building, do you want to get bogged down by your database? MongoDB is an intuitive, flexible document database that lets you get to building. Mongo DB’s document model is a natural way to represent data so you can focus on what matters. MongoDB Atlas is the best way to use MongoDB. It’s a global cloud database service that gives you all of the developer productivity of MongoDB, plus the added simplicity of a fully managed database service. You can get started free with MongoDB Atlas at mongodb.com/atlas.
[00:02:49] SY: Thank you so much for being here.
[00:02:51] CF: Thanks for having me. I’m really glad to be on.
[00:02:53] SY: So let’s start by hearing more about your coding journey. How did you get into coding?
[00:02:57] CF: In a very roundabout way actually. So I’m a little bit like a bit of a Winnie-the-Pooh. I just kind of drift from things that interest me. I know a lot of folks like to have a plan of how they’re going to get from A to B, but that was never me. I cycled through, I took about five or six majors in college before settling in on anthropology, and senior year in college, I realized that as much as I loved learning about this stuff, I had no interest in actually doing it professionally and kind of by happenstance found myself working in human resources as like an HR professional for a little while. I had a lot of really strong opinions about what HR was doing poorly and how I’d like to see things change just as a profession. And so I started blogging about it and I really wanted to have more control over the look and feel of how my WordPress blog looked and things that it did. So I started kind of hacking around with CSS and HTML and PHP. I eventually became known as the HR guy who knows technology within the company I was working at. And on a weird lark, my boss and I, I was in the training organization at the time and we were experimenting with some interesting ways to teach people that wasn’t putting butts in a classroom and talking to people for eight hours, we had come up with this app idea that was going to cost like half a million dollars to have a prototype built with an agency. The internal IT team didn’t really have the resources to tackle it at the time. And he’s like, “Oh, you know some code, can you build it?” And the honest answer was no, but he’s like, “Well, can you learn?” And so I spent like two weeks just diving into the bowels of stack overflow, and I cobbled together the worst code I’ve ever written in my entire life. But by the end of it, it worked. And at that moment I was hooked. I knew that I didn’t want to do HR anymore. All I wanted to do was web development. It was so thrilling. And that was the beginning of the end of HR for me and the start of this new code journey.
[00:04:49] SY: So what did you build?
[00:04:51] CF: It seems so mundane at the time, but what we were trying to do was we’re calling it like micro learning or we’re like just-in-time learning, but we wanted to put together a library of video resources where people could just go and if they wanted to learn just like 5 or 10 minutes about X and then get on with their day a place for them to go do that sorted by various topics. I hate to use the term soft skills, but these were more things like communication and career development and stuff like that and not hard technical skills. And so it ended up just being like a really simple video player, which in retrospect might've been just easier to use YouTube or something like that, but at the time, security and all that. Yeah. It was just kind of a really wild thing. We ended up building another thing with a similar kind of approach that was like a scavenger hunt app for new hires to help them learn more about the company by running around our many buildings and finding cool stuff.
[00:05:43] SY: Fun.
[00:05:44] CF: Yeah, between those two projects, like that was it for me.
[00:05:46] SY: Yeah.
[00:05:46] CF: And then it took me I want to say a little over two years to go from I’m an HR person who’s been hacking around with code for three years to I’m actually working in this industry. It took a really long time to make the jump.
[00:06:01] SY: So before we get into that, what did you build that app in?
[00:06:26] SY: Why?
[00:07:37] SY: It’s getting there.
[00:07:43] SY: So you said that it took you two years from the moment that you built that HR app to actually working in technology, which I don’t think is necessarily a long time. I think it’s relative. People spend years doing it. Some people do it in a matter of six months, which is, mind blowing and incredible. What were you doing during those two years? What did you spend your time on?
[00:09:30] SY: So it’s interesting because you started doing interviews and it sounded like maybe it was a little early in the journey for that, and then it didn’t go well. You paused. You went back to learning and then you try it again.
[00:09:42] CF: Yeah. Yeah. That would be a really fair way to describe it. I always kind of had an eye out for job openings and things like that. But yeah, there were a lot of false starts. One of the questions I get asked a lot by my students is like, “How do you know when you’re ready to actually start applying for jobs?” And I think for me, it’s important to start applying and trying to go on interviews before you actually feel you’re ready because one of the things I found is a lot of people sell their own skill short or they overestimate how good other people applying for these jobs actually are.
[00:10:15] SY: That is true.
[00:11:07] SY: I love that piece of advice because I think it helps you manage your expectations as well. If you go into something knowing that you’re not quite ready to interview and you get rejected, you’re in a much better emotional state to kind of deal with that. You know what I mean? Like it’s not going to feel like a huge blow because, hey, you weren’t ready anyway. And I think you’re much more open to taking that feedback, taking those lessons learned, do what you did, which is go back, spend some time learning, try again. So I love that idea of applying, maybe just short of when you think you’re ready for it.
[00:11:41] CF: Yeah. The other thing too is interviewing is really hard. It’s not a skill that I think most people are naturally good at. And those first few interviews you go on, like even if you’re ready, you’re not going to be really well-versed at your first few interview even if you do the like practice with a friend or interview yourself in a mirror thing, like it’s very different to be in front of a hiring manager or recruiter or your potential teammates talking about yourself. So it’s good to get those first few really terrible interviews out of the way when you feel like you’re not actually…
[00:12:12] SY: Get them out of the way. Yeah.
[00:12:14] CF: Yeah. By the time you really are like ready in there, you’re an interview pro or an interview, say, intermediate, farm league, and you’re much better positioned than you would have been if you were just starting this.
[00:12:25] SY: So it sounds like you had a fairly productive two years and it sounds like you had a plan and you were learning and moving and growing. Did you ever have any moments of frustration as you were teaching yourself as you were trying to get that first job?
[00:12:38] CF: There were definitely some, I’ll call them dips, I guess. The advantage I had, it feels a little unfair, but within HR specifically, my big focus was on career development in a tech company, teaching engineers how to grow their career.
[00:12:54] SY: That’s great.
[00:13:40] SY: So you mentioned these dips. How did you get through these dips?
[00:13:44] CF: I think for me, the thing that really drove me to keep going, even though I was feeling particularly frustrated, was just being frank I was just done with HR. I had hit a point where kind of the career I was in just didn’t align with the kind of stuff I wanted to be doing anymore. And even though I was kind of going through this like I don’t really know kind of phase, like the most exciting stuff about my day job was when I got to do more coding stuff in my HR role and I was like, “No, this is so much more exciting. I’m done with HR.” So that’s really what kind of pushed me to keep going even when I was feeling like maybe I wanted to give up.
[00:14:25] SY: What are some of the tools and resources you use during those two years?
[00:14:30] CF: There were a few things. Stack Overflow helped a bit. It’s interesting. There’s a lot of like really kind of passive aggressive stuff on Stack Overflow, but there are also some really awesome people who are willing to jump in, like I had been banging my head against a wall for two days trying to work through this problem, and finally after like not finding anything that was working, I posted a question there and within 15 minutes someone who gotten back to me with like a really simple thing I had messed up and that was amazing.
[00:14:57] SY: Nice.
[00:14:57] CF: I think just kind of like big picture. The web development community certainly has some issues, but it is my absolute favorite thing about this profession. There are people that I looked up to as really big deals in this space that I emailed and I said, “Hey, I’m trying to break into web development. Can I just pick your brain for like 15, 20 minutes like on a Skype chat about your career journey and like how to make it?” There were a ton of people who wrote really interesting articles on how to do stuff that I would have questions about or get stuck on or I’d email them and they would just be like, “Oh yeah, here, let me help you work through this problem.” It started to make me feel like maybe actually I did belong here even though I didn’t have a computer science degree. It was also where I learned that most front end developers don’t actually have one, and I wasn’t as weird of an outlier as I thought I was. There’s nothing wrong with having one. They’re great if you have one. Awesome. And they can certainly help open doors that wouldn’t otherwise, but they’re not necessary. And I was really shocked to learn how many folks that I look up to also taught themselves and fumbled their way into this industry.
[00:16:41] No one wants to manage databases if they can avoid it. That’s why MongoDB made a MongoDB Atlas, a Google cloud database service that runs on AWS, GCP, and Azure. You can deploy a fully managed MongoDB database in minutes with just a few clicks or API calls. MongoDB Atlas automates deployment, updates, scaling, and more so that you can focus on your application instead of taking care of your database. You can get started free at mongodb.com/atlas. If you’re already managing a MongoDB deployment, Atlas has a live migration service, so you can migrate it easily and with minimal downtime then get back to what matters. Stop managing your database and start using MongoDB Atlas.
[00:20:39] CF: For starters, you can skip any sort of build steps. So in particular, if you’re learning React with the JSX kind of flavor of it, which is I think the most popular way to use it.
[00:20:49] SY: And what is JSX?
[00:24:36] SY: Wow!
[00:24:36] CF: The pendulum I think is finally starting to swing back in my direction. I think we’ll maybe settle into a happy middle ground at some point, but from my perspective, and I’m not alone here, but I am part of maybe a vocal minority. We are overusing frameworks and not that they don’t have their place, but I think we tend to use them way too much for a lot of situations that they just either weren’t designed for or aren’t appropriate, and it’s resulting in a web that is slower, more fragile, more expensive for users to operate on, more prone to breaking. I shouldn’t say objectively because there are people who disagree with me, but from my perspective, it’s worse in many, many ways.
[00:27:44] SY: Tell me about that. Tell me about the pushback. What do people usually say?
[00:30:51] With DigitalOcean’s cloud infrastructure, you’ll be able to build faster and scale easier from predictable pricing to flexible configurations, to world-class customer support. You’ll get access to all the infrastructure services you need to grow. Plus, DigitalOcean’s community provides over 2,000 tutorials to help you stay up to date with the latest open source software, languages and frameworks. Get started on DigitalOcean for free with a free $100 credit at DO.co/codenewbie. That’s DO.co/codenewbie.
[00:32:49] SY: Wow! That is a huge deal. Oh my goodness. Very cool.
[00:35:47] CF: There are a handful of really great things out there. Just a shameless plug, every weekday I publish a really short article on a VanillaJS topic. So if you’re really short on time…
[00:35:56] SY: Every weekday?
[00:35:57] CF: Every weekday. So five days a week.
[00:35:59] SY: So five times a week. Wow!
[00:35:59] CF: Five times a week.
[00:36:00] SY: That’s a lot of content.
[00:37:38] SY: Wonderful. We’ll include that link and all those links actually on our show notes. So thank you for that. Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Chris, are you ready to fill in the blanks?
[00:37:54] CF: I am.
[00:37:55] SY: Number one, worst advice I’ve ever received is?
[00:37:58] CF: That you have to stick with a job for at least two years before looking for the next one.
[00:38:03] SY: Oh, interesting. Tell me about that. There’s this idea that kind of gets spread that if you leave a job before two years are up, it makes you look like a job hopper and it looks bad when you apply for your next one. And if you do that, like if you’re leaving your job every three months for like three or four jobs in a row, maybe. But what I’ve found is that sometimes it causes people to stick around in either toxic jobs or jobs that just aren’t a good fit. They seemed really good on paper and you went through the interview process and then you get there and you’re like, “Oh, this is very much not for me.” You’re almost better off cutting your losses and the company’s losses and quitting earlier because if they’re going to have to replace you in a year and change or two years anyways, it might be better for them to get someone new in there that they can train that’s going to stick around longer anyways. I think for me this really came to head. One of the first web development jobs I took, the commute in for the interviews was only like 40 minutes, and then when I started going during normal working hours, it turned out it was actually more like one and a half, two hours. So I was spending three hours in a car every day and it was just absolutely brutal. I had been told that work from home might be a possibility once I got settled in, and then every time I asked about it, they’re like, “Oh, actually no, we don’t do that here.” And so I really felt like I’d gotten bait and switched and conventional wisdom would tell me I’d have to slog with that for two years before looking. But I quit after I think like three months and the job I found after that was way, way, way better.
[00:39:26] SY: Good for you.
[00:39:26] CF: And it wouldn’t have happened if I decided to stick around for two years. Yeah. So that’s it for me. The worst advice.
[00:39:32] SY: Number two, best advice I’ve ever received is?
[00:39:36] CF: Network, network, network.
[00:39:38] SY: Yeah. I love this one. Tell me.
[00:39:39] CF: Every awesome career move I’ve ever made has happened because of someone that I know. If this is not one of those obnoxious, like you have to know the right people to get in kind of things, like you can network knowing no one. You can start from scratch and build your way up there. But I think a lot of times, like one of the really terrible things that happens about jobs that get posted online is the process for getting a job approved internally is sometimes so lengthy that by the time a job description hits the internet the person who’s hiring for that role has already started networking and kind of picking out a pool of candidates just from people they know. And by the time it shows up on the web, they already have like two or three people that are going to be in. And so knowing people can tip you off to roles like that before they get posted. It can help you kind of zero in on new opportunities or things you might not have heard about otherwise. And honestly, if you don’t know, like maybe you’re just kind of a team of one or you’re out by yourself and you’re not sure how to get started, one of the best things I’ve ever done here is I’ve reached out to people that I admired in the industry and said, “Hey, can I just pick your brain for 15 minutes? Or if you live near someone, can I buy you coffee?” It’s amazing how many people are willing to give you a little bit of their time just to talk about helping people get in their career.
[00:41:00] SY: Number three, my first coding project was about?
[00:41:04] CF: So my very first coding project was a personal blog about human resources and my first professional project was an animal rescue website.
[00:41:11] SY: Ooh, animal rescue. That sounds like fun.
[00:41:13] CF: Yeah. I didn’t talk about that much on this show and I probably should have, but I still work for them, Paws New England, pawsnewengland.com. We adopted a dog from them right when I was kind of starting to get into coding and their website looked very dated and I wanted to do more of this. So I offered to overhaul their website for them and I’ve been working with them ever since.
[00:41:31] SY: Wow!
[00:41:32] CF: So it’s been really cool.
[00:41:33] SY: That’s amazing.
[00:41:34] CF: Yeah. It was also a good way to get some professional experience when I was still trying to like start out.
[00:41:37] SY: Yeah. And with a very important cause.
[00:41:40] CF: Yeah.
[00:41:41] SY: Number four, one thing I wish I knew when I first started to code is?
[00:41:46] CF: That you don’t need a computer science degree to be a real programmer. And again, there’s nothing wrong with having one, but I felt like a total fraud for two years before realizing that all of the devs that I looked up to didn’t have one either. And if you want one, absolutely go get one. I know tons of great developers who have them, but I also know tons of great developers who don’t.
[00:42:05] SY: Absolutely. Well, thank you again, Chris, for joining us.
[00:42:08] CF: Thank you so much for having me. This is great.
[00:42:17] SY: This show is produced and mixed by Levi Sharpe. You can reach out to us on Twitter at CodeNewbies or send me an email, firstname.lastname@example.org. Join us for our weekly Twitter chats. We’ve got our Wednesday chats at 9 P.M. Eastern Time and our weekly coding check-in every Sunday at 2 P.M. Eastern Time. For more info on the podcast, check out www.codenewbie.org/podcast. Thanks for listening. See you next week.
Thank you to these sponsors for supporting the show!