[00:00:00] (Music) SY: Welcome to the CodeNewbie podcast, where we talk to people on their coding journey in hopes of helping you on yours. I'm your host Saron and today we're talking about navigating your coding career. (Music) Jarvis Johnson used to be a software engineer, and now he's a manager.

[00:00:26] JJ: Hi. So my name is Jarvis Johnson. I'm an engineering manager at Patreon, formerly a software engineer at the same company. And I also make YouTube videos and a podcast.

[00:00:36] SY: At some point in your coding career, you'll come across a fork in the road. Do you continue to be an individual contributor, also called an IC, which basically means you're still coding full time? Or do you go down a new path—the management path? Jarvis reached that fork in his road a short while back. And as a new manager—a manager newbie—he's learned a lot about what it takes to be a good manager and how different his new role is from being a software engineer. We talk about all that and more. After this.

[00:01:15] Flatiron School teaches you how to code from anywhere. They've got an awesome community of career-changers and a number of different options for you to pick from to become a software engineer. They've got full-time in-person courses, self-directed introductory courses and a remote online web developer program. They even have a free 75-hour online prep course where you can learn JavaScript, Ruby and do some interview prep. Go to flatironschool.com/podcast to learn more. That's flatironschool.com/podcast. Link is in your show notes. 

[00:01:49] One of the best parts of being a coder is finally being able to bring your passions to life. You have the skills to design, to code, to create the thing you're excited about and share that passion with the world. And Hover can help you with the first step of sharing your passion with the world: getting your domain name. They've got a really beautiful and easy-to-use interface where you can find and register your new domain name in just a few steps. And to give you full control, they separate your domain name from your hosting so you're never stuck with one service. They keep your domain name safe while giving you the flexibility to use whatever hosting service is best for you. They also give you free WHOIS privacy, so your personal information is safe, too. To get started, go over to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes. 

[00:02:37] DigitalOcean provides the easiest cloud platform to deploy, manage and scale applications of any size. They remove infrastructure friction and provide predictability so you can spend more time building what you love. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes.

[00:03:01] SY: So I think a lot of people have probably heard of Patreon. Can you refresh our memories on what that is?

[00:03:08] JJ: Yeah. So I guess the one-liner for patron is that it's a membership platform that makes it easy for artist and creators to get paid. What that really means is we allow mostly creators who create content online to set up a page where they offer some sort of value to their biggest fans in exchange for a dollar a month, five dollars a month, so that those creators can get a consistent income and help grow as a creator.

[00:03:35] SY: And it's such a great way to have community members who want to support have an opportunity to do so. We have a Patreon actually for CodeNewbie, and we also have... 

 [00:03:44] JJ: Oh, that's awesome.

[00:03:45] SY: ...for our—yeah—For our other podcasts, the basecs podcast. And I remember recently had to change one of the rewards because the reward I wanted to do was like way more work than I thought I was gonna be.

[00:03:54] JJ: Right. Yeah.

[00:03:54] SY: And I sent a message out to people, and I said, "I'm so sorry. We're gonna do something totally different." And everyone was like, "yeah, we don't really care. We just like you, and we just want to support what you do." So it's...

 [00:04:03] JJ: Totally.

[00:04:04] SY: It's a great opportunity. Yeah. So you are an engineering manager, and this is actually a pretty new position for you. You've been at it for a few months.

[00:04:12] JJ: Yeah, since about the end of March, I think.

[00:04:15] SY: Ok. And before that you were a software engineer.

[00:04:17] JJ: Yeah. Before that I was a software engineer who was full stack but focused primarily on the back end. I've been at the company for about two years.

[00:04:25] SY: That sounds really fast to get from software engineer in two years to although to manager. That's pretty impressive.

[00:04:31] JJ: Yeah. I mean, this was not my first job in the industry, and I was like coming in with a lot of prior experience. And it's also a very young company. So I'd been there for two years, and the company is only five years old. And a lot of factors went into it. 

[00:04:44] SY: Yeah.

[00:04:44] JJ: A lot of factors, a lot of people vouching for me and a lot of like mentorship and support from former co-workers and colleagues.

[00:04:50] SY: Well that is very humble of you. I'm gonna, I'm gonna say it's because you're awesome. That's how I'm gonna interpret that.  

[00:04:54] JJ: Thank you. I appreciate that. 

[00:05:57] SY: Ok. So what is engineering manager life like? 

[00:05:01] JJ: So the first thing I'll say is that it's a completely different job from software engineering. I have a team of software engineers that I work with, and I'm responsible for helping them grow their careers and giving them the tools to be successful at the company while also thinking holistically about the process by which the team gets work done and how we contribute to the engineering culture at large at the company.

[00:05:27] SY: And you actually did a YouTube video on this called "Why I don't Code Anymore." I'm sure when your fans saw that were like "Oh my God. He quit."

[00:05:35] JJ:  Yeah, yeah. A little click bait. 

[00:05:38] SY:  Yeah, but it's also kind of true though...

[00:05:40] JJ:  Yes.

 [00:05:41] SY: ...because you're actually coding day-to-day anymore.

[00:05:43] JJ:  As a manager, I barely contribute to our code base, but I am often pairing with the engineers on my team and thinking about code and thinking about technical solutions, I just am doing so at a higher level where I'm not committing the code myself, though I do, you know, get in there for very small tasks.

[00:06:04] SY:  So how does it feel to not get too directly impact the code base?

[00:06:12] JJ: It's a little odd. You know, it's a young company, and our code base is even younger because we ported to Python about two years into the company's lifetime. So in terms of the Python code base, I have a hot, a lot of context and a lot of history. And so I often find myself just telling stories about the past because I think it's really important to understanding like how we got to where we are. But one thing that I have been surprised about is that I don't miss writing code and contributing in that way because I'm still able to be a part of technical conversations, and I'm able to contribute and use my voice in that way, though I'm more often hearing out the opinions of engineers and trying to help, help them arrive at decisions.

