BrandGhost

Work Life Balance, AI Tools, and Junior Devs - Interview With Andrew Peacock

Woodworking, building a side-SaaS, having a full-time job, helping educate others, and supporting a happy family... This is a full plate. Not only full in terms of time allocation, but also a sense of fulfillment. How could your heart not also be full from focusing on the things you're passionate about? In this video interview, I sat down with Andrew Peacock who shared his (un)fortunate journey to becoming a software developer and how he balances EVERYTHING going on in his world. There are many actionable tips for junior developers and senior devs who find their plates are full. Something for everyone! Thanks, Andrew, for all of your great insights!
View Transcript
Hi, my name is Nick Cosantino and I'm a principal software engineering manager at Microsoft. In this interview, I got to sit down with Andrew Peacock who is not only a software engineer but a side SAS builder and a family man. So, Andrew is juggling a ton. And in this conversation, you get to hear his perspective about how things change over time with respect to your priorities, how you balance time, things like that. Because we all have very busy lives. We got to dive into some AI topics. we focus on some things for junior engineers getting started and overall I think there's a lot of very actionable advice that'll help you if you like this kind of content leave a comment below to let me know. Thanks. Sit back, enjoy and I'll see you next time. Well, maybe to kick things off, Andrew, like I know uh as we've been kind of chatting and I, you know, I've been following you for a little bit. Uh I think it's really cool for for people to hear like your journey. So like hearing where you're at now and kind of how you got there just because it's different for everyone and I think that unique journey uh just really helps other people see like hey it's not just one path you have to go do to to be successful. So if you don't mind be great to hear about that. >> Yeah. So my name is Andrew Peacock. I've been a full stack developer for a little over a decade now and uh really trying to do full stack to the fullest. You know not just front end and back end but I was also an S sur for a little while. So, I did uh played in the DevOps land. Uh I try I try really hard not to go back there anymore. Uh but I had a fairly traditional career path. You know, I went through a four-year degree. Uh got some certifications along the way. Had your traditional internship doing some Android development. So, I'm happy to kind of be back on the mobile dev. But then I just went right into the workforce and kind of, you know, climbed my way up the corporate ladder uh to where I'm at right now. And only recently have I started to uh really dive into the content creation and building products on the side and uh you know having a lot of fun doing it so far. >> That's awesome. Did you maybe like when you were younger did you always kind of think that you wanted to go the technical route or like when did you think that you kind of uh realized you're like yeah I think I want to write code or like I'm I'm going to go to school like postsecary for this kind of thing. >> Oh that's see that's such a funny question. So, when I was younger, uh I was not technical literally at all. I was like a sports geek. Uh you know, didn't play video games, just played football with my friends. And then, uh I got a pair of Healy's. And uh for those of you who don't know, Healy's are the shoe with the single wheel in the background, uh or sorry, in the back of the heel of the shoe. And uh yeah, I had them for an hour and broke the growth plate in my left ankle uh in my buddy's garage. So, I went from being a total sports nerd to not doing any sports at all in a cast almost up to my knee. And uh that was for many months and found old school Runescape along the way. And that kind of, you know, got me sucked into video games and uh then I stayed technical ever since. So, I was really fortunate where I went into college knowing like computer science is what I want to do. Uh, I love I I truly do love the idea of taking literally a notepad uh and making something that does something right. You could be totally basic, you know, HTML, right? Uh, but just having the ability to say all I need is my laptop and I can make things like that's super great to me. >> Yeah. And so, thank you for sharing that. I wanted to say like I I don't know like I'm sorry, but also that's really cool. Like I'm sorry that I'm sorry that that uh that happened, right? because it sounds like um obviously that that kind of changed the trajectory of of your life, but I would also say and I mean I don't I don't know your life story, but I feel like things are going pretty good. Like it seems like it was a good sequence of events in the end. >> Yeah. No, it all work. Yeah, it definitely worked out. Uh you know, great job now. Uh you know, I have have the house, I have the family, and it's like all of the things that we think we need in life and strive to have in life kind of thing. So, it did work out. Uh I and I found sports back along the way. Uh, I did it like completely 180. Uh, went to school to go play uh, soccer. Got hurt playing soccer. Had to actually drop out of college for a semester. Uh, went back to college. And then I was a competitive rock climber for for my university. So, jumping around rocks and doing crazy stunts and, you know, working at the rock wall, which was more of like a, you know, hanging out rather than a job. >> Sure. Sure. No. Well, that's cool, though. I I'm glad to like I mean that that does actually make me feel way better about your story because I was like oh man that I'm so sorry to hear that but it sounds like you were able to kind of find uh you know the the physical part again whether like depending on the sport and going between a bunch of different ones. That's really cool that you found that again. So thanks for sharing. Um okay so you had mentioned now like you you are working in public sector so lots of top secret projects. We're not going to dive into those. Um maybe uh you you mentioned like some internships, right? Like what could you maybe talk about what that experience was like? Because I was kind of uh a bit of an outlier for school for me. We had six internships. Like it was a co-op program. So like we literally went to school for four months and then the next four months like were an internship. So my first couple of weeks at university they were like you're going to be interviewing next week so prep your resume. And we were like, "Dude, we don't we don't know anything." Like, "What do you mean we have to work?" So, I'm I'm a little biased that way, but I always forget that not everyone gets to go through internships, and we should talk about the value of that. >> Wow. Yeah. So, I wish I had six internships. Internships is where you actually learn how to write code. You Yeah. You know, it's it's really cool when you have the Java class in college or on your, you know, certificate course or whatever. uh but the world does not have a single file Java class that runs a single main like that's just not how the rest of the world actually works. So it's the internships and then beyond into the to the day force the workforce that you actually learn how to do all of those things. My internship was honestly a lot of fun. I was a mobile developer specifically Android uh in Lancaster, Pennsylvania, which is a super fun cool area. It's very like Amish country. Uh you get some like fresh freshmade jelly and stuff like that. So, the area is super beautiful. Uh, and for all of those, it's not Lancaster, it's Lancaster. Um, so just make sure you check people from now on now that you know. Uh, if I didn't say that, all the people from Lancaster would probably shun me. Um, but the internship was a lot of fun. It ran very much like a startup. It was not a massive company, but they did some really cool work. uh it was kind of like uh some social media type apps but but yeah internship is where I learned how to actually work with other people how to actually write code that is uh you know APIs that connect to other things right and you just don't generally do that in like a four-year degree >> before we move on this is just a quick reminder that I do have a course on C refactoring available on dom train refactoring is one of the most critical skills that you can learn as a software engineer and this helps you continue to build upon applications that already exist making sure that they can scale and have extensibility. I walk you through a bunch of various techniques and give you some examples that we walk through together to see how we can apply these techniques to refactor the code. Check out the pin comment and the links in the description to get this course. Now, back to the video. Yeah, that definitely resonates with some of my experience. Like, I primarily only worked at small companies uh when I was going through internships. And I think the the way that you said that about uh say your your projects and stuff uh in school, right? A lot of the time it's hey like we're focusing on language constructs or we're going to be focusing on something pretty narrow and you end up getting like I don't know it's I'm not trying to talk down the fact that you have projects like this in school because we need we need building blocks and uh I would say especially like in university for me a lot of it was theoretical so let's talk about these concepts we'll have a bit of a demonstration of it but not so much like like practical application there was there was some certainly But uh yeah, like when I reflect on internships, it was like a complete 180 from that. It was like we'll talk about some theoretical things as we go. If you have good mentors and stuff, they can kind of add that layer. But otherwise, it was like we got to build stuff and we have customers. And when you're at a small company, you really notice that because uh I can imagine like I didn't have big uh big tech company internships, but being at big tech now versus the startups like the >> the pace of things is very different and a startup it was like >> everything's always on fire. We always have to ship features. Um everyone is doing everything because >> we have to keep the company going. And I mean that might sound kind of scary and chaotic for some people that haven't worked in small companies, but that's what it is. And it's cool because as an intern, like you get to have a pretty big impact relative to the company and be exposed to things. Does that kind of resonate with what you felt going through that? >> Yeah, I like to pretty much chalk it up as like uh it's it's like living in the city versus living out in a rural area, right? when you're at the startup, it's very much city city style life where it's very busy. You have a demo tomorrow and then oh, you have a demo the next day, too. So, it it's very hustle and bustle. It's very grind. And I think early in your career when you don't have uh or or hopefully don't have a lot of responsibilities, that's a perfect time to just kind of put your head down, learn as much as you can, ask all of the questions. There's no dumb questions at that stage. and then you go back into a bigger tech company like a Microsoft or something like that very different pace right you have a very different set of responsibilities in in a good way because it is a huge company but also the downside of that is you don't sometimes you don't appreciate what you have if you don't understand the full picture and I think at the startup life you understand the full picture because you have to >> yeah no that's a I really like that framing the the place I worked at before Microsoft it was like eight people when I started there. And your last point about not not appreciating like the full picture. When I make this statement, I'm not trying to this isn't meant to insult anyone that kind of joined after that company had grown, but we could literally you could see like as someone who was there from the beginning, you would have people join that, you know, were four or five years in. And again, not any issue with them or anything like that, but you could tell that they they don't have the same appreciation for for some of the things going on. not their fault, but they're joining the company at a point where it is way more stable. They can make assumptions about things. And it's like it's it would be unfair to expect of them that they do have some of that same understanding because like, hey, yeah, that code's crappy, but I can remember, you know, 3 years ago when we were staying up, you know, until 5 in the morning trying to ship this to unblock customers, >> uh because they're doing forensic investigations to help catch pedophiles. like we did the right thing in the moment and now 3 years later you're coming across this pile of crap that we >> yeah we're like oops but it helped in the moment right so um >> yeah I I just think that that uh that level of appreciation can can kind of fall off uh as companies grow and like I said I don't blame people for for that kind of thing >> and and I will say while we're on this topic it is not the only way and and what I mean by that is I I think it's a really powerful thing for people to kind of look intrinsically and understand what kind of vibe they want, right? Like if you love that city environment and you love that like hustle and bustle, startups are going to be probably the only place you want to work and that's super cool. But if you're like honestly I really like uh a work balance uh you know work life separation, a balance there. I'm okay with maybe learning a little less or moving a little slower. that's when it's super fine to go join in one of these bigger companies where there is a little less risk that you take on as an individual. And I think that's also super okay. I think what sucks for people is when they don't understand what they want on which side of the fence they are on. Uh and and like I said, you go through seasons, right? I did the internship early in my career, hustled really hard. Now, as I have a family and I'm working on other things, I am kind of like not getting in the slow lane. I'm still outperforming uh as best as I can. I'm still performing as best as I can, but I'm definitely not uh you know, pulling 80our weeks anymore. Uh and and like I said, I think both routes are totally fine. I think you just have to decide what kind of storyline you want. >> Yeah, I I I think that's a really important factor. Um I want to kind of pivot over to some, you know, how can we help juniors navigate this in just a second, but that um I think that point's critical, right? because you have these different experiences at different styles of companies. And I I you didn't say it, but I I I fully believe that, you know, you would uh side with this this perspective, but um you know, that statement that you made about some of the small companies versus the big companies. You will always find outliers to these things. I'm sure there's big companies that have teams that, >> you know, are moving at the speed of light and would make your head spin. >> R&D, the big companies. >> Yeah. Like so anyone who's listening or watching to this if you're like hey that's not true there's this this team at this company like yep there's always you know we're speaking in in generalizations here. So um I think the the point you made Andrew though about kind of figuring out what you want and then being able to kind of direct that is important and the fact that that can change over time. I had like I don't have children right now. Um but even you know having when I was at the startup I was single for like uh like for eight years right like periodically having girlfriends and stuff but my responsibilities were basically zero. It was me. Uh I like going to the gym so >> you know if I can go to the gym every day like okay like boxes checked I'll work like >> yeah. Um, and then for me, I went through a period of burnout. And it wasn't typical like, hey, like people listening to this are going to be like, hey, if you talk about working 60 to 80 hour weeks, like obviously you're going to burn out. But it was different for me cuz I was like, I just love working. Like it was never like, oh man, they're calling me in on a Saturday at 3:00 in the morning. It was like, I just love to be coding at this job. So the burnout I experienced was really just like I was multiple years into this being like I don't h I don't have other responsibilities. I don't do anything outside of this. So I kind of uh in sort of uh I ended up getting a dog so that I could have something outside of work to be responsible for. And now not to this is going to be a terrible jump in terms of my logical flow here. I'm not trying to say like with my wife now it's like having another dog. I don't mean that. Just having other responsibilities in my life really means that I can't do like a I couldn't do 80our weeks at a startup >> if I wanted to right now. It would be totally irresponsible at my point in life. So yeah. >> Yeah. I I totally I totally get that. And uh you know I've definitely made some mistakes. You know we could dive into it later about like uh me getting involved in woodworking and that's why I'm making my SAS app now. Uh yeah, I totally made my wife, you know, a single parent right after we had a newborn because I was woodworking, spending all my time in the garage. And uh you know, the hard lesson that I had to go through and and a great segue for for everybody else watching out there, when you start bringing responsibilities into your life, whether it be a partner, children, pets, whatever it may be, you know, other people that are expecting and relying on you, you have 24 hours that you share with them. So if you're adding more and more onto your plate, you're taking from their plate. And uh that can be okay seasonally as long as you overcommunicate. Okay, I'm gonna be busy for a couple weeks, but then you know I'm gonna let you run free kind of thing. Uh and I think that's totally fine. And I think most people are willing to kind of eb and flow in that direction. Uh it just stinks when you are used to your freedoms quote unquote and now you have to balance those responsibilities. And like I said, there's 24 hours and it's not each having 24 hours. It's collectively there's 24 hours. Yeah, that's a super awesome point. Thank you for sharing that. It's it's of course it's not like, oh man, like now my wife takes away from all the things I love and she doesn't let me do anything. Like it's it's of course it's not like that, but I think the way that you framed it is is important, right? It's like we're used to having and maybe not for everyone, right? Maybe some people have been in long-term relationships their entire life kind of thing. But, um, I think for people that are used to having that and they're going through school and they're like they're going into the startup life or whatever it happens to be, if you're used to having that much flexibility in your schedule and being like, I can just do whatever. I could stay up till 5 in the morning coding at the startup to help them. uh because like whatever tomorrow I'll just sleep in like you know I'll talk to people at work about this and I don't have to like explain to my wife or whatever I don't have kids it just changes right so you just have to keep that in mind um maybe uh because I wanted to kind of put the perspective for junior engineers in place here so I think it was really good to start elaborating on the fact that you want to you know be thinking about what you Uh, and I don't want to put you on the spot totally with this question cuz I'm I'm trying to think about my own answer to it at the same time. But, um, for for folks that are listening or watching, if they're like, "Hey, like I want to get into the field. Like, I actually don't know. I don't know how to figure this out for myself. Like, I don't know if I want the fastpaced kind of like startup life. Maybe that's too crazy, but like it seems like it would be good learning." And yeah, I don't know. Like bigger companies, maybe the pay is better and it's slower paced. Like, isn't that what I want? like do you do you have any thoughts on like how people might be able to kind of explore this for themselves and and kind of make a decision uh and what that looks like? >> Yeah. So, speed dating, right? It's uh you won't know if you don't try it. And I don't think there's any problem going and trying 50 different things just to figure out what you like. And I think it's a you're actually doing yourself a disservice if you don't go and try those things because you're gonna sit there with the regret of the well what if I would have done it this way. What if I would have? You won't know unless you go try. And I think that is one the scariest thing to do. And uh two, when you start doing it, one, it becomes it it does become easier, but it is so fulfilling because you trying all these different things oftent times because you're trying all those different things. you're learning so many different things and you just become in my opinion a better rounded individual uh that just has a super diverse portfolio to bring really awesome skill sets to whatever your team you're walking in. And I'm not saying like jump jobs every week kind of thing. Uh but don't be afraid to make pivots and say, you know what, actually I think I want to go work in ARVR stuff. Oh, I did that, hated it. Let's go do microcontrollers. like pick the pick the unique things that you like. And if you're looking for somewhere where to start, I always recommend what are the hobbies you like right now. Let's take a crazy one, right? You're you're a fisherman. You love fishing. Do you know what? There's tech on all of the fish finders on the boat. Go find the companies that are building those fish finders and see if you can get a little gig with them. You'll be totally invested. You'll understand your equipment and your hobby even better. And you're going to be like, I freaking love this. This is so fun. Yeah. No, that that's a that's a really awesome example, too. And even on that last part when people we talk about building side projects and stuff, people like, "Where do I start?" And I'm like, "I I love going to like what are you interested in?" Like I think if you can anchor to something that you really enjoy, like for me, when I started programming, it was like it was video games. You were talking about Ruinscape. For some reason, I never played Ruinscape. And in hindsight, I'm like that would have been like the perfect game for me to play. But I always played role playing games. Apparently, it's the best one. I just I'm amazed. I've never gone back or never experienced it in its in its prime. I guess I I would say it's not in its prime currently, but um but I was like, I'm going to build role playing games because this is what I love to do. And it meant that instead of playing the role playing games, I still played a lot of games, but instead of spending all my time doing that, I was like, how do I how do I build my own? And they were always terrible. Like I still have one that's been going on for 20 years. It's not finished. It's not even playable. But like I got to build all of these complex systems into it. I'm like this is the coolest thing. And it just kept me super motivated. So I love your example of saying for if you don't know and you want to start like could you try and anchor it to a passion that you have and that way you'll be fully invested into it. So I think that's that's really cool advice. I think there's a lot of folks and there's a lot of YouTube videos out there who and and truthfully I think it's out there because they're just really good YouTube titles like let's build a Netflix clone, let's build a Twitter clone or X clone, Trello, you know, those are the really really common ones. I actually think it's a mistake to start there uh because you're going to you probably don't use X or Trello uh you know that maybe that much. you probably are like, "Oh, I actually don't care how it works." And you're just not going to be emotionally invested. And you're going to learn far faster, and you're gonna soak in far uh more data if you just have an investment into whatever the heck it is that you're doing. >> Yeah. I love that. Um and then, yeah, I like your example going back a little bit to the you were saying like, hey, it's not job hopping, but like you're not going to know unless you try. And it's it's funny. I have to acknowledge my own bias, right? I was saying that I had done a bunch of internships through school. Um I remember my my very first internship the I went there twice actually. The the owner of that company was he also went to the University of Water which is where I went and uh he was I I always kind of when I bring this up I'm like man this guy was such a good like mentor and like just an awesome person. Like I I didn't I don't want to say didn't take advantage of that enough like as in I don't want to I don't like the phrase take advantage. I didn't seize the opportunity to to kind of like learn more from him, but one of the things he told me was like, "Hey, look, like for coming back on the internship," he's like, "I would love to have you back here." Um, and then he was like, "But I don't want to take you back a third time." And he was like, "But I want you to know that's not like me saying, I don't think that you're a good developer. I don't like you working here." He was like, I I really think that you need to go out and try different companies because he's like, this is going to be the best time in your life that you can go every four months and just try something completely different. He was like, it's not it's not uh sort of in my best interest for you to try and keep you here because I think you need to go try different things. And he was so right. Like I did I did embedded software development with him at that company. the the next internship I had, I was I was the only developer in hindsight, this is kind of weird. Um, but I was the only developer making like operating room like video uh switching uh software. Like that's that's kind of weird actually that they just had one intern doing that. But anyway, super super interesting experience. Uh I jumped over to like making uh bank machine software so people could configure bank machine screens. Totally like that's kind of random. And then I did my final internship like making uh iPad software and all of those companies. It was like started with like Python and C for the embedded stuff and some of the tooling over to C uh over to C again and then I was doing Objective C. So I got to jump around languages domains. He was totally right. Just like jump around like now do I if in hindsight I'm like do I love embedded programming? No, I don't. like it was neat but like I don't love it so I'm not doing that. Um you know did I like doing C and kind of designing applications kind of like in terms of systems and stuff I'm like I really liked doing that. Uh the mobile stuff I was like I don't see myself just uh focusing on making mobile apps like uh and it was objective C so absolutely not but um but you know it got to help me figure out as a starting point which direction do I want to go. >> Yeah. and and it is it's truly a your mentor did you a probably the biggest blessing in your technical career right and it is it's >> our jobs you know now as senior engineers and and leaders I don't you know I don't know how much management you're doing these days I still to this day that I'm >> yeah so so you exactly get you you know exactly where I'm coming from and it is those things where it's like you know that phrase like if you love it let it Uh, and that's kind of how it is. And I always encourage my developers, look, I want you to automate yourself out of a job. I want you to ask me any question. I will teach you whatever you want to know. You just got to be curious. You just got to be willing and desiring to learn. >> Yeah. You said two things in like the span of a couple couple seconds there where I'm like, I have to come back to these because they're so cool. Um, the first one was like if you love something, you got to let it go. I know. kind of a funny thing to bring up from a software engineering perspective, but I wanted to mention that um there's only been I've had a couple of times in my career where people have said to me um like basically that they're ready to to leave or do something. Um and I've had situations where people were like um kind of like I'll like I'll stick around if you stick around kind of thing. Uh, so which is kind of cool to hear, but I've had the opposite where um, you know, people have said like, "Hey, like it's I'm I'm pursuing this different opportunity. I have this offer." And I remember being like, "Oh man, like that sucks. Like this person's really good. I don't want to, you know, I don't want them to go obviously they're the great software engineer." And then kind of, you know, you have this feeling like it obviously sucks to hear, but then you go through the the steps and it's like, okay, you chat with them through, right? Like, okay, uh, do we have the opportunities that you're after? like, "Have have I been trying to do that for you?" Like, "Have they resented that? Has there been friction there?" Or or truly has it been a good working relationship? And they're like, "Yeah, like every time that we talked about this, I was able to try these things out." Um, and when I go through those those exercises, I'm like, I actually don't feel bad that like we tried what we could. Um, sometimes for people it was like, "Hey, look, the pay is life-changing pay." And I'm like, I'm I'm not gonna be the person that says, "Hey, no, like money doesn't matter." I'm like, "Look, if it's lifech changing for you, and that amount can be very different for different people." If that's lifechanging, >> you you may find like, "Hey, look, even if the job is less interesting, whatever, that might afford you other opportunities in your life to be able to say, I'm happier. There's less stress with our family." Like, great. Like, that's that's for you to decide. So, I thought that was a cool thing just because I've had that experience over the last few years and I was like, it's hard, but yeah, like it's it's best for them, right? Um, the other thing you said, and I'm losing my my train of thought because I ramble too much, but uh we talked about love something, let it go, and you said something right after that. Oh, and I forget it, but it was good. Um, man, do do you remember what you said after? >> Uh, nope. >> Not to put you on the spot. >> No, no, it was uh if you love it, let it go. I don't remember where I went after that. >> Oh, man. No, I had another I had another example I wanted to bring up because I was like I was so I was baffled that you said these two things and I was like, man, like these are both really good. It's probably going to come back to me like right when we're wrapping up the call together and I'll say, "Wait, wait, wait." Um, >> yeah. Yeah. >> Yeah. Remember that time you said, "No, that's cool." Um, yeah. No, thank you for sharing those. Uh, and like I said, I'll come back to the second one when it when it comes back here. But, um, we talked a little bit right before we started recording about, you know, being able to help junior engineers. And I know you said that you're passionate about that. I think for me that's been something in a lot of content I put out I try to make sure that I'm as much as I can doing a service to that group of people because it's definitely challenging and especially right now I think it's challenging. Um I I always think that you know there's barriers and stuff that people talk themselves out of like hey I'm not smart enough to do this kind of thing but I think now there's just a lot more going on that probably doesn't help. Um I don't know where to start off with this kind of question or this segue, but um maybe from your perspective like what do you think are the top sort of challenges that um that you're observing like juniors are getting stuck with it? I don't mean like you have evidence that says like 89% of juniors struggle with this but >> yeah so I think the big thing is is actually not the junior's fault and it's >> okay >> I'm willing to say I'll put my my neck out right I think it's the engineering manager's fault uh I think we are expecting way too much from junior engineers and uh yeah right yeah this is some and I'm totally guilty of this I am so I'm not trying to like come from like a high horse or anything like that like I'm sure very guilty of this and I only knew by talking to my junior engineers they were like not going to lie man like this just seems a little unreasonable and I was like oh crap like is it maybe it is so it it definitely and and that sucks as a manager too right because you want to be like I want to give you the right amount of work where I push you a little bit but not too much and uh I think what >> especially non-technical managers they see LLMs >> and they think everything's free now you know there's so many nood solutions to software these days you can use chatbt or in my favorite it's clawed right now the 35 sonnet version is really good uh but a lot of times it's like oh hey go and do this thing right go implement so I had a junior engineer who their task was to implement a connection to in an ETL so a basically a ingest pipeline for those of you who aren't familiar with ETL yet and the idea was data was coming in effectively a funnel it was getting uh processed and then it was getting stored into the database Well, this developer said, "All right, it works really good. It's really fast." And I was like, "All right, how many records did you test?" They're like, "Oh, I only tested one." And I was like, "All right, well, go test 10,000." And it's those types of things as a junior engineer, you're like, "Whoa, okay, I didn't think about that." And tested even a thousand and the whole microser just absolutely crashed, right? And uh it was because chat tpt and they just uh you're only as good as your prompt is, right? So, if your prompt is not good and as a junior engineer, you don't know all of the things to ask it quite yet. And I think not even as a junior, as just an engineer, you probably don't know all of the things to ask. Uh they're making a new client to the database on every single ingest. So, instead of one client, it was a thousand clients, right? That doesn't scale in the real world. Uh you know, there's only a pool of so many clients available. So th this was one of those cases where it's like as a senior you see it and you're like oh wait I get that that's a that's an easy one to make the mistake on. But the biggest struggle I see is by putting this pressure of excelling and executing on these junior engineers you pretty much back them into a corner where their only option is to use LLMs these days. And uh it's very easy to get yourself you know kind of in a pickle uh when you don't know all of the questions. you're only as good as your prompt is and you just, you know, on chat GBT it's a perfect solution. But like I said, when you throw in all of the other external factors because chat GBT doesn't have your whole baseline, it uh makes a very different result. So I actually think engineering managers uh quite truthfully need to do better and uh just set better expectations and have a much more realistic timeline for the given individual. Not even just juniors, just the individual. >> Yeah. No, that's that's a that's a really interesting point and I think something you brought up sort of in our a pre-recording conversation pretty briefly, but along that train of thought where uh you know, take the scenario, you have a more junior engineer and it when I say more junior engineer, please keep in mind that this could literally be any engineer, but it's probably more common say with someone more junior, but they're like, "Hey, I have this problem to go solve, and I feel like if I don't know it, like I could ask AI, I can ask an LLM for some help here. And the reality is LLMs like they're so fast now and they're able to create solutions for you that it would it's almost it almost feels like it's it's like irresponsible to not try it just to see like what it's doing, right? You're like, "Hey, like it gives me an answer really fast. Like why would I not?" It's kind of like to me it feels like rubber ducking, right? If I could turn to a person at work even and >> in my swivel chair, turn over to them and be like, "Hey man, like >> super quick, what do you think about like this?" and they're like, "hm, off the top of my head, I wonder if I would design it." It just feels like you have that at your fingertips. So, I think that the difference is that people aren't realizing like maybe don't just assume it's perfect. And especially, I love your point about you're only as good as your prompt. But I think the the thing that I wanted to mention from our pre-talk is that when you keep doing this kind of thing, it's almost like being able to turn to the person in your cube or whatever, depending on how your work is set up. um you turn to them and you say, "Hey, could you, you know, what do you think about designing this?" And they go, "Here's what I would do." And then you go, "Thank you." Copy paste. And you're like, "Yeah, it works. >> What's the next thing to go solve?" And the drawback to that is that you don't actually get better at solving the problems. You are solving more problems perhaps, but are you getting better at doing it? Um, what are your thoughts? And again, I'm not I don't mean to put you on the spot, but um >> what are your thoughts on >> Let's do it. >> What are your thoughts on how people can maybe try to break that cycle? And maybe like maybe from the perspective of like, hey, you as an individual, maybe someone more junior or as someone who's like a tech lead or engineering manager, like how can you help others like to identify this like kind of this behavior? >> Yeah. So, I think a big thing is if you're going to chat GBT before you go to the documentation of the software, maybe consider trying the other way around. I'm not saying it's right to go the other way around, but maybe consider it. One of the big things that I see chatbt and other LLMs get wrong is sometimes APIs are very different between versions. And if you don't provide all of that context up front, you might be solving solving it in a solution from a version that you're not running, right? So unexpected behavior and now you're red herring city. And and if those of y'all are new in your career, we we call it a red herring where it's kind of like seems like it's the root problem. It's not even close to the root problem. And uh it it's very easy to get yourself down these rabbit holes. So number one, check the documentation. Actually go and read the API docs. people are still making them even if they're making them with AI now these days like they're still there and uh generally they're right. Uh some of the shad CN documentation is not correct. Uh but check the documentation first and then outside of that you're right. LLMs are wonderful for rubber ducking. And like I said, if those of y'all are new, rubber ducking is when you're just talking to, you know, your water bottle like, "Hey, what do you think about this?" Uh and and it's just you talking it out loud. And by talking it out loud, you're kind of walking through uh the patterns that you need to to take into consideration. What I really recommend is as you're rubber ducking with chatbt, ask it questions. Have it explain to you like, okay, you told me to do this thing >> why like I don't understand it. Provide me some links, provide me documentation, give me justification, and then you can fact check it. Like you can go still to Google. Google's still around as much as uh I forget to use it sometimes. Uh but but fact check it. Go read the documentation. The other big pro tip is get yourself involved in as many Slack and Discord communities as you can because tools like Prisma, uh like all of these different tools that we are generally using, especially on like enterprise applications, they all have groups that you can just go talk to real people. Hey, struggling with this. What do you think? And those are the types of things that as a junior engineer, if you take initiative and go and figure out the problems by building your network and talking to other people, oh my goodness, you're going to blow your engineering manager's mind because they're like, "Wow, like what a great resource that you just made. Super ingenuative. Very proud of you." Right. And I think those are the types of things that uh juniors or like I said, any engineer should really be considering. >> Yeah. It's it's almost it kind of feels like we're taking I don't know if people like are are registering it, but it's kind of like taking shortcuts, right? And again, that might help you get to an answer faster, but uh when we're so used to leaning into it, we don't build some of these fundamental skills up. Like kind of sounds funny, but like I think personally as a as an engineer, when you're working in teams and in a company with multiple teams, like being able to network and know the the right subject matter expert who you can go talk to about things, like that's a skill. If you're just like blinders on, I'm just working. and I'm not kind of lifting my head up like you're not you're not working in a team that way. So, you know, being able to navigate that stuff's important. I like your example about the the rubber ducking. Thank you for explaining that because I I also realized too that um yeah, some of the the terminology and stuff is doesn't land well. Um, a quick tangent was that I had uh employees from Mexico and we were talking about dog fooding and like we're having things that you know we're we're testing our own stuff and I remember at one point someone was in like a oneonone was like what's dog fooding like what does >> oh man like I never thought about the fact that maybe in different cultures and stuff they're like these things just don't they don't make sense. Um >> it's one of the first things I do on every project I get on and we're in Atlassian right which a lot of people are either Atlassian or Azure uh I set a confluence page of uh domain words and acronyms you know I work in public sector everything's an acronym so it's really helpful to especially for onboarding engineers like all right go learn how to speak us and uh you'll have a much easier time transitioning in >> yeah Microsoft is definitely an acronym company so um the The point that I was making before my tangent. I'm really bad with tangents. Um, was that uh I I like the idea of suggesting rubber ducking with an LLM. And I think the really cool part about that is like when we talk about rubber ducking in general, rubber ducking is not a process of like how do I get the perfect or how do I get the exact single answer that is perfect. It's about the thought process. And I think the framing of that is very helpful when working with LLMs because you're not going hey chat GPT I expect you to give me the fact like I ask you question what's the fact it's more like hey chat GPT like get my brain moving in a direction that helps me solve problems and then you know the the big difference between I mean there's a a handful of big differences between chat GPT and a rubber duck but uh one of the big uh like meta differences is that a rubber duck doesn't talk back to you, right? Like you are you are kind of the the person who's uh triggering these different things in your brain by saying things like you're trying to explain things to a rubber duck and that makes you think about things a different way. But when you can do that to an LLM and it gives you feedback like here's some other things to think about. Now you have like this this extra layer of like hey I haven't thought about that or or that does reinforce this thought. So I I like that advice about you know rubber ducking with an LLM. I think that's cool >> especially when you can ask it question. So like whenever you are rubber ducking with an LLM very specifically ask it how does this scale? What other considerations should I take into mind? And what you're doing I I love that you said you're not trying to find the solution. What you're doing is you're developing the the mind map, right? Your your mirror board or your mirror board of all of the lines and you know from the central answer. You're you're trying to discover what that map looks like. And that's what allows you to go down all of those different rabbit holes and figure out, oh, how does this scale? Oh, if we're reading, maybe we should read from a queue so that way we can scale up multiple workers so that we can federate the work across and and have a better efficiency rather than trying to, you know, it's the horizontal versus vertical scaling in software. And it's those types of things. Heck yeah, go and ask the tool and let the tool help point you in any direction and then you can go start actually figuring out the details. Yeah, the I feel like this gets missed when we talk and I don't want to go on too much of a rant here, but uh when we talk about software engineering, right? Like software engineering has a word in it that's pretty interesting and that word is engineering. And sometimes I feel like when we talk about software engineering, we forget that word. It's kind of like my my role strictly as a software engineer is like I make the code and like that's >> it's part of what happens. But you're solving you're solving problems >> based on software, right? So I think what we end up missing is like we have to think about the constraints. We have to be asking what the constraints are and then you're trying to solve problems based on a set of constraints. It's not hey chat GPT I need I don't want to pick on the the example you gave. So if that person's ever listening to this and they're like man they're tearing me apart. It was just a simple MongoDB thing. But um if you take that example and it's like hey chat GPT I need to put records from this type of source into this database and it's like sure here you go what's missing there is like there's no there's no other context except the technology there's no right >> the scale of it the types of data like if you have to do other processing like expectations around latency roundtrip what does a system look like it's all missing >> right >> so how do you and again not to pick on the person but like how do you expect to have a good solution if you're not thinking about the constraints in your system. So, >> and and that's exactly where I think engineering managers need to play a bigger role. I think uh on the engineering manager side, I also think uh maybe not like like subconsciously that we also use LLMs. I'm not saying we don't. I do it every single day, both professionally and personally. Every single day. And uh I think because of that uh and because we already did it the hard way, I think it's actually easier easier for us to take it for granted that we know those questions to ask. And uh we need to do a better job about mentoring and even dividing out the tickets a little more granular so that uh it's just an easier time for them to not step in the wrong direction. And I think if you can find a healthy balance of I'm going to make you ask questions, I'm going to make you figure things out, right? I want you to figure things out because that's how you grow, >> but I'm not going to throw you, you know, I'll throw you in the deep end. I'm not going to throw you in the ocean, right? And I think that's a huge difference. And uh I think I think more and more people and more and more uh new engineers, whether you're older or younger, are just kind of getting thrown in the ocean. >> Cool. No, that's I think that's a really good way to put it. Um yeah, that thanks for kind of navigating that that bit on like LLMs because I think that's important. It's probably a really common thing for especially junior engineers kind of getting into the space. Uh, I wanted to make sure we had some time carved out to talk a little bit about content creation, kind of the stuff that you're doing because, uh, you know, I wanted to say obviously like thank you to to you being able to make time to to come chat with me, but uh, it's also an opportunity to kind of share like what you got going on and, uh, I think a aside from that, like a maybe touching on a lesson for people, which is like, yeah, like we only got so much time and how are you kind of balancing uh, being able to create outside of work and and just having life in general? So, I don't have an exact kickoff point here, but I wanted to turn it over to you and say like what are your thoughts on like being able to balance this stuff and and and kind of what are you building and focusing on? >> Yeah. So, some of the backstory is during COVID I got a side hustle and it was woodworking and I was actually making pretty good money, you know, one 2K a month uh outside of work which you're like, "Oh my goodness, I'm I'm rich now." Uh but that's awesome. along the way. Yeah, it was it was really great. And I was make like uh my wife works in the real estate world and so we have a lot of friends that are realtors so I was selling cutting boards to real estate agents as closing gifts and uh they were buying them like hot cakes. So it it really was awesome. >> Yeah, it was it was great and it was like I enjoyed it and it will be one of those things where I'll go back and you know when I retire and I'll woodwork in the garage all day. But the downside was my wife and I just had our first child uh right right along the same time where I'm like all right I'm a woodworker now. Uh, and I pretty much made my wife with a newborn a single parent because I had to work my 9-5 and then go in the garage to fill client orders of all these cutting boards. And uh, you know, hard lesson. Uh, I re I recognize like, oh, that's not pretty cool. Uh, I don't want my wife to be a single parent. So, I hung up, you know, the shop apron, so to say. Stopped woodworking altogether. Now, as uh, my child is getting a little older and I'm getting a little more flexibility in my time. Uh, thankfully, my child sleeps really well. I know that's not everybody's situation, uh, but I'm getting more time. So, what I'm building is an app called Benchbox. And, uh, this app is for the woodworker, the either the small business, you know, the garage workshop hero, the weekend warrior type person. And what this app is going to do is allow you to track your projects, your inventory, uh, some of the events like the craft fairs you're going to, your finances. Uh, the reason for this is when I was kind of in the game, all of this stuff sucked to manage. you know, I was like, "Okay, how much inventory do I have left? Let me try to remember how big the stack of wood was visually and take a guess." And it's like, there's better ways to do it. And there was no tools to do it while I was out there. And I was like, "Well, this is silly." Uh, many, you know, a year and a half later, uh, all right, I'll make the tool. So, a lot of it for me was genuine curiosity on learning new tech. Um, this will be a paid product eventually in the future that who knows, maybe it'll do really well. Uh, but a lot of it is it's just a lot of fun and I think a lot of this so and and I guess you know just to be super clear I still work my 9-5. I have a wife. I have a kid. I'm building uh I'm doing YouTube content. Uh we have a premium Discord community that we're building up right now which I don't pocket a penny from that. Every single penny every month gets donated to kids in STEM. So you know that's kind of like another passion project of mine. You know I know some people are like I don't want to pay for a Discord community. And it's like, all right, at least all literally every single penny goes to a really good cause. And every month, everybody in the Discord community gets to vote on where the money goes. So, that's been a lot of fun. >> So, I'm doing all of these things and you're like, "All right, how the how the hell does he balance all of that?" Uh, really, really structured output. And the big thing I I know Nick, you're a big- time journaler. I'm I'm a big- time journaler. I write out my tasks every night. And it sounds like, okay, cool, but I don't feel like I'm going to do it. And there's days I don't, but the days I do, I come sit down on my computer before my kid gets up for school and just go to work for a little bit. And it's often it's not anything crazy like it's just, you know, my cozy tasks. Uh, and and I'll and actually maybe that's a good thing to talk about. One of my secrets, and I'm going to probably make it in a notion template and just give it away for free. Cool. >> Is I have two stacks of work. I have like my no crap, heads down, focus work, you know, generally when I'm building the app, and then I have all my what I call my asynchronous work, and that's things like the emails, working on this. And the reality is, uh, let's say work's over, my kids asleep, so now it's just like time to spend with my wife. There's some nights where she's like, "Honestly, I just want to read a book." And I'm like, "Roger that. I'll go work on something." Uh, but then there's other times where we're just spending time together. And the beauty of that asynchronous work catalog, you know, backlog so to say, is how I structure it is as days go on, I still set a due date and as days go on, things will progressively move into the nope, focus on this work so that if I get to it, wonderful. If I don't get to it, I don't feel the guilt and shame of not getting another task done. Uh, which I know a lot of people suffer with. So, have your two separate backlogs of work. the like the lowhanging fruit like okay if I don't make progress on this it's not going to kill me but if I have some time and I make progress on this it's better than zero and it's you can work at it at any pace now like I said if you still need due dates like uh I just sent out looms to everybody that uh signed up to be a beta user for my app just thanking them uh and then trying to get some more details like what kind of phone do you have uh that was asynchronous work that is like if I don't send that loom tonight no sweat but I still have a due date so if it's if it gets to the end of this weekend, it's like, okay, it's going to migrate uh to the no crap, get it done catalog, and then I'll just, you know, plan it in as focus work as normal. >> So, I think that's super helpful for me. >> Cool. Yeah. Yeah. I then for me, like I I go, it's funny. I wish I don't know why it doesn't work for me this way. I wish that I could use digital apps for like my my to-do list, but I find when it's digital, I don't do it. But a notebook some I just wish it wasn't this way. Something about physically like I I I I don't even check off things. I like fill them out. Like I fill in a little box and I actually it's funny going back to my first mentor. I believe it was him that had his to-do list with little square boxes. And I remember having this conversation with him and he was like I fill them in and I was at the time I'm like okay like that's seems a little weird but like if it works for you cool. Um, and now I literally I'm not going to move my camera because I don't want to mess up try to reposition it, but I also have a a whiteboard wall and it's filled with list items that have these big squares on them to fill in. And I often go between my notebook and when I start finding that I'm not sticking to my notebook of things to try and do. I've learned now that instead of just falling off and being like, I guess I can't have a list of things cuz like I'm falling behind. I just switch the medium and I go right to the whiteboard. I kind of recreate the list. And then what will happen is over time the whiteboard I'm like h like I've fallen behind on it. Like I'm not I'm just not using it. and I go back to the notebook and I find I go between these two formats and for me it it keeps it such that when I check off a box and I say check off I'm filling in that box I go that feels good like I got something done like >> nice >> and like what's what's the next thing and it's a momentum thing for me so >> I just feel like people have to find the tools that kind of work for them. Yeah, that I'm so glad you said that and and I I also have a whiteboard just off camera here and I have a slew of things on that whiteboard. Uh ideas that I'd love to do in the future. I you know I tell my wife all the time I could live a hundred lives and never be bored. Uh I am definitely a uh you know I just want to do everything kind of person. But no, you're exactly right. You got to find the medium that works for you. If notion works for you, cool. If paper and pencil are your kind of vibe, then rock paper and pencil. let it gel and work with you rather than trying to force yourself into some kind of >> right >> just because it's hot, right? I And this is where the asynchronous work is awesome. If you especially as you add more and more responsibilities to your plate, if I were to spend every day spending a half an hour or an hour in the morning just trying to figure out what the heck am I going to do today, >> my productivity would be way down. But if I can spend that time like while we're watching like while I'm watching Netflix with my wife, it's uh you know, it's kind of like I said, asynchronous. You could do it while you're doing other things. Sometimes while I'm driving, I'll just open a memo and just start vomiting uh what I'm trying to do for the day and then I'll come back and I'll listen to it and, you know, I'll listen on like a 1.5x or something. uh and then I can figure out exactly what tasks you can find opportunities where you can kind of parallelize these and uh gain that huge efficiency and it compounds. It's not like uh it's it's not just like it happens once. It's specifically making a to-do list and figuring out what your tasks are before you go to work them at a separate time is like I said, it's a compounding thing and it adds a lot more time per week than you think it will. >> Yeah, I love that. Um, it's a it's an interesting hack to be able to parallelize things. And my my most recent one, this is probably very specific to me, but um, maybe maybe not. Maybe there's other people like this. Um, I like I like bodybuilding. I've been doing been sort of in the gym as long as I've been programming, which is kind of weird to think about, but um, I hate doing cardio, but I what I hate about cardio is like I will never run. You'll never ever see me sprinting. I just can't bring myself to do it. But I'm like, you know what? If I have to do cardio, I'm going to walk. I'll walk at a fast pace. I'll do it. The problem is that when you're trying to pick which of these things is going to burn more calories, you have to obviously walk for longer than you would be sprinting. So, if I want to go walk for an hour and I want time, like when the heck am I going to get an extra hour to carve out? Like, I got I got stuff to do. So, I realized I don't like doing cardio and it takes a long time. But I realized that I have I don't know if it's in the frame. Maybe not. Oh, it's under the couch now. But there's a there's a treadmill under there, a walking pad. And I >> one right over here. >> Nice. And I found that what I can do is I can do cardio, which I hate. And I can also pick other tasks that I hate doing, like editing short form videos. I hate doing it. Um, but I'll I'll go carve them out and stuff with some AI tools, uh, you know, annotate captions and stuff to go post. and I'll do two things I hate at the same time. But what I love >> is that I'm twice as productive. I go, "Look how much I'm getting done." And that's the hack for me to go, "Hell yeah." Like, "I'm going to keep doing this." So >> now fill in two boxes. >> That's Well, that's right. And that's the that's the the dopamine hit is not like, "Oh, thankfully I got my cardio done." I'm like, "That's sucks. I hate doing it." But like I get two boxes filled out and they're two things that I think are important. I just don't like doing them. So Yeah, it's uh I I have the walking treadmill, too. And uh you know, another last minute hack here for uh any engineer is I dedicate uh one to two hours a week, assuming there's like no demo that week. I'll dedicate one to two hours during my work hours uh and walk on my little walking pad underneath my desk and do some kind of training or learning. And uh I've never had any boss that is like, "Oh, don't do that." because uh you can always justify why it's good for you to spend an hour of time uh learning a little bit of the tech that you're using whether it be a course, a YouTube video. Like I just I'm getting involved more in NestJS. It's basically the spring framework for uh like uh Node Node uh TypeScript apps and it's been super fun. I went and just walked on my walking treadmill over a couple days, did the entire course, like read and listened, took some notes from all the modules, took the test at the end, and now I have the certificate and did cardio all at the same time. >> Awesome. That's that's multitasking at its finest. >> That's right. >> That's cool. No. Uh, Andrew, I I wanted to say thank you for this conversation and and making the time to to chat with me through this stuff. Um, I didn't get a I I'll follow up with you and make sure I can collect actual links to put in descriptions and all that kind of stuff, but for for folks that are listening and watching, where where can people find you? I know you're on YouTube, you're on social media. Like, let us know where where it's good to find you. >> Sure. Well, first before I give you that, Nick, it has been a true pleasure. Uh, really thoroughly enjoyed talking with you. This is my first podcast I'm ever doing, so uh let let's do some more. Had a lot of fun. Uh I'm >> I have a lot to say. Uh, so very happy to talk, but but yeah, you can find me on YouTube and threads at_andrew peacock just like the bird, pa k. And uh, that's predominantly where you're going to find me. If you're interested in joining that Discord community, it is a monthly price, but every single penny goes to kids in STEM. That is subsb me Andrew Peacock. So all of the links, I'll hit you up with them. You can drop them wherever uh, makes sense for you. But like I said, this has truly been a lot of fun. Very happy to to meet you and have a chance to talk with you. I've been following your videos and uh I've watched your other podcasts in in the the past and they've all been uh helpful for me. So, I really appreciate it. >> No. Well, thank you so much. And of course, yeah, we'll follow up with more of this. It's been a really cool conversation and uh I feel like we covered a lot of ground where there's some actionable stuff for for people listening. So, um I think hopefully the audience will really appreciate that. So, thanks again. If you need if you need one segue word, >> yeah, >> it's just start. Just start. >> Just start. >> Start somewhere. >> That's awesome. Awesome. Okay, thanks so much, Andrew. And we'll follow up with links. So, thanks everyone for watching. We'll see you next time.

Frequently Asked Questions

What advice do you have for junior engineers trying to navigate their career paths?

I recommend that junior engineers try out different roles and environments to see what fits them best. Don't be afraid to experiment with various internships or projects. It's all about finding what you enjoy and what aligns with your lifestyle. If you're passionate about something, pursue it, and don't hesitate to pivot if you find it's not the right fit.

How do you balance work, family, and side projects?

I maintain a structured approach to my tasks. I keep two separate backlogs: one for critical focus work and another for asynchronous tasks that can be done at my own pace. This way, I can manage my time effectively and ensure I'm making progress without feeling overwhelmed. I also prioritize my family time and make sure to communicate openly about my commitments.

What role do AI tools play in your workflow, especially for junior developers?

AI tools can be incredibly helpful for brainstorming and problem-solving, but it's crucial for junior developers to not rely solely on them. I encourage using AI for rubber ducking—talking through problems and asking questions to deepen understanding. However, always check documentation and engage with real communities to build a solid foundation of knowledge.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload