The Stack Overflow Podcast

What exactly does it mean to be a "senior" software engineer

Episode Summary

This week we chat with Jocelyn Harper, a senior software engineer at Paypal, about the journey from office manager at a construction company to java programmer at a major tech firm.

Episode Notes

Joocelyn hosts the Git Cute podcast, which you can find here.

She's working on a book about seniority in the software industry, which you can pre-order here.

You can follow her on Twitter at javavvitch.

Our lifeboat badge goes to LMc for explaining how one can: Count the Letter Frequency in a String with Python

Episode Transcription

Jocelyn Harper They never really talk about, okay, so now you have this senior position. What does being a senior software engineer actually mean? Now you're expected to be a mentor. Now you're expected to lead projects. Now you're expected to be visible within the company. No one really told that to me, I kind of just had to experience it on my own and kind of go through the pitfalls of it. And I thought, well, maybe I should just share things that have worked with me and worked with other people and just make that available.


Ben Popper Good morning and welcome to the Stack Overflow podcast! I'm Ben Popper, your Director of Content here at Stack Overflow. And I have my wonderful co-host Sara Chipps with me this morning. Hi Sara.

Sara Chipps Hey, Ben, how's it going? 

BP It's pretty good. You know, some people in my network starting to make their appointments for their vaccines. That always keeps me feeling positive. 

SC Yeah! It's rolling out!

BP Hope everybody out there is getting their appointments. But Sara, you invited a wonderful guest on today. Why don't you introduce?

SC Yeah, really excited to introduce Jocelyn Harper, who's the co host of theGit Cute podcast. How's it going, Jocelyn?

JH Hi, how are you? Hi Sara! Hi Ben!

BP Hello, welcome!

JH Thank you!

SC So I love Git Cute , because I also am obsessed with everything that falls in the Venn diagram of cute and programming.

JH As you should, as you should! [Jocelyn laughs]

SC What inspired you to start the podcast?

JH So I actually started the podcast, oh my gosh, maybe a year and a half ago now. I was just at a point in my career where I was going through like a very severe bout of like imposter syndrome. So I was really doubting if I had the technical knowledge to do my job or even still be a software engineer. And so I decided, well, let me just start the podcast and talk about things that I know and I know well, and see where it goes from there. And and then it kind of took off and people listen to it, which is bizarre. But yeah. [Jocelyn laughs]

BP When you get real, you know, people listen, I think that's great. You were feeling some of that imposter syndrome, you said, let me just talk about what I know. And when people respond to that, it's always really affirming.

JH Yeah, that's what a lot of people that have, like, emailed me have said, it's like, "It's so nice to hear that somebody is going through the same things I'm going through." And I think it's just like in technology, we try to save face and try to say it's like, "Oh, no, it's like, I know this, I know this." So it's like, no, we don't really know a lot of things, we Google a lot. [Ben chuckles] So it's just nice to be able to share that with people and be like, look, we're not as good or as cool as you may think we are. So it's it's really nice to have that with friends.

BP We're all about that Stack Overflow. That's how we--somebody Google's an answer. And then they end up at our site, it's how we make our money. [Ben laughs]

JH Exactly! Exactly. Copy and paste, right? Copy and paste. 

BP And so Sara tells me you're also working on on a book, what is the book about?

JH Yeah, I am working on a book, the book is basically about how to get from a mid level to a senior position. And then once you have a senior position, what are your pathway options. I noticed that there was kind of a lacking in the market for what to do once you actually have a senior position. A lot of books just focus on the technical interviews, which are great, because technical interviews are hard. And that's a whole podcast episode within itself, but they never really talk about, okay, so now you have this senior position. What does being a senior software engineer actually mean? What are you supposed to do? Because once you become a senior, there's so many things that you need to start realizing that it's not just about code anymore. Now you're expected to be a mentor. Now you're expected to lead projects. Now you're expected to be visible within the company. Now you're expected to do more like talking and projects and things of that nature. And no one really told that to me, I kind of just had to experience it on my own and kind of go through the pitfalls of it. And I thought, well, maybe I should just share that with people, share things that have worked with me and worked with other people and just make that available.

BP Yeah, it's the kind of unwritten rules of, you know, "If you get to this level, here's what you need to do to be successful." And it sounds like some of those, they stand tangentially connected to the day to day work, but they're not like being visible or getting up in front of people, you know, having sort of like this outsized influence on the company that's more about, yeah, you know, like, not symbolic, but like a leadership kind of thing where it's like, I'm modeling, you know, a certain kind of behavior. 

Jh Yeah, absolutely. Once you start, once you're a senior is about kind of establishing leadership. I know that there's a lot of talk about when you're at that position, you're like, "Where do I go? Do I go into management? I don't want to do management. But what if I'm like a staff engineer, a principal engineer?" And you know, there is that individual contributor lane that I'm currently going down, but also people need to realize it's not that like, you're able to just sit down and code and be like a normal engineer in that sense. [Ben chuckles] It's a leader, leadership position, like when they give you that role, you're expected to actually be able to mentor people and lead meetings and be in technical designs and business decisions and things like that. So when people hear "not manager", I think the issue is that they think that they'll be able to get out of meetings and such. And it's like, no, it's kind of the same thing. [Ben & Jocelyn laugh]

BP I like what you're saying, you want to be the ultimate ICS. I want to sit at my desk and just contribute to code. Genius code.

SC "Leave me alone" [Sara chuckles]

BP But what you're talking about almost sounds more like a like a tenured professor or something, you know, you have to publish, you have to mentor, you have to be present at the events. 

JH Yeah, absolutely. I mean, there's always the option to not do those things. But unfortunately, you won't progress at that company or in your career if you don't.

SC This is one of those like, "back in my day" stories. But I think--so I started in 2001 programming, and I got my first job in 2001. And at the time, senior engineer was something that they would give away to people because it was so hard to find engineers that they wanted to make them feel important. So like all so my first job was a senior engineering role. Like my--it was like, probably my second job. I was like a senior engineer. I didn't know what I was doing, [Jocelyn laughs] you know, like, it was just like, they didn't have the same expectations. But I feel like as time has gone on, what I'm hearing from you is the industry is kind of normalized in the way that there's certain expectations around when you advance in this career, there's kind of more established goals. Is that what you're saying?

JH Yeah, definitely, I mean, even levels that, FYI, is really nice, because it shows what senior, what a senior software engineer means across like a bunch of companies. And it shows like, what that actually means in terms of not only your pay ban, but also what they require of you as an engineer. And it's a lot. They require a lot, they require a lot, probably I would think like back in the day, you'd probably be like, a director or something with the amount of stuff. But I mean, as the technology progresses, and as things get more complicated, it definitely reflects on that with the position.

SC It's really neat too, that the ICE track has been so established, because I know a lot of engineers--I'm sure you do as well, it sounds like you might be one--that has the manager opportunity. But generally like, in order to advance in the career, you had to become a manager before and that was kind of like, oh, man, I don't really want to be a manager, I love what I do. And the ability to be able to continue to do that seems like--

JH Yeah I'm definitely one of those people right now. I'm kind of avoiding being a manager like the plague. [Jocelyn & Ben laugh]  It's just, I'm still trying to manage myself and my time and my resources. So to put somebody underneath me that I have to be like responsible for and managing their time and their resources and also trying to help them navigate their career. It's just anxiety inducing. And I don't want that right now. [Ben laughs]

BP That's so interesting. So that used to be a waypoint, Sara, you had to like, go through that to that. And then you could graduate to like, senior tenured engineer at large or whatever, you know, you wanted to do. 

SC That wasn't really a thing. I hate to like derail us. But that wasn't really a thing at the time. So it was like you were like a senior software engineer. And then you were like, you became more senior. And then you became a manager. Because that's, that's how you could make more money at the time. But now, you can have these like staff engineer roles, which is invented because people really wanted that, which is great. Because just because you enjoy being engineer, doesn't mean you'll enjoy being a manager. It's very different. So how did you get started in this? How did you discover computing?

JH Oh, I actually went to a Java boot camp, so I'm a boot camper. It's so funny, because it's actually my five year anniversary this month, from going to boot camp.

SC Congrats!

JH Thanks! Yeah, I was thinking about that yesterday. I'm just like, that's so wild compared to where I was before.

SC A Java boot camp, that sounds like a certain--that sounds very painful. It sounds really difficult.

JH Yeah, it was really painful. I'm not going to lie. It was totally twelve weeks long. It was the type of boot camp where I quit my job. So it was like a full time thing for me. The first six to seven weeks, I really had no idea what I was doing. It was kind of like I was listening to the lectures, and I was reading the material and I was doing the labs, but it was just like nothing was clicking. And I was just like, maybe I'm not meant to be an engineering in general. But then at some point, it just like, it just clicked and then everything kind of came together. But yeah, I went to a 12 year boot camp and then my first job was at JPMorgan Chase after that. And then, yeah, I'm here and now my senior engineer, it's really wild to think that took like, four years for that to happen, but yeah.