[00:06:59] SY: Does that mean that you have to be the smartest person in the room? 

[00:07:02] JJ: Absolutely not. In fact, I never wanna be the smartest person in the room. I try to make myself the dumbest person in the room as often as possible. It really is just someone who's thinking about the big picture and empowering everyone on the team to do their best work. So this means figuring out blockers that are stopping the team. It means pairing and sharing technical context with the team. And it means outside of the team representing the best interests of the engineers on the team as well as like working with them and talking with them about their career goals and trying to make sure that the opportunities that come their way as they progress at the company are aligned with how they want to grow. 

[00:07:52] SY: Okay so all of that makes sense on a high level. What does the day-to-day look like for an engineering manager?

[00:07:59] JJ: To be frank, it's a lot of meetings. (Laughing) I'm responsible for a lot of the team's process and how we get work done. So I'm meeting with product and design and marketing and all kinds of teams to represent the interests of engineering—essentially doing anything I can to make sure an engineer on the team doesn't get interrupted or is able to spend their time in the most productive way possible. 

[00:08:25] SY: So the role of manager feels so different to me than the role of a software engineer.

[00:08:29] JJ: It definitely is. 

 [00:08:29] SY: I think it's—right? Yeah. 

[00:08:31] JJ: Yeah. 

[00:08:31] SY: And I think that's particularly interesting for our listeners because they're people who are a lot of times still figuring out their career and figuring out, you know, sure, we want to start as developers now, but in five years, 10 years, 15 years, where do I want to be? What do I want to do? So how do you think about your own career and how does being a manager fit into that?

 [00:08:54] JJ:  The way I think about being a manager is really just about the problems that I'm solving on a day-to-day basis. I really like technical problems, but I also really like people problems. And engineering management specifically is a combination of those two things. But in order to enter engineering management, you kind of have to have cut your teeth in...

[00:09:17] SY: Yeah.

 [00:09:18] JJ: ...engineering. And, and how good...

[00:09:19] SY: You can't really skip that step.

[00:09:20] JJ: Yeah, yeah. It's, it's important to have that context because a lot of... 

[00:09:23] SY: Yeah. 

[00:09:23] JJ: ...the conversations that I have on a day-to-day are with engineers. It would be really unfortunate if I wasn't able to speak with the engineers on my team as an engineer.

[00:09:37] SY: And I assume that helps with like respect, too, right? They can kind of take you seriously. They look at you differently. Right? They're like okay, like he's, he's our people; he's one of us. 

[00:09:45] JJ: Yeah, I think that for me, I'd always been thinking about becoming a manager, but it wasn't until I was a Patron and the opportunity presented itself that I actually wanted to seize it because I felt so attached to the mission of the company and really just wanting to do the best thing I could do to service the mission. And as someone who doesn't really know where they see themselves in 10 years but knows the kind of impact that I wanna have, this was an opportunity for me to like put some of my skills together and act on behalf of the greater mission of the company. The fact that I had spent a couple of years like in the details and the nitty gritty and the fact that I am able to share a lot of context I'm sure does help with like my credibility. And...

[00:10:35] SY: Right, right, right.

[00:10:36] JJ: ...I just don't want my contributions to the team to ever be like "what does this person really offer? You know?

[00:10:41] SY: Because the other pathway I guess is, is usually just to be an individual contributor and, you know, just kind of work directly on the code base and build features, build products, you know, all, all the way up. But the other path is, you know, management, which is what you're going down. Usually it kinda like splits off between those two. 

[00:11:00] JJ: So I think that there's a common misconception that becoming a manager is like a logical next step from being an engineer when it's actually the case that you can spend your entire career as an engineer as you said and like move forth as a senior IC and like grow into...

[00:11:18] SY: Right.  

[00:11:18] JJ: ...you know, a senior individual contributor or a tech leader however you, however you view that. And management is really just like a fork in the road. It's, you know, something that requires you usually be a software engineer first or have a lot of context in that, in that field, but it isn't really overlapping with like the senior IC track. And that's—as I, you know, was at this impasse, I was thinking about what I saw for myself in terms of my future and whether or not I wanted to go down that senior IC track. And that decision-making process was mostly related to the breadth of my skill set. And I always liked solving problems more than I liked technology for the sake of technology, so I see myself as a generalist, and I really wanted to combine that with interacting with people.

[00:12:04] SY: Absolutely. So what are some of the non-technical skills that you end up using as a manager?

 [00:12:12] JJ: I think the most important one is feedback, like the ability to give and receive feedback. It's something that is very uncomfortable if you are not used to it, but as an organization develops, it is very important to have a means of identifying things that are working and things that aren't working. And for people who work together on a team, one way to work together with another person is to kind of never talk about the problems that you have with each other ever and let that fester and turn into like this resentment. And it's not really clear where it comes from, and it comes out in all these weird ways like "oh you never do X thing," you know? And one way...

[00:12:55] SY: Yep.

[00:12:56] JJ: ...is to hopefully have, have a manager where you can share candidly how you're feeling and have them help you work through those things and also serve as a middle man with like the other people on the team. And, and be trying to surface issues in communication or performance and stuff as early as possible so that you can build for the long term and grow as quickly as possible.

[00:13:17] SY: Yeah, I mean it's, it's really interesting because when you fall into the manager role—really no matter how big the team is if you're managing one person, or managing, you know, 100 people—all of a sudden it becomes a job to think about how people communicate and what pushes and pulls them, you know?

[00:13:36] JJ: Yeah. Exactly. 

[00:13:36] SY: Like it's, like it's—because you can't rely on just personality, right? Like you can't...

