Transcript
00:00:00 Kent: What is up everybody? So I'm excited to be joined by Jocelyn Harper. Jocelyn, you go by Josie, right?
00:00:06 Jocelyn: I do, yeah, I do.
00:00:08 Kent: Okay, does anybody call you Jocelyn?
00:00:12 Jocelyn: Close friends, it's very funny because I feel like Josie has become like my online tech persona like name. People in real life call me Jocelyn, yeah.
00:00:22 Kent: Yeah, I actually can relate to that. So years and years ago, I bought the domain kentcdots.com And then I made my email address me at Kent C Dodds calm and when I was still in school I had classmates or a classmate in particular Jake Lingwall if you're listening Jake How are you doing? Yeah
00:00:43 So Jake he started calling me Kent C Dodds just like everywhere because of my email address. And so all my other classmates picked up on Kent C. Dodds and then we actually worked together as well. So everybody at work picked up on Kent C. Dodds and then it just became a thing. And So I am Kent C. Dodds in the tech world. And then in like regular
00:01:04 life world, I'm just Kent Dodds. And it's kind of funny.
00:01:08 Jocelyn: No, it's great. I love how like branding, like not by on purpose, just that's hilarious.
00:01:16 Kent: Yeah, Yeah, totally. It's not like there are a lot of other Kent Dodds's in the world, but Yeah, now now I'm very distinguished or differentiated
00:01:26 Jocelyn: Yes, Kent C Dodds. That is how I know you
00:01:31 Kent: Well, yeah, actually I always like to start these conversations off talking about how we met. And so Josie and I just met right now. So we were introduced by our co-friend, Joel, Joel Hooks. And Joel said, hey, you gotta talk to Josie. She's got
00:01:51 some really awesome experience. I think that she would have a lot of cool things to share with the Epic Web Dev folks. And so here we are. So Josie, why don't, You just kind of introduced yourself to me, so we're gonna pretend that didn't happen. And so that you can have a second to introduce yourself to the audience here.
00:02:09 Jocelyn: Yeah, sure. Hi everyone. My name is Jocelyn Harper. I am currently a staff software engineer at the New York Times and tech lead of a platforms team. I have been in the industry for about 8 years now. Before the New York Times is primarily FinTech. So I worked at JP Morgan
00:02:29 Chase, Capital 1, PayPal, and then the New York Times. And it's kind of amazing and wild that I've been here this far. I'm pretty boring, actually. I was just like, get this. I'm like, I have my cat Luna, I play video games, and then I just kind of keep to myself for the most part.
00:02:50 Yeah.
00:02:51 Kent: All right, what video games do you play?
00:02:54 Jocelyn: Right now, I'm really into first-person shooters. I feel like that's like a thing. So I've been playing a lot of Apex Legends. I played this auto chess game called Team Fight Tactics by Riot,
00:03:08 Kent: who
00:03:08 Jocelyn: makes League of Legends. And then I've also been playing Baldur's Gate 3. So I sank about 40 hours into that for the last 2 weeks. So yeah, those are the games that I typically play or am playing right now.
00:03:24 Kent: All right, cool. Yeah, I can relate to thinking about how much time you've put into a video game. Like, oh.
00:03:32 Jocelyn: I know, it came up, like, you know how steam will say, like, you've spent this, and I'm like, oh my God, I spent that long playing this video game. Holy moly, but. Worth it.
00:03:41 Kent: Yeah. You know, when it was, so when I was a kid, I was very much addicted to video games. And I would wake up at like 6 in the morning and go over to the computer and play Age of Empires. And I would do a whole campaign on like a Saturday morning. And I would do a whole campaign, it would be like a 6 hour thing. And so like you get to the end screen
00:04:01 and it gives you all the stats and in the corner it says how long you played and right below that it says start new game and you press that button. And so I would look at that and be like wow I spent 6 hours playing this. I haven't even had breakfast yet. And then I would hit start new game.
00:04:16 Jocelyn: Right exactly you're like oh yeah well time to go. Yeah it's definitely like just a series of you. There's no concept of time when you're starting a game that you really like.
00:04:27 Kent: So yeah, my favorite is when software feels that way. Like not always do I feel like I'm sucked in like that with developing software, but when you have a task and you know what you're going to do with it, and like, and you're just cruising, that is just the best feeling ever. And then when-
00:04:47 Jocelyn: I feel like it's a feeling that we chase too, right? Yeah. Like we do chase that feeling as developers.
00:04:52 Kent: Yes. Yeah. And then when you're done, you look back on it and you're like, you don't feel guilty for the amount of time that you spent in it.
00:05:00 Jocelyn: Not at all. Because it's passing, you got that green check or it's working, you're just like, yeah, worth it. Absolutely worth it.
00:05:08 Kent: Yeah. Well, great. Now, I want to ask you a little bit about your work history, because I also worked at PayPal a few years ago. Yeah, so I was at PayPal. Did we overlap? Maybe. So I went into PayPal December of 2015,
00:05:28 and then I left 3 years later in like February of 2019. So did we overlap?
00:05:38 Jocelyn: Hold on, I need to pull up a calendar. This is so funny. I think that we may have left at the exact same time. So we did overlap. Oh, now I'm going to have to think about PayPal and what I did there. What was the org? What org were you in?
00:05:54 Kent: So I was in peer-to-peer. So I did cross border mostly. And then I worked with Checkout a little bit too, not a lot, but a bit there.
00:06:04 Jocelyn: Okay, so I was in Checkout.
00:06:07 Kent: Okay.
00:06:07 Jocelyn: Yeah. When did I start? I think I started, oh my goodness. I have to look at my resume, this is so funny. I'm like, when did I exactly start? Yeah, let's see.
00:06:21 Kent: Very cool. Yeah, so I worked on cross border was where I started and then went to more general peer to peer. And then I started a web infra team, not the backend infra that they already had for Node, but like for the front end stuff.
00:06:42 And so that's where I developed PayPal scripts that PayPal is still using now, And PP React, the component library as well. You probably didn't use PP React. That was like 1 of the last things I did.
00:06:57 Jocelyn: Okay, so I actually joined August 2019. So...
00:07:02 Kent: Oh, okay, So we did not overlap. We were close.
00:07:05 Jocelyn: We were very close though. Very, very close. So I did work in checkout. So I didn't say this when I introduced myself, but I am a Java engineer by trade. But lately I've just kind of been focusing on infrastructure, DevOps, platform engineering, things like that, because those are the things that I'm really interested in.
00:07:25 Kent: Cool.
00:07:26 Jocelyn: So upon getting hired, Venmo was implementing buying and selling cryptocurrency.
00:07:33 Kent: Oh, okay.
00:07:34 Jocelyn: Yeah, because PayPal had just launched it and they wanted to launch it in Venmo, first quarter. So because, I guess PayPal doesn't have a lot of Java engineers, so I got pulled off of my team and pulled onto the Venmo team. So that was 1 of the first projects that I worked on when I was there. And then when that was done, I got pulled onto,
00:07:55 there was a latency issue. I, I use PayPal, but I use the web now. I don't really use, through third-party websites that much anymore. But I was pulled on to help kind of go through, again, system design. It's very funny to like client go through their code to see where they were having efficiency
00:08:16 issues and things like that. We shaved like sub 7 seconds off of the actual time to actually pull up PayPal on third party, which was really cool.
00:08:26 Kent: Yeah, that's great.
00:08:27 Jocelyn: Yeah, really, really cool stuff. And then other than that, just making sure that everything stayed up. So basically for people that didn't work at PayPal, Chaka essentially handles like the majority of the money that's coming through PayPal.
00:08:43 Kent: It's kind of important.
00:08:44 Jocelyn: It's kind of very, very important. Like the pressure, like they didn't make you feel the pressure, but just knowing like how much money it's handling every day. You're like, okay, this is kind of serious. But yeah, so essentially I was on that team and just making sure everything ran smoothly there. We were full, I was a full stack engineer on that
00:09:05 1, but I primarily worked on Java things and on like our CI, CD, things like
00:09:10 Kent: that. Yeah. Yeah. Cool, yeah. You know, It's amazing to me how much effort we put into the front end to make things fast, when a lot of the time putting that much effort into the back end to make things fast will make a much bigger impact. Right? Like you sound like you shaved a lot of time off and that was probably
00:09:31 on backend stuff.
00:09:32 Jocelyn: Yeah, it absolutely is. And I think that looking at your APIs and what is going on, 1 of the major, major things is, repeat calls or redundant calls to things that you no longer need, or you're pulling in information from a service that you don't need, like that are
00:09:53 seconds, but I mean, those seconds do add up, so it's really important to first look at your backend before you even look at the front end for the most cases. I feel like that the front end isn't really focused on the overall performance of it. Like, yes, how fast something renders and everything, but
00:10:13 sometimes people don't realize that the front end is waiting on the information to come from the back end. And that's really where the bulk of the load is, is like, why is this taking so long? So,
00:10:23 Kent: yeah. 100%. Like you can cache everything and do all this nonsense to make things seem fast. But at some point, that cache is stale and you've got to update it and that you want to make fast.
00:10:36 Jocelyn: Exactly, there's not enough caching in the world to make up for a really, really slow backend system. Not enough caching in the world, so.
00:10:45 Kent: Yeah, 100%, I completely agree. So that's actually interesting. When I was at PayPal, it was the checkout team that was spearheading, actually, checkout spearheaded TypeScript adoption, but also they spearheaded GraphQL adoption because at PayPal, we got like thousands of services
00:11:05 that you need to integrate with and get data from. So when you were there, was GraphQL still like a big and important aspect of everything?
00:11:12 Jocelyn: Oh yeah, absolutely. So I was actually really excited that there was TypeScript because I'm not much of a Ja- like a vanilla JavaScript enjoyer because it just makes me anxious. I like, I like, I like type structured thing, obviously as a Java engineer, but I had never worked with GraphQL before. So that was a really
00:11:32 cool part for me to learn. GraphQL is amazing. I can't say enough, great things about it, but yeah, even though like we still had that GraphQL layer, there was still just really, really old Java code that needed to be fixed, essentially, even with GraphQL. So, but
00:11:53 yeah, GraphQL was a huge proponent in Checkout, huge. And I actually really appreciate it. I feel like Checkout was very like ahead of the curve on a lot of technical implementations, which was interesting for me, especially with such a large company as PayPal.
00:12:08 Kent: Yeah. Yeah. I think there were a couple of key people over there that were just always trying to push the envelope and make things better. So yeah, I worked with a couple of those folks. It was good times. But you're not there anymore, speaking of times. So. Yeah, so why
00:12:27 Jocelyn: don't you
00:12:29 Kent: tell us about the work that you're doing now?
00:12:31 Jocelyn: Sure, so the New York Times, woohoo. I am a tech lead for a platform team, so it's Care Platforms. And Care is the org that handles and builds the platforms that our care agents talk, like, use and talk to customers with. So essentially, anytime
00:12:52 you are talking to somebody through our chat or calling in, you are talking to somebody that's using the system that I am working on and I'm in charge of making sure that it never goes down. So yeah, so it's really interesting. Basically platforms and platforms. Engineering in general is like a really,
00:13:13 I want to say it's been around for like 3 years. So new, new in term of like other companies kind of catching on and using those teams. Essentially, I'm in charge of making sure that our services stay up, that they stay up to date, that we address any needs for like our other devs that are doing feature
00:13:33 work to make sure that they have the tools that they need, anything to make their lives easier in implementing things. That's what myself and my team is in charge of. So recently we actually just got done going through a, an entire quarter work worth of work, designing a new system, which was super
00:13:54 exciting because I feel like, at the companies that I worked for before, I never really had a chance to greenfield a project and design it from
00:14:02 Kent: the
00:14:03 Jocelyn: floor up, which is really super cool. Basically, just like a scheduling platform for a lot of different orgs and programs in the company to use, because the 1 that we're using right now, how do I put this? 1 engineer did it. So
00:14:23 it was definitely, don't blame this engineer for that at all. Somebody is just like, you need to build this and you're the only 1 that can do it. It's definitely difficult, but of course there's pitfalls in that because you're building something fast and business is on you to do it. So our job was to,
00:14:44 modernize that, with an event driven system, which was, which was, and is super cool. So we pretty much spearheaded that and yeah, now we're going to start building it, which is very exciting because when you spend 3 months on something, it's like now I can actually start coding. So.
00:15:03 Kent: Yes. Yeah. Okay. So that is actually all really interesting. So to make sure that I understand what you, I'm guessing what you spend most of your time doing involves like DevOps work, like configuring the clusters of, you know, whatever
00:15:23 you've got running over there. And then like lots of logging and monitoring related stuff as well. But then you mentioned you also keep yourself up to date, so I'm guessing you keep track of all of the dependencies that your different projects have and keep those things up to date. Is it like
00:15:44 more high level dependency or I guess low level dependencies, like the version of Java that you're running and stuff like that, that you're focused on?
00:15:52 Jocelyn: It honestly goes across the entire spectrum. It's interesting because there comes with platform engineering, especially with a team that is as new as mine. Essentially I was brought on and the team was around for maybe a couple of months before I was brought on as tech lead. So very, very new. So
00:16:12 yeah, there's the high level aspect of making sure, knowing our ecosystem in and out, realizing like the pitfalls of all the services that we have, for us right now, we are in the middle of decomming a very old, very
00:16:32 curmudgeon, let's just put it that way, system that likes to cause us a lot of trouble in terms of for our care agents. And we have a dedicated feature team that is building a whole new thing from the ground up. Our leadership decided that we should just implement and like
00:16:54 actually invest in just building this platform instead of relying on something that's not doing what we need to do, especially since a lot of the things that they, we need to update it are deprecated. Not a lot of time. Yeah. So, our job is to, and especially my job as the tech lead is to know what these pitfalls
00:17:15 are, what's going on in the systems, making sure that, the resiliency of the system and the reliability of the system is up, you know, classic DevOps up. As you said, also if it comes down to like our database needing to be updated in a version, which it was actually a ticket that we had this sprint. You know, we're the ones
00:17:35 that are doing that, while the feature team is focused on doing what they can. So yeah, I feel like we're like the watchers of the system to make sure that everything is going right. Luckily that's not something that we have to do all ourselves. We do have a great infrastructure team at the New York Times, our DV team that
00:17:55 I work really closely with in implementing things and helping with the clusters. And right now we're going through some migrations with all of our services. So it's a pretty big undertaking, but it's really cool and awesome. And I love being able to get in there and see everything.
00:18:16 Monitoring included, observability included. It's just really cool. And it's probably why I like system design so much because it kind of incorporates all of those things.
00:18:25 Kent: Yeah, okay, so I've got a question for you. Since you're operating at a pretty big scale, so you've got an infrastructure team, a team dedicated to that. And you've got like DevOps and your platform team and all of that. So if you were to build a new product, brand new,
00:18:45 like different separate companies, your own company, whatever. Maybe you're a solo dev, maybe you've got 3 or 4 other people on the team. At what point in the development process of that product would you start including the like level of tooling and other
00:19:06 software that you're using at the times right now?
00:19:11 Jocelyn: Ooh, that's a great question. So I think it, For me personally, I think that those things should be questioned and thought about and brought into in the system design process. I like to think you don't have to necessarily implement it right away, but you definitely need to start having those conversations about how you are going
00:19:31 to scale those things. I think that being optimistic and positive about the growth of whatever you're building is the best way forward. It's about being, instead of being reactive, being proactive in that sense, it's like, okay, when we get to that point, when we need to start doing clusters and things, should we be using Kubernetes?
00:19:52 Like it kind of even comes down to like, when you start thinking about, okay, so are we going to use AWS? Are we going to use Google Cloud Platform? Are we going to use Azure? Like all of those conversations needs to be held, during the system design process and I can't say that I've, I've ever worked for myself building anything because with me, I'm just going to code
00:20:12 and then I'll figure it out at some point, like I have those ideas. So I don't have to like do a collaboration or talk to other people. But when there's definitely other people involved, you want to have those conversations because maybe those other people aren't necessarily coding with you, but those are going to be costs later down the line that they're going to need to know, okay, so why are we investing
00:20:33 X amount of time into doing this for what reason? So it's just very, like, just to have everything laid out upfront is good. There might be a chance that you don't even need to do certain things, like certain levels of software technology. But, I feel as though when you're doing good system design, right?
00:20:54 That you need to think of all of those aspects and it's not a lot of the time, it's not just technology. It's also like the business aspect and the monetary aspects as well. And I feel like, I feel like when we're talking about system design or when we go through courses of system design, like we do like the back of the envelope kind of like calculations
00:21:14 of like, oh, it's approximately like going to cost this much, but like, no, when you're really building that, those things come into focus quickly because business is like, okay, so why are we spending this amount of money for that reason? Especially when it comes down to cutting costs. So Definitely in the beginning.
00:21:32 Kent: Yeah, okay, so if I summarize your answer, I would say you want to make sure you're not doing anything to paint yourself in a corner, but you don't necessarily implement all of those things right from the get-go, because you might not need them ever in the future.
00:21:49 Jocelyn: Yeah, absolutely. Yeah. And you know, like even technology is just changing all the time anyway. If you get to a point where you get to that point, whatever you were thinking about implementing in in the beginning doesn't even exist anymore.
00:22:03 Kent: Right. Yeah, it's like deprecated, like the thing you're decomming right now.
00:22:07 Jocelyn: Yes, exactly. So it's just like, you know, but at least have that thought process into like, okay, why did we choose that technology? And then go to find something similar, maybe something is better that has replaced it and you just don't know.
00:22:20 Kent: Yeah, you just have
00:22:21 Jocelyn: to be proactive about it.
00:22:23 Kent: Yeah, I think that makes a lot of sense. With this Epic stack, that's the stack or a starter project that I put together that includes like all of the things you typically need in a typical app. 1 of the deliverables, I guess, of that is a series of decision documents
00:22:44 that explain why I made different decisions that I have. And it evolves too, like there was 1 decision on why we went with this email service provider and we switched to a different 1 and explained the whole process. So it's like a historical series of documents. And I think that like, especially early on when you're making those kinds
00:23:04 of decisions, that makes a lot of sense to have to, it encourages having those conversations and then it makes it easier for you to kind of think back, okay, why did we do this? Oh, that's not true anymore. So we can make a different decision now, stuff like that.
00:23:17 Jocelyn: Yeah, I have to say, by the way, that is just genius. The decision documentation, I just love documentation anyway, and to be able to like actually physically go back and go, oh, that was the reasoning why we did this. Oh, it's kind of just like, you know, just preparing yourself for, you know, maybe you're not there that day or you're not able to
00:23:37 come to a meeting to talk about it, but at least the reasoning's there.
00:23:41 Kent: Yeah, yeah, totally. So Josie, another thing that I wanted to ask you about, so subject change a little bit. You mentioned that it was like 8 years ago or so you went through a bootcamp, and now you're a staff level engineer, working on system design at a big
00:24:02 company, at a big scale and everything. I'm sure there are some people listening right now who are maybe in a similar situation. Maybe they're using Epic Web as kind of their bootcamp and are kind of wanting to go in a similar direction or at least have that level of success in their career. What are a couple of tips that you would give to those people as they're just getting
00:24:22 started in the industry?
00:24:24 Jocelyn: Yeah, sure. So the very first thing I wanna say that I approve self-learning, obviously be at a bootcamp or through Ken's amazing courses, but you know, I am a huge proponent of it. Actually. I think that boot camps may have the only thing actually that boot camps have up
00:24:44 and I don't know, Twitter is a thing and I think Twitter is a great way to actually like communicate with people and to network. It's just the networking aspect for jobs. I think that's the most important part. So I was in a position with my bootcamp where I very luckily went for free because of my financial situation at the time.
00:25:05 So that was a no brainer for me to be able to do that. So I think that, when you're investing in something, realize that you're investing in yourself. And when you are doing this, you definitely have to go full throttle. For me, I was in a position where I told myself that I cannot fail, like
00:25:25 this is what I want to do. And I think the bootcamp was for 3 months And when I say that I was coding, probably we had like a computer lab we can go to. I was in there probably 70 to 90 hours a week.
00:25:39 Kent: Whoa. Just going out. Grinding.
00:25:42 Jocelyn: Yeah. I know. I think that, you know, people are like, oh no, grinding, et cetera, et cetera. But granted, I was in a position where I didn't have a job. Like, I didn't have any other responsibilities other than myself. So I was able to devote that time into that. I'm definitely not telling people that have other responsibilities and like,
00:26:02 you know, like, like having balance in that sense, but that's what I had to do. And, it's very much a situation where as much work as you put in is what you get out of it. So when it came down to me getting interviews, I think I was in a really good position
00:26:22 because I had been grinding and studying all of these things. So that's the 1 thing. And then number 2 is that you never stop learning at all. So I think that there's like this disparity. Well, I don't think there is, cause usually it pops up on tech Twitter, like
00:26:42 every quarter, you know, like, Do you go to a bootcamp or do you go to a university? I personally think that there's nothing wrong with either 1 of them. It's about how much work you put in while you're doing those things. And that will get you the results that you want when you come out of those things.
00:27:03 And 1 of the things that will set you apart from anyone, it doesn't matter what their background of getting into the industry is, is knowing that the learning doesn't stop. I started as a Java engineer and I feel as though I would still be able to get jobs because Java is not going away because of just infrastructure
00:27:23 and older companies. Right. But I don't think I would be nearly as successful as I am right now if I wasn't constantly learning new things or the willingness to learn new things. And you can do that learning on the job or you can do both where I learned on the job and I also am picking up books or podcasts or constantly
00:27:43 learning. So I think that's it. It's just like, make sure that you're hungry for it, I think, in the beginning. That hunger really kind of pushes you along.
00:27:57 Kent: Yeah. You know, I wanna speak sensitively about this, about the grinding culture. I am definitely a person, like I have a wife and almost 5 kids. Saying Almost 5 kids sounds funny. I have 4 kids and 1 on the
00:28:17 way.
00:28:17 Jocelyn: And 1 on the way.
00:28:19 Kent: Yeah, so I very much care about work-life balance. My first 2 kids were born before I even graduated from university and started professionally. So it's always been a thing for me. And so I want to, you got to take care of the things that are most important. All of that said, I cannot
00:28:39 say don't grind or like you can make it without the grind culture or whatever, because I don't really know because I grinded hard. Like I worked my rear end off getting started. And so I kind of wish that it didn't have to be that way. And maybe like for some people it doesn't,
00:28:59 but I can't say that you can reach either 1 of our levels of success in this industry without the grind because we both did it. And so like that, you gotta put in the work. Those reps are important.
00:29:13 Jocelyn: Yeah, yeah, I definitely think that like, as you said, work-life balance. Now that I have a job, I'm very much like I work from 10 to 5 at 05:00, my machine is closed. Right. So I get it. But yeah, when you're trying to break into the industry, I think that. I think that if we had an industry
00:29:34 where putting in the, I don't even know what would be like the acclimated amount of hours that would be like proper to be putting into like learning how to code, right? Let's just say 40, like you don't have anything else And it's like 40 hours a week, like a job or something. If that was the case, then. You
00:29:54 know, that would be something different, but I think that where we have been seeing, or at least I have been for, oh my God, it's almost 10 years. So weird. Like the last decade, what the, what, what it is, is that the people that are grinding, right, or well-connected already, like they already have their networking and
00:30:14 everything. Again, I don't want to, networking is extremely important, but also having the skill and that drive is also a part of it. But yeah, those are extremely important to not only get into the industry, but as Kent said, get to the level of success you see ourselves and like, you know, other people on other social media platforms,
00:30:34 getting to those levels. It's like we, you don't understand how much we're working or how much we're grinding behind the scenes in order to get to where we are. So,
00:30:44 Kent: yeah. Yeah. I it's, It's true and it's sad, but it is what it is. And I also really appreciate what you said about never stop learning new things and pivoting. Like at the time that I had joined the industry, I was doing all of the latest and everything. If I was still
00:31:04 doing that, I would not be very successful right now. Like I was doing Backbone JS and, you know, that was like latest stuff.
00:31:16 Jocelyn: Wow, Backbone, holy smokes. Yeah. What a throwback. Yeah. For
00:31:24 Kent: real. Times change, especially in the web world. I feel like maybe in, I don't really know, I'm not very well connected in other software communities, but in the web community, like things are changing constantly. And so, yeah, staying on top of all of that, it can be overwhelming, but that's part
00:31:44 of the job. I really enjoy it actually. So that's, I agree with you.
00:31:49 Jocelyn: Yeah. I, I love learning. I actually wanted to go into art history in college. That was the thing that I wanted to do because I was just like, wow, I could just learn about this forever. Do go on about art history in my other time, but yeah, that's cool. Yeah. About software engineering that I really, really like is just
00:32:09 the, there's not a moment where you, you're not learning about some new culture. Like what's the, what is it? What is it called now? The bun? Is it bun IO? Is that what
00:32:22 Kent: you're using? Yeah, yeah. Bun run time.
00:32:24 Jocelyn: Yes. I was just like, what is this cute thing called bun? I'm not, and I'm not primarily like even, using TypeScript a lot. We do have it in our stack though. And just because I was like in the middle of designing the system, I was like, wait a minute, this sounds really cool. I'm like, I'm going to keep an eye on this to see where it goes.
00:32:44 So, it's just about being connected and, and enjoying what you do to some extent that you want to know other things because it doesn't feel like work when you're learning about other things like that if you enjoy it.
00:32:58 Kent: Yeah, very much. Very, very true. Now, Josie, we're getting down toward the end of our time. Is there anything else that you wanted to talk about we didn't get to touch on?
00:33:11 Jocelyn: I wanna talk about the importance of just like, when it comes to system design, about the discovery part, because I feel like people don't touch on that much. Yeah, that's fine. Yeah, so I think that it's a really important part of getting to higher levels as an individual contributor. So
00:33:32 system design in general, like people say, yeah, you need to know the components of the system and how to scale like vertically, horizontally. Yeah. Those things, sure. But I think that there's 1 skill that, I've noticed that has taken me a lot farther is, my ability and honestly, like my excitement, like I said, I just like digging
00:33:52 into things, about being able to go through a system and being able to pinpoint fail points or to, I don't want to say quickly, but to earnestly know a system in and out and to be able to assess, because like I said earlier, there's not a lot of opportunity, within larger companies
00:34:12 to build something from the ground up. That's kind of like a unicorn in terms of just software engineering at a larger company, but you're always going to have a company that's going to have older systems and at some point it's going to come down to a refactorization or a rebuild of the system And I just want to let people
00:34:33 know that if you're the person that can go through a system and figure it out and know the ins and out of that system, that is going to take you very, very far. And also being able to lead discussion and also teach others about it as well is equally important. So, that's...
00:34:52 Kent: Yeah, those are great skills. I think learning how to communicate the technical things to somebody who maybe has a little bit of knowledge around it, but has limited exposure and being able to effectively communicate those things, super, super valuable skill. How do you develop that skill?
00:35:12 Jocelyn: It's 1 of those things that For me, it was definitely, I learned in practice at work, because, I mean, you get immediate feedback, like if you're explaining something and the person's looking at you like, I have no idea what you just said, what are you talking about? Because then you have to
00:35:32 like, okay, how can I talk about this in a way that this person will understand? But then there's also another really great way, like, it's almost like if you're studying for a system design interview or something, if you look over what you have written out plainly, it's like, okay, so this is how I would say it now, but how can I make
00:35:53 that easier to understand to somebody else without the level of technical knowledge that I have? And that's not to say like, that's not a brag or anything. That's just like true. We just have varying degrees of knowledge and it's just like, you want to share that. So yeah.
00:36:07 Kent: Yeah, I agree. I think practice helps a ton and like when I worked at Remix on they have Remix sign back here When I was working at Remix and trying to figure out how to answer the question, like, what makes Remix so special or whatever?
00:36:27 I found that The more I did it, the easier it became. Like you just, you gotta figure out how to form those words properly. And so, but then in general, the more you practice explaining technical things, the better you get at that skill as well. So it's just a practice and
00:36:47 learning skill.
00:36:48 Jocelyn: Don't be afraid to look silly sometimes or sound silly sometimes. That's how you grow.
00:36:54 Kent: Yeah, awesome. Well, Josie, this has been great. Thank you so much for all of your insights as an expert in the industry. If anybody wants to keep up with you and what you're doing, what's the best way for them to do that?
00:37:06 Jocelyn: Yeah, sure. Definitely go ahead and follow me on Twitter slash X. I'm always gonna call it Twitter, by the way. I'm at Java, which is with 2 V's instead of a W. So J-A-V-E-I-T-C-H. Yeah, definitely.
00:37:23 Kent: Awesome. And you mentioned to me before we started recording that you're working on a course. You've been working on it for a while. Do you want to mention that?
00:37:31 Jocelyn: I am working on a system design course called Conquer System Design. I'm really passionate about it and I want other people to be passionate about it because I really do think it is a key pillar in people going from senior to staff and beyond. And so I wanna help people out.
00:37:51 If you go to my Twitter, I do have a link tree and there's a link to sign up to my newsletter there which will give you updates on the course.
00:37:58 Kent: Sick, all right, go grab it. All right, thank you so much, Josie. We'll see you around. Goodbye, everybody. Bye.