BP What a great run. What were you doing something completely different from software before that?

JH Oh my gosh, yeah, I was an office manager at a construction company in Delaware. So I mean, I taught myself CSS and HTML when I was really young, like nine or 10. 

SC Was it--no--I just interrupted you to forget.

JH No it's fine! [Jocelyn laughs]

SC The littles guys! What are they called?

JH So the website and I, actually a couple weeks ago, I went to the website to make sure it still existed. It's called Lissa Explains It All.

SC Oh, I've never heard that in my life. That's so cool!

JH Yeah. And I mean, it was just like, it kind of embodies what I like now. It was just like, really bright and colorful. And she taught you how to make tables and everything like that, like JavaScript to like, I loved it as a kid.

SC I'm gonna look at this. I need this. 

JH So I knew some things already. But my best friend at the time, she had gone through the first course of it. And she was just like, "Jocelyn, you need to do it," because she's like, she said, "You're actually better at this than I am. And I did it. So you need to."

SC I'm a bootcamp grad myself from a very, very long time ago. But the thing that I really appreciated about working with Bootcamp grads, or even hiring Bootcamp grads, is that they always often have a totally different breadth of experience before becoming a programmer, that gives them kind of like superpowers as a programmer. [Jocelyn laughs] What as a construction office manager, is there anything you learned there that you feel like you brought to this career that may be difficult for some folks?

JH I honestly think it's my time management. It's really funny because I have anxiety, but I don't have anxiety about my job. I don't have anxiety if I have like a lot of meetings or anything like that. I'm very like diligent about having like my pomodoro planner, where I figure out what tasks I need to do for the day and keeping track of that kind of thing. And I think I wouldn't have gotten that, really, if I didn't have to be an office manager for like, three years and have to handle inventory and also handle people coming into the door. And having to know like, basic knowledge about our floor plans. Like an office manager was the title. But essentially, I was like, everything wrapped into one. And so when it comes to situations where I'm kind of being pulled in every direction, it's natural for me,. That and I worked retail before that, so I feel like I'm just--[Jocelyn laughs]

SC Yeah, got some real patience. [Ben laughs]

JH Yeah, exactly. Exactly.

SC How do you source your cute things? I mean, I have, there's like people I follow that I know will post cute programming things. But how do you find stuff?

JH So I follow sailorhg on Twitter. And she's kind of like the embodiment of cute things always. So I think I started with the whole cute thing, really with keyboards, and it kind of expanded from there. So I think I bought like an aico ducky keyboard that was all pink like three years ago and I was in love with it. And so I was like this is a perfect shade of pink. Let me try to find pink everything and it went from finding my microphone to when I built my PC this last year I was like I need a pink case for it and like went from there. My mouse, my gaming mouse is pink, everything. If it's pink, I'll buy it as long as it's good. [Ben laughs]

SC That's great.

BP Nice. I saw something really funny. I used to go to CES every year when I was a tech reporter. And this year it's obviously very different because of COVID so that people just like leaned into that that that gaming company Razer, they make like keyboards and mice and chairs, they made a and 95 mask that like matches your your gaming rig. 

JH I saw that! It's so funny because most of my things are Razer, I guess I'm like a Razer fan girl. But I saw that mask and I was just like, why does it need RGB? What is going on? [Jocelyn & Ben laugh]

BP If it's razor it's gotta be RGB. That's it. 

JH Yeah, exactly, exactly. If it comes in pink too, hopefully it would come in pink too, I'd buy it. 

BP Also, why do you need the mask when you're home gaming alone? But hey, it doesn't matter. Doesn't matter. [Sara laughs]

JH Look, to look cool, for the streamers, for the streamers. [Jocelyn laughs]

BP Exactly, for the Twitch stream. Exactly.

SC First of all, you made an amazing VS code theme.

JH Thank you. Yeah.

SC It's very cool looking. What is it called?

JH It's called Witch Gems.

SC Yeah, yeah! Witch Gems is such a cool VS code theme because the colors are just so warm and bright.

JH Thank you. Thank you so much. Yeah, I when I was thinking about making a theme, I just wanted something that again, sailorhg she has a website called where she kind of compiles all of these really nice things like fonts and VS code themes and keyboards and everything like that. And I was going through the themes and I noticed that a lot of the dark themes, like if I wanted something cute, I kind of had to sacrifice Is the background quality of it being dark. So it was like really like, like purples or something like that. And I just wanted a theme where I'm like, no, I want it to be like an actual dark theme. But I actually want vibrant colors as well. And so since I couldn't find anything, I thought I would just make it. [Jocelyn laughs]