[00:13:40] JJ: Right. 

[00:13:40] SY: ...just rely on, you know, oh, if they feel some type of way, they'll speak up. No, you have to actually make space. You have to make room and designate a time and a place and a format so that... 

[00:13:50] JJ: Yeah. 

[00:13:51] SY: ...people actually do it and feel comfortable doing it. And it's, it's amazing the things you think about that you just don't...

[00:13:56] JJ: Exactly.

[00:13:57] SY: ...when you're not a manager. 

[00:13:58] JJ: Exactly, like, you know, what motivates people. You touched on that. Like how people communicate. Not everybody if you have an open meeting with like ten people in it is going to be comfortable sharing in that context.

[00:14:10] SY: No. Yeah. 

[00:14:10] JJ: And you want it to be possible for everyone to contribute equally. Right?

[00:14:15] SY: Yes. 

[00:14:15] JJ: How do you make spaces for that to be possible? And as a individual contributor, I found myself often wanting to think about these problems but then ultimately needing to deliver on my duties, right? And so it's a very hard like thing to start carving out for myself that I just decided to make it my job to full time think about these things.

[00:14:37] SY: Absolutely yeah. Because I've been in tons of meetings where, you know, like you said, it'll be ten people in a room. One person who's usually really chatty and really has big opinions all of a sudden gets suspiciously quiet, and you're, you know, I'm thinking to myself, "ok, what happened...

[00:14:51] JJ: Right. 

[00:14:51] SY: ...in this room, you know? What are the dynamics? What's going on that made that person, you know, really quiet or really shy? Or, or the stupid person really bold, right? Because somehow...

[00:14:59] JJ: Yeah, yeah, yeah. 

[00:15:00] SY: ...that tends to happen.

 [00:15:01] JJ: Yeah, yeah, yeah.

[00:15:01] SY: And so...

[00:15:02] JJ: Oh, often, often... Yeah.  

[00:15:03] SY: Right? And so as a manager now, it's kind of up to you to design those spaces and be purposeful about that. 

[00:15:08] JJ: It's being purposeful about those spaces, but it's also trying to help and deliver feedback to those in, on either side of the example that you just gave. So if someone is dominating the, the space trying to communicate that, and if someone needs to feel more empowered to speak up like trying to figure out what that is. Is that something that they want to get better at? Or is that just how they communicate? And then how can we then if that's how they communicate give them space to feel like they're able to contribute? These problems are very, very difficult. I think we think of them as, as very easier, like oh, people skills. It's like some people have them or they don't. And it's like no, you just like have to think a lot. 

[00:15:47] SY: Yeah, yeah.

 [00:15:48] JJ: You have to think, you have to think a lot about these problems just as much as you would technical ones, you know?

[00:15:51] SY: Yeah. And it's, it's so—well for me, that the moments where I've been a manager, it's been really annoying because when I'm thinking about these problems, it doesn't feel like work, you know? 

[00:16:01] JJ: Yeah, yeah.

[00:16:02] SY: It doesn't feel the same as, you know, making a pull request. Like it just, it...

[00:16:06] JJ: Exactly. Yeah.

[00:16:06] SY: Like it feels like I'm just sitting here thinking about people's feelings...

[00:16:09] JJ: Oh my goodness. 

[00:16:09] SY: ...all day. You know?  

[00:16:10] JJ: Yeah. That is... Like how—how do you know that you're doing a good job...

 [00:16:14] SY: Right.

[00:16:14] JJ: ...is like one of the hardest things about being a manager and something I've been trying—that I've been dealing with. And I think I've got like a reasonably good handle on it now. And an important aspect of that is feedback for myself because I go through everyday like just talking to people and like writing things down and communicating in written and voice formats. There isn't a "oh, there's a bug" or "oh, there's—this algorithm doesn't do what it's supposed to do." It's more like "we've found an issue. There's like a conflict or there's an issue in process," and you have to see those things as your points of feedback rather than these more explicit things that you get with programming.

[00:16:55] SY: Yeah, absolutely. And for the conflicts with people, they may not tell you when it has been resolved. Right? So you think like oh, I haven't heard about this issue maybe, maybe it's fixed itself, but no, she just decided not to keep updating about how upset she is.

 [00:17:09] JJ: Yeah. 

[00:17:09] SY: So... 

[00:17:09] JJ: Yeah. It's so easy to like not always be communicating like whatever is going on in your head. You've gotta be very sensitive to those things, and it's a hard job, but somebody's got to do it I guess. 

[00:17:23] SY: Yeah. Absolutely. So one of the things that I found really interesting about being a manager is the fact that you have to decide how to get the best out of people, but there's kind of a line, right? It's like how much of it is it your job to actually get the best out of people and how much of it is it for them to actually just do the job, you know what I mean?

[00:17:47] JJ: Yeah.

[00:17:46] SY: Like...

[00:17:46] JJ: Right, right, right.

[00:17:47] SY: Like who, who's fault is it if someone isn't performing, isn't up to par, is it on you? Is it on them? Is it...

[00:17:54] JJ: Yeah.

[00:17:54] SY: You know, like how do you, how do you think about that?

[00:17:56] JJ: The way that I think about this is we all come into work with the same goal. Unless I'm told otherwise, I work under the assumption that like the teammate wants to be here, you know? And wants the best for creators. So with that already on, on the table, any issues with like motivation or productivity or being aligned on stuff, doing their best work... It's all process. It's all like you've put this person, this human being with like motivations. It's my job to like try and bring out the best version of, of that person. So if this person was like really excited to join the company and that's still in them, how do we, how do we bring that out? Like...

[00:18:38] SY: Yeah.