BP Is this like Winamp? You can like build your own skins and set them out into the world and people pick them up?

JH Yeah, it's really nice. Like the documentation for that is so great. So shout out to VS code to Microsoft for that. But essentially, you can pretty much just anything down to like, variable colors and bold and italicize it pretty much anything. And I mean, you don't necessarily have to publish it to the store like I did for people to grab. But it's fully customizable. But I figured that if people liked the colors, and like dark themes, I would I published it to the store just to see if people would like it. And they like it. [Jocelyn laughs]

BP Nice! You said the store? Do you make some money on that or are you giving it away?

JH No, no, it's free. It's free. But you have to publish it through their VS code store in order to download it.

BP Gotcha. Gotcha. And so yeah, are there things that happened in 2020, when it comes to the way you work with software tools, or tricks, or things you're looking forward to in 2021? One thing I think we love to talk about on this podcast is just sort of like, what are the things that are getting you excited, besides obviously, you know, the the cute skins you're creating, which we're all excited about.

JH I'm actually really excited about React server components

SC Tell me about React server components. I don't even know what these are.

JH Yeah, I really don't know much about it, either. Except that we can have React server side, which is really exciting. I was like, wow, that wasn't even on the radar didn't even connect in my brain that was something that could happen. I saw one of my friends, Ricky, he works on the React core team. And he tweeted it. And I was like, wow, that's kind of actually really cool. And then my co workers next day, we're really excited about it as well. So that's something that I'm looking forward to and seeing how we can incorporate that at work would be really cool. 

SC So cool. Do you all use React already at work?

JH Yeah, we do use React at work. Yeah, just seeing how that works would be really cool. But any anything else, I'm really not, I'm usually not in the loop. I'm like a Java programmer. So I'm just kind of like stuck in my little lane. But when it comes to things that actually come across my Twitter timeline, I do, I do like that. 

BP Cool.

SC So when it comes to your podcast, what do you hope that people walk away with it from, you know, like, what, what I heard from you was around, you know, people that are struggling with imposter syndrome, people that are interested in things that are kind of fall between cute and programming. When people walk away, what do you want them to feel like they experienced?

JH I want them to feel like they've experienced that they've heard technology from somebody that's real. A lot of the technology podcasts that I listened to, they seem very, like, I don't know, it's like very official, and kind of boring, because I mean, it's, it's almost like they're reading from and like, I understand that, like, I script out my episodes as well. But sometimes it's almost just like they're going through the motions, or they're reading like documentation about things. And I feel like I'm one of those type of people that I need real world experience. I need real world examples for things that I have. So I'm hoping that people are comfortable with technology, they realize that you don't have to be a certain way, in order to be a programmer or a good programmer. I feel like it's really important that people understand that there's like this veil around technology, that it's something hard that being a software engineer is really hard. And you know, learning the basics is hard, right? But after that, it's really not that difficult. It's really not that difficult. And so if somebody listens to it, and they've been thinking about going to a boot camp, or they're teaching themselves how to code, I'm hoping that it'll give them more confidence to keep going. Because things, it's really not that difficult. It's really not. And hopefully they'll take that away with them. And that'll help them get farther. 

BP Alright, wonderful. Well, thank you so much for coming on. When your book comes out, we'll have to take a chapter and put it up on our blog. It sounds like has a lot of valuable information. So we'd love to get in front of more people.

JH Yeah, of course. Thank you so much for having me. Thank you!


BP Alright, I'm going to do our little weekly ritual. I read out a lifeboat badge. This is a little Stack Overflow badge that went to somebody who took a question with a score of negative three or less and got an answer up to a score of 20 or more. So today, we will shout out LMC: "Counting letter frequency in a string in Python." Thanks, LMC. We'll put the question and the answer in the show notes. I'm Ben Popper, Director of Content here at Stack Overflow. And you can always find me on Twitter @BenPopper or email me 

SC I'm Sara Chipps, Director of Community here at Stack Overflow. And you can find me at @SaraJo on GitHub. Jocelyn, how can people find you on the internet?

JH Sure, actually, I changed my username @javavvitch, I primarily use Twitter but I'm also on GitHub as well. 

BP Fantastic.

SC Awesome.