[00:18:39] JJ: ...what is it that excites them about their work? How can I help them frame the work that's in front of them in terms of the stuff that I know that they like to do? Everyone is completely different. So it's a lot of empathizing. It's a lot of talking out things and then using, (Music) you know, what you know about a person and how you wanna support them to try and get what they need out of the organization.

[00:19:02] SY: Coming up next, Jarvis talks about the "hype train" of coding and how if you're just getting started as a new coder, it's important to give yourself a reality check, especially when it comes to what you think coding will be like and how much it pays. After this.

[00:19:21] When I learned to code, I was so excited to finally bring my passions to life. I could build things that I really cared about and share them with the world. And the first step in sharing is getting a great domain name. That's where Hover comes in. They've got a really slick east-to-use interface. They've got awesome domain names to pick from and they separate your domain from your hosting so you have full control and flexibility over your online identity. So go to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes.

[00:19:52] You want to get serious about learning to code, but where do you start? Flatiron School's got the perfect thing. They're offering their free 75-hour online prep course, where you dig into JavaScript, Ruby and more. If you're not sure where to start, start there. And when you're done, you can keep learning with their self-directed introductory courses, remote online web developer program or full-time in-person courses. Whatever your schedule, they've got options to help you reach your coding goals. To learn more, go to flatironschool.com/podcast. That's flatironschool.com/podcast. Link is in your show notes.

[00:20:29] DigitalOcean is the easiest way to deploy, manage and scale your application. Everything about it was built with simplicity at the forefront. Setting, deploying, even billing. Their support is amazing. They've got hundreds of detailed documentation and tutorials, so if it's your first time deploying an app, they've got great tools and community to make it nice and easy. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes.

[00:21:01] SY: So I wanna switch gears a bit and talk about your YouTube channel, which is very entertaining. You are very funny.

[00:21:09] JJ: Thank you very much.

[00:21:10] SY: In case you didn't know, you're very funny. (Laughing) And you talk about a lot of things. I wanna say a lot of it is tech-themed, has like a... 

[00:21:18] JJ: Right.

[00:21:18] SY: ...tech lens to it.

[00:21:20] JJ: Yeah, yeah.

[00:21:20] SY: Yeah. And, and I really appreciate a lot of the—the videos are just really practical kinda vlog-ish styled. 

[00:21:27] JJ: Yeah.

[00:21:27] SY: And yeah, it's very entertaining, but one thing that I, I found really refreshing about a theme I noticed in your videos is that for most of the videos, you were an engineer. Now you're a manager. You're a very... 

 [00:21:39] JJ: Right.

[00:21:40] SY: ...proud engineer. You love tech. You're very passionate about it, but you're kinda over it a little bit. (Laughing) You're, you're kinda over the—you call it... 

[00:21:47] JJ: Yeah.

[00:21:48] SY: ...like the "hype train" of coding.

[00:21:49] JJ: Yeah.

 [00:21:50] SY: And I don't know if I'm allowed to admit this, but like I feel you. (Laughing) Like I really connected with that because you know...  

[00:21:56] JJ: Right.

[00:21:56] SY: ...I get a lot of DMs, messages, texts, emails of people saying like, "oh, I'm really excited about coding. I really wanna do it." And it's, it's because they read that one blog post that that one person who did something....

[00:22:07] JJ: Right.

[00:22:08] SY: ...you know, in like  

[00:22:08] JJ: Yeah.

 [00:22:08] SY: ...three days became—and I, I kind of feel like I have to do the reality check and go...

[00:22:13] JJ: Yeah, yeah. 

[00:22:14] SY: You know? So tell me about that. At what point did you kind of get over, get over coding?

[00:22:19] JJ: You know, it's—yeah, it's interesting like it's like coding happens to be the one that gets the, the brunt of this right now. But what I'm responding to is ultimately people thinking that one thing is going to solve all their problems. And that was like an experience that I had in college. I went from not knowing anything about the field of software engineering and studying computer science kind of on a whim to needing to get a job at Google, like needing. It was like what, what I lived for. And then having this like moment where I did, you know, go do an internship at Google, and it was incredible. But I, I found that, you know, a lot of my problems I still had them. Every problem wasn't solved. And so I was like oh ok. Because I literally at some point in college thought like "oh, if only I could just get a job at Google, then pretty much game over, roll credits on life. Like (Laughing) that's, that's like, that's how you win right? And I, and as I've gotten older, as I've been lucky enough to be exposed to a lot of people who've achieved success, a lot of what is traditionally viewed as success in my own life, I just want to share that a lot of happiness comes from within, and it doesn't come from like these external achievements. I really love programming because it's an extension of making things. I'm able to make things because I know how to program much in the way that I'm able to make a podcast because I know how to use my microphone or... It's a tool.

[00:23:52] SY: It's a tool. 

[00:23:53] JJ: And, and, and I think that we have done a really good job of making it seem like this like ridiculous life, this larger-than-life thing, these ball pits at Google, Ping-Pong tables, nerf guns, you know? And also the fact that a lot of, you know, the market really values tech right now can bring a lot of attention to it. And all I wanna do is tailor expectations. 

[00:24:20] SY: So when you talk about tailoring expectations, what are the expectations that you feel like are just way too exaggerated, way too hyped up? 

[00:24:29] JJ: Now I realize how sound, you know, I, I wanna recognize my privilege. Being a software engineer? Amazing job. What I think we overhype is just tech solves all of our problems that like the only change that's happening in the world is happening in the tech industry, work is like super duper fun all the time and that you'll have no worries and lots of money. I don't know. I just—the way that I see people treating programming—and it's because I get a lot of these people as well like sending me messages and stuff, and I try to respond to like everything I can, but it's so dire their desire to like learn to code, and I don't understand where it's coming from. You know? It, it, it must be coming from, from some of these expectations. And if you are like looking for a stable job for like your family or something like that, then like this is a really good option. But if it's just like trying to get the best job and trying to find the thing that pays the most or something like that, then I want to let people know that that's not all that matters in life.

[00:25:39] SY: So at what point did you arrive at that? Because it sounds like you were similar to a lot of people who message you, right? Thinking, "oh, that job at Google is all I want." 

 [00:25:50] JJ: Right.

[00:25:51] SY: And everything I need to be is in that one job. And it sounds like you were there at some point. So what happened?

 [00:25:54] JJ: I think what happened is that I got to the goals that I was trying to reach. That summer that I spent at Google, when I got the internship I was over the moon. I was like this is the best day of my life. This is amazing. This like changes the course of everything. And that's probably all true, and I still think that that is true, but for different reasons that I was initially excited for. I started to realize that "oh, like all of these people are the same as me. We are like working the same job. We have the same interests." You know, it's like we're not, we're not so different because they, you know, went to like a really like well-known school or something like that. And things like that, it just like—humanization of things that I held in high regard made it so that I no longer saw it as this like perfect thing. I was able to see the flaws that were associated with the thing just by having it humanized or having some like closeness or connection with it. And like I just think of these like anchor points in my life or these checkpoints where it's like working a Google was like a big thing because I found out that that's like not what I wanted for the rest of my life. And then maybe the next thing after that was graduating school and studying abroad and seeing that there's just a lot of different types of lives being lived in the world. And I started to look inside myself and think about well if my Maslow's Hierarchy of Needs is met, for me, I was able to think about what I wanted. What I wanted to do—I was in that place of privilege. And when I think about that, I optimized for different things. I start to explore my creative side again. I start to just take different actions that are more in line with what I would want if I had all the money in the world because I feel—like right now like I'm extremely happy. I feel extremely fortunate. I have a job that I love. I have creative hobbies that I really enjoy, and like really supportive friends and family. And so I just like wanna take a step back and like appreciate all that.

[00:27:59] SY: Yeah. But even if we stay, you know, within some of the levels of Maslow's Hierarchy of Needs, you know, one of the things that I worry about a lot when it comes to the "hype train" of coding is salaries, you know? 

[00:28:15] JJ: Right. 

[00:28:15] SY: I think that people think that it's going to solve all their financial problems...

[00:28:20] JJ: Oh, yeah.

[00:28:21] SY: ...in a way that it might, you know, it, it—it...

[00:28:23] JJ: Yeah.

[00:28:24] SY: ...probably has a better chance than a lot of other careers...

[00:28:26] JJ: Right. 

[00:28:27] SY: ...but at the same time, it depends on what actual skills you're learning...

[00:28:31] JJ: Yeah. 

[00:28:31] SY: ...who you know, where you live, can you do remote work? Do you—are you in a big city? 

[00:28:36] JJ: Yeah.

[00:28:37] SY: There's so many factors. 

[00:28:38] JJ: All of it depends. I made a video where I was kind of ranting about engineer salaries because another question that really does bother me is everyone wants to know like how much software engineers make. And the answer is like it really depends...

[00:28:50] SY: It really does.

 [00:28:50] JJ: ...on a lot of factors. 

[00:28:51] SY: Yeah. 

[00:28:51] JJ: And people don't want to hear that. And the fact that if you like Google this and you start to not get like one singular answer makes you wanna ask like grab your nearest software engineer and go, "how much, how much (Laughing) are you supposed to make?"

[00:29:05] SY: Yeah.

[00:29:05] JJ: And like you said, it depends on a lot of things. So, so if you're getting into it for the money, you have to do additional research, but I also don't even know if that's like a fruitful path to follow. And then the other side of it for the people who are making tons of money, I really don't like the dialogue that happens where everyone's now using money as a signal of success. And like "oh, I'm making this much, so I'm better than you or whatever." Or "I'm looking at these two offers, and I really like this one company, but the other ones paying me like 20,000 more dollars." And that sounds like a lot, but the difference is like a 180k to like 200k. And it's like oh, ok, well like...

[00:29:46] SY: You'll be fine either way.  

 [00:29:47] JJ: I don't know... Like I don't—Yeah. I don't know about your life situation, but if you're like a 21-year-old kid or a 22-year-old kid, like coming out of your like Ivy League job, I think you might be fine like with either of those choices. And like the Reddit thread like of people like being like "well, you know, look at the stock options..." Blah, blah, blah. It's like all that stuff is valuable, but I think that we are optimizing sometimes for the wrong things. So yeah, this salary just gets into a whole weird, weird conversation, you know?

[00:30:12] SY: I also feel like part of the, the "hype train" is the narrative that it's really easy. 

[00:30:20] JJ: Yeah.

[00:30:21] SY: And that's—I think that's dangerous for a few reasons. Number one because I don't think it is easy. 

[00:30:25] JJ: Yeah. 

 [00:30:25] SY: But, you know, number two, if you go into it thinking it's easy, even if it was if we can even objectively quantify that. 

[00:30:31] JJ: Right. 

[00:30:31] SY: And it's hard for you, then you get into this, you know, self-loathing. Oh, I'm so stupid... 

[00:30:37] JJ: Oh my gosh. Yeah.

[00:30:38] SY: Like you totally become...

[00:30:39] JJ: Oh yeah. 

[00:30:40] SY: ...your worst enemy when you're new and you're trying to learn. So I think just... 

 [00:30:42] JJ: I've totally been there, yeah. 

[00:30:43] SY: Yeah, like that learning curve, just unrealistic learning curves are I think... 

[00:30:47] JJ: Yeah.

[00:30:48] SY: Yeah, a problem.

[00:30:48] JJ: So I think this about pretty much any topic, learning anything. Not only are people different—you know, controversial statement. (Laughing) But the ways that people learn are different. So even if you're a person that has the capacity to be like an excellent programmer or software engineer or whatever, if you don't learn really well in the environments that those things are commonly taught, it might make that career inaccessible to you. 

[00:31:14] SY: Yeah. 

[00:31:14] JJ: That's lame, (Laughing) but also it is really hard, and if not hard, it definitely requires a lot of commitment and a lot of work. 

[00:31:23] SY: Yes. Yes. 

[00:31:24] JJ: And even if you enjoy it, like for me, I think a lot of my learning came from enjoying what I was doing and really wanting to build things with my friends. And even though it was hard, I was able to push through it and I didn't really think about the struggle of it very often unless it was like one of my classes that I hated. But it is difficult, and we sell it as like this easy thing. And that can be, that can be harmful for like a number of ways. Yeah.

[00:31:50] SY: And it also, you know, I think that the word coding is so broad...

[00:31:55] JJ: Yes. 

[00:31:55] SY: ...and it can mean absolutely anything...

[00:31:57] JJ: Yes. 

[00:31:58] SY: ...and everything, you know? You could apply it... 

[00:31:59] JJ: Have you, yeah.

[00:32:00] SY: Yeah. Go ahead.

[00:32:01] JJ: Oh my gosh. I was just gonna say like how often have you like told someone that you were a software engineer or were a programmer, and they're like "oh yeah. No, I, I learned HTML (Laughing) like back in school. And it's like—I get, you know, that is a...

[00:32:14] SY: That's a start. 

 [00:32:14] JJ: ...markup language. That's something. (Laughing) But it's also like—and people just want to relate to you. Obviously.

[00:32:19] SY: Yeah.

 [00:32:20] JJ: But it is so broad that you could spend your entire career not overlapping with someone else, you know?

 [00:32:26] SY: Yeah. Oh, absolutely.

[00:32:28] JJ: And you know, there's so many different parallel universes of the life of a programmer.

[00:32:33] SY: Yep. I was at Google Next, the, you know, their big Google Cloud conference that they held.

 [00:32:38] JJ: Yeah, yeah.

[00:32:39] SY: And I had no idea what anyone was talking about...

[00:32:40] JJ: Right, right.  

[00:32:41] SY: ...because, you know, I, I worked on small teams, small repos, small projects. You know, like I'm... 

 [00:32:46] JJ: Yeah.

 [00:32:46] SY: ...working on, you know, evergreen stuff all the time, greenfield stuff all the time.

[00:32:49] JJ: Yeah, yeah.

[00:32:50] SY: And, you know, they're over here trying to figure out systems for millions of users all across the world.

[00:32:55] JJ: Right.

 [00:32:56] SY: And I'm just like I don't know these problems.

[00:32:57] JJ: Yeah. Exactly. They're like completely different sets of problems. Like if...

[00:33:01] SY: Yeah.

[00:33:02] JJ: ...if you only work at big companies and then you work at a small startup and you've gotta start something from scratch, you're gonna have a hard time. 

[00:33:08] SY: Very different Yeah.

[00:33:09] JJ: Yeah. And then, and vice versa is true. If you like jump from like startup land to like all right, we're trying to like optimize the like networking protocol between these data centers. Like we think TCPIP is not enough. Like, you know what I mean? (Laughing) Like that's, that's like a real problem being solved at Google because they're, they don't use TCPIP in their data centers, which I know 'cause I like interned on the data center software team. So I was building a web app.  

[00:33:31] SY: That's so specific.  

[00:33:32] JJ: But there, but there were physicists that were doing other things.

[00:33:36] SY: Wow. Yeah.

[00:33:37] JJ: And like yeah, like those problems only exist at a few places on Earth, you know? And so to say that you can learn coding—which is like a weird thing to say—learn, to learn programming is like, it's like "yes, but..."You know?

[00:33:51] SY: Yeah. Right. 

[00:33:51] JJ: It's kind of misleading.

[00:33:53] SY: Yeah. Like it's like sure, but also... 

[00:33:55] JJ: Yeah, exactly. Exactly.

 [00:33:58] SY: ...think about these things and ask these questions. Yeah. Ok. So what advice do you have for people who are listening who may be on that "hype train" and maybe didn't realize it? What's a good...

[00:34:07] JJ: Right.

[00:34:07] SY: ...way for them to kind of check themselves and say, you know, I'm, I'm in it for—I don't know if there's right or wrong reasons, but you know, I'm in it...

[00:34:14] JJ: Right.

[00:34:15] SY: ...and I'm probably going to see it through.

[00:34:16] JJ: I would give the same advice if you were like an artist or if you were—wanted to be an accountant or a mathematician or something. If you like enjoy what you're doing, that's all that matters to me. If I were telling someone what to bet on, I would tell them to do like whatever they lose hours doing. A lot of us for the, a lot of us that's like programming because you like get into the zone or the flow or whatever, and at the end of it, you like are like "wow, I lost all these hours, and I built this cool thing and I felt really engaged the whole way." That's a great sign that something like programming would be a good career path for you. But if, if that for you is some other skill, like if you like spending nights and weekends in the chemistry lab, like you don't have to be a programmer just because it's a good job quote unquote right now.

[00:35:05] SY: Yeah, absolutely. So you talked earlier about how you are a three-dimensional person.

[00:35:11] JJ: Yeah. 

 [00:35:11] SY: And you are an engineer, you're an engineering manager, but you also like to do things outside of tech, which is one thing I really appreciate about you because you have your own podcast. You do these YouTube videos, but you also do improv. Do you still do improv?

[00:35:24] JJ: Yeah. So I, I still do improv occasionally, but because of YouTube and podcast stuff, I have kind of not done it regularly.

[00:35:33] SY: It's a lot. Yeah. You got a lot going on, but what I appreciate is that a lot of the stuff that you do is very creative. 

[00:35:39] JJ: Yeah. 

[00:35:40] SY: How does that effect influence your day job? 

[00:35:44] JJ: So right now, it is the weirdest combination of life and work that yeah, it all just, it all kind of flows together now. And also I only got into programming because I liked making things. I was using the same parts of my brain that I used when I would make Photoshop images back in middle school or make flash videos and things like that. It's all kind of the same to me. I see making YouTube videos and podcasts the same way I see is as like making software.

[00:36:17] SY: Ok so how does being technical influence your creative stuff?

[00:36:22] JJ: So this one I think is a little bit different. Because I have a lot of like technical context and I think a lot about systems, I'm a bit of an optimizer when it comes to my workflow creatively. I don't think there are a lot of YouTuber who like have scripts to like programmatically cut out the silence in their videos (Laughing) to make it easier to scan through like what, where, where I'm talking. And yeah. I'm always thinking about like the order of operations of my process so that I can optimize it. And all of that intuition comes from my technical side and knowing how we make computers faster.

[00:36:58] SY: Interesting. Very cool. So very practical applications.

[00:37:01] JJ: Yeah. It's cool. I'm really glad that I think a lot in systems and like algorithms and things. I'm able to turn that off, but when I want to like optimize something I can be very systematic about it. And I think that's a cool skill that I'm happy to have.

[00:37:16] SY: Oh yeah. That's super helpful. So you actually got into computer science through Dragon Ball Z?

 [00:37:23] JJ: In like a very roundabout way.

[00:37:25] SY: Ok. Tell me about that.

[00:37:26] JJ: Yeah. So like the story is that when I was a little kid, I really liked to draw. And the thing that I really liked to draw was Dragon Ball Z characters because it was my favorite show. And in addition to drawing, I would also like write scripts for my own episodes of the series with my own characters that I would insert...

[00:37:47] SY: That's awesome. 

[00:37:47] JJ: ...into. But when I went to middle school, I actually—there was a technology program in my middle school, so I learned how to type with like Mavis Beacon Teaches Typing. 

[00:37:57] SY: Yes. 

[00:37:56] JJ: I learned...

[00:37:57] SY: Go Mavis. 

[00:37:58] JJ: Yeah. Yeah.  

[00:37:58] SY: Yes. 

[00:37:59] JJ: Yeah, I know, right? And I, you know, learned Microsoft Office Suite, and I got to use Macs for the first time. In seventh grade I like had access to a Mac computer lab. And I didn't learn to program, but I did try to make my little Dragon Ball Z characters into flash videos. Making those flash videos was my first exposure to programming because you could make flash games. And that meant that you had to have dynamic behavior between the objects in, your, your flash animations. And there was just like another guy who was really good at that in my class. And I would always just ask him for snippets of code, which was action script, which is like...

[00:38:36] SY: Nice: 

[00:38:36] JJ: ...which is basically JavaScript. Like they share the same parent, like ECMAScript. And I didn't really know it at the time, but I was interfacing with code and dynamic behavior. And they also had us playing these games where you would—like visual programming games where you would teach a robot to escape a maze but with...

[00:38:54] SY: Yeah.

[00:38:54] JJ: ...shapes and little tools and stuff. And I didn't really know... 

[00:38:56] SY: Ok, I did one 

[00:38:58] JJ: Yeah. 

[00:38:58] SY: ...with a pig. And...

[00:38:59] JJ: Oh, interesting.

[00:39:00] SY: ...like little cookies. Do pigs eat cookies? Probably not.  

[00:39:02] JJ: I... 

[00:39:03] SY: Little, you know, little... 

[00:39:04] JJ: They, they would probably eat cookies if you gave them one.  

[00:39:05] SY: They probably would eat cookies. That's right.  

[00:39:07] JJ: Yeah, yeah, yeah.  

[00:39:07] SY: I think it's very accurate. But yes, that's, that's what I learned when I was like in seventh or eighth grade. Yeah. Very cool. Ok, so when you're doing all of these pretty technical things, did you ever think to yourself huh, maybe there's a job that, that allows me to do this stuff all the time?

[00:39:23] JJ: I still didn't, to be honest, but what did happen is I got really into podcasts. I got an iPod video for Christmas. 

[00:39:32] SY: Nice. 

[00:39:32] JJ: And I found out that there were these things called podcasts that were like these free hours-long with like audio content. And there were video podcasts that were are also free. The first thing I did was just type in Dragon Ball Z because that was like my favorite thing. I was like I guess I'll listen to people talk about Dragon Ball Z, but on their website on the sidebar, they were like "our favorite podcasts." And one of them was a podcast called Geek Nights, which I clicked on and it turned out to be this podcast that was made by a software engineer and like an IT professional in New York that they started like right after they graduated college. They both went to a Rochester Institute of Technology. RIT. And I listened to their podcast for a while, and they did an episode one day on computer majors. They talked about computer science, and I was like "oh, that sounds cool." 

[00:40:14] SY: Yeah.  

[00:40:14] JJ: I guess I'm gonna look into that. And so I started trying to learn how to program. Like me and my friends got a book on C++ and tried to teach ourselves C++. Turns out terrible (Laughing) first programming language. 

[00:40:26 SY: So this was high school?

[00:40:27] JJ: This was high school at this point. 

[00:40:28] SY: High school. 

[00:40:29] JJ: Yeah. And then after failing C++, my friend—we learned to program together, and he was like "oh my God, I found out you can program the TI calculators."

[00:40:38] SY: Oh, yeah.

 [00:40:38] JJ: And so he taught me how to do that. And I would just make—I mean, to be completely honest, I made a yo momma joke generator. (Laughing) So that could tell you where my head was at in high school.  

[00:40:46] SY: That's awesome.

[00:40:47] JJ: But yeah, like from, from that, that kind of kicked off the curiosity engine for learning how to program. And when it came time to apply to school, I ended up going to Georgia Tech and applying for CS major. And that was kind of like where it went from. I took my, you know, CS 101 class, and just kind of fell in love with programming from, from that point on.

[00:41:10] SY: Well I love that story because I think that a lot of us have probably been exposed to technology and to the technical side of things and just didn't realize that there was a...

[00:41:21] JJ: Right. 

[00:41:22] SY: ...job...

[00:41:22] JJ: Totally. 

[00:41:23] SY: ...attached to that. You know? Like I—like my husband, for example, has been playing with computers and he was two. He's a tech support engineer right now. He's always been in tech. And even though we've been together 10 years, it wasn't until I read the Steve Jobs book where I said "oh, maybe I might be interested in tech." You know?

[00:41:39] JJ: Right. Yeah.

[00:41:41] SY: Even if you're living with someone who...

 [00:41:43] JJ: Oh my gosh. Yeah.

[00:41:43] SY: ...you know, talks about that nonstop. But it's just, it's interesting the way that we find our own on ramps, you know? Our own...

[00:41:50] JJ: Yes. Yeah. 

[00:41:50] SY: ...little entry points into technology.

[00:41:52] JJ: And that goes back to what I was saying before about how, you know, people learn in different ways and people connect with things in different ways. We probably all have these like introductions to technology, and they're opportunities to continue being curious and follow that, follow about line or, or to not even notice it. Like I didn't notice it in the seventh grade when I was like copying and pasting action scripts code, you know?

[00:42:17] SY:  Yeah. And that's why I was really excited when I was watching the videos. It was, it was just really exciting because you are showing people that really anyone can be a developer and there isn't one type, right? 

[00:42:29] JJ: Yes. 

[00:42:29] SY: It's not like oh developers have to live and breathe code, and that's all they have to do. No, they can like improv, and they can be funny, and they can...

[00:42:35] JJ: Yeah. Exactly.

[00:42:36] SY: ...be honest and creative. And just showing people a different, you know, maybe a different definition of what a developer....

 [00:42:42] JJ: Yeah.

[00:42:42] SY: ...is I think is super, super powerful.

 [00:42:44] JJ: Exactly. Like I think that the reason that there may be an outsized number of one type of engineer if that is true is because they're coming from the most common ways to learn about programming. 

[00:42:58] SY: Yeah, yeah.  

[00:42:58] JJ: The funnel to becoming a programmer started at being a gamer, and there's a lot of people who are gamers. So there's going to be a lot of people who were gamers and programmers. And so there's that correlation built. And I don't know that there's like one most common path for becoming a programmer, but I think that we all have these unique paths.

[00:43:16] SY: Yeah.  

[00:43:16] JJ: And whenever we see like a stereotype, it's probably just coming from a higher than average number of people with a similar introduction to programming.

[00:43:26] SY:  Who are also very loud and have the ability....

[00:43:29] JJ: Yeah, perhaps.

[00:43:30] SY: ...to get their—one of my favorite kind of accidental discoveries of doing this podcast is that I found out that I think the number one entry point for our guests is not video games, it's Neopets and GeoCities.

[00:43:46] JJ: Oh, I've heard that a lot, actually. 

 [00:43:48] SY: Yeah.

[00:43:50] JJ: Yeah, I remember having the opportunity to learn about getting deep into it with my Neopets and my MySpace page, but then I never, I never did. 

[00:43:57] SY: Oh, so you could have been, you could've have been part of the story, but you had to...

 [00:44:00] JJ: Exactly. Yeah.

[00:44:00] SY: ...go into Dragon Ball Z podcast land. And, and now...

[00:44:03] JJ: Yeah. (Laughing) I think, I do think it's important, though, that we have like a variety of, of those.

[00:44:08] SY: Absolutely.

 [00:44:09] JJ: Yeah, yeah.

[00:44:09] SY: Absolutely. Well so what final advice do you have for people listening who are starting out on their journey and hopefully they're still excited about coding—what advice do you have for them as they navigate their careers?

[00:44:22] JJ: The advice that I have is to not be afraid to ask for help. I made a whole video about this, but I think one of the biggest problems that I see new programmers getting into is that they think that they have to have the answers to everything or else people will think that they're like dumb or something.

[00:44:39] SY: Yeah. Yeah.

[00:44:39] JJ: And I felt this as well. Like I was deathly afraid of showing what I didn't know up until I was like in my junior year doing an internship at Yelp when there was like this really talented engineer who was well-respected across the entire org who was also very vocal about what they didn't know and just saying like "oh, yeah. No, I—please help me understand this. I don't know how this works." And I was like you can do that and people will still like respect you? (Laughing) I kind of just coopted that, and now that's kind of going back to the dumbest person in the room thing from earlier. I try to take that like student mindset everywhere even when I probably do have some context. (Music) I think it's important to try and to try and be humble and, and not be afraid of, of not having the answers.

 [00:45:23] SY: Wonderful. Well thank you so much, Jarvis, for joining us on the show. You wanna say goodbye?

[00:45:27] JJ: Thanks so much for having me. This was really fun. Thanks for listening, everyone.

[00:45:30] SY: And that's the end of the episode. Let me know what you think. Tweet me @CodeNewbies or send me an email hello@codenewbie.org. Make sure to check out our local CodeNewbie meetup groups. We've got community coding sessions and awesome events each month. So if you're looking for real-life human coding interaction, look us up on meetup.com. For more info on the podcast, check out www.codenewbie.org/podcast. And join us for our weekly Twitter chats—we've got our Wednesday chats at 9PM EST and our weekly coding check-in every Sunday at 2 PM EST. Thanks for listening. See you next week.

Copyright © Dev Community Inc.