From the ExperiencedDevs subreddit, this Redditor wrote to ask how to build up skills and abilities outside of work. I have my own bias here, but in this video I share several ideas for things you can do to drive improvements.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, I'm just headed home from the office. We're going to experience devs subreddit. This is an interesting one. Um, they're all interesting on code commute though. You know that. So, uh, this person was asking about what to be able to focus on outside of work in order to to progress more, right? So, how how should they be spending their time in terms of learning or uh or whatever else? like what what's recommended from the other experienced devs. So, I'm going to share my thoughts on this. Um, I'll mention that I had a quick scroll through the comments when I was walking in the car and um saw a couple patterns coming up and I guess I'm not surprised, but I'm just going to go through those first before I get into my own kind of commentary on it.
the uh like one of the major things that people were saying was like hey man just like don't basically like you're done work disconnect um you know f get a hobby family friends like just do something that's not related to work and I wanted to to mention this one at the beginning because um a couple reasons one I don't I think it's I don't think it's what they're asking about. Um, and so that's not super helpful for them, but I think it's helpful for some people to hear. And I think that's important because this person sounds like they're specifically asking about trying to make progress um, in career advancement. They want to be able to skill up, get some different experiences and things like that. And I don't think there's anything wrong with that. I think that's good. I think that's nice that they want to be able to try and improve and uh achieve more or different things with their career, you know, totally.
Okay. Um but I do think that it can become unhealthy when people are hyperfocused on this stuff and like they start sacrificing parts of their life, right? And again, nothing wrong if you're like consciously going, "Hey, this is going to be, you know, a busy time for me because I do want to work on a career change or or something else." Um, you know, just you're working on a big project that is helpful for promotion. You really just want to do a good job for that. I don't I don't think that there's anything inherently wrong with like I want to work hard and do more or in this person's case, I want to be able to spend some time skilling up or whatever else. On the surface, nothing wrong with that. Um, but I do think that if you have an unhealthy obsession with it and you're not paying attention, then I think that can be kind of tricky.
And so I do appreciate some people in the thread jumping in to say like disconnect, right? Um, I appreciate that because it's probably advice we don't hear enough. And if I wouldn't have scrolled through the comments, I wouldn't have mentioned it because I'm probably just thinking about trying to answer this person's question directly. So, it was good for me to kind of go, eh, yeah, like that is fair. Um, although if this person is just trying to improve and whatever else, then I that I don't think that's totally helpful for them. So, I wanted to get that one out of the way. Um, and I think the rest of the comments that I was seeing at least are kind of just like general things that I'll probably be touching on anyway as I go through this. Before I go any further, a friendly reminder that this uh channel is entirely driven by the questions that you send in.
Otherwise, I go to Reddit. So, leave your questions below in the comments on software engineering uh career development, anything like that. Happy to try and answer. Or you can go to codemute.com and submit your question there and you'll be kept anonymous if you so choose. So with that said, um I feel like you know and I have to be very transparent about this. I have a bias obviously um I have many biases but the bias I want to call out is that for myself I really do enjoy building software outside of work. And you know, for I've been programming for over 20 years now. And so when I started in high school, I just loved to code things. I'm not saying that to to to make it sound like I think I'm the best or anything like that. I certainly don't think I'm the best, but it's it's just genuinely something I enjoy.
So I will even have conversations with my wife about this where she's like, "Hey, like you're doing that a lot." and like she wants me to be able to disconnect and take a break. And I'm like, but the part that you're missing is that this is this part's not work for me. Like when I get to go code outside of work, I'm like, this is the fun part. Like I love to do that. Um and that that's not the case for everyone. Certainly not. Um, so I just want to be very transparent that as I talk through this, I am personally someone that just happens to enjoy writing code. Um, I feel like I've said this before on videos, but to me it feels like playing with Lego. And uh, as a I guess I'm an adult now. Um, I have to say that now that I'm bald and have white in my beard.
Uh, but if I could play with Lego all day, I'd be pretty happy, right? So, I get to do that with software. And I think a couple things that I'll be especially biased towards are going to be just building stuff. Like most of what I'm going to be talking about is like go build things. But that's very general advice. What should you be building? That kind of thing. Um, and I'm going to start by talking about other things before I get over to building just to make sure I cover other ideas. Right? So, um, one thing you could be doing is similar to the first set of advice where people were saying, oh, like don't, um, you know, just disconnect that kind of thing. I think there are things that you could be doing outside of work that aren't directly related to your job that uh, that could be helpful.
Okay? And this is going to look different for everyone, but the meta point for this set of examples is going to be like you are a software developer and sure if you could be doing things where you're writing code or you know architecting and designing systems those would be very relevant to your job 100%. But are there other hobbies or activities you could be doing that help you with other aspects of your job that aren't so obvious that would be very beneficial for you because they'd help you skill up. So one um you know random example that comes to mind is I've talked to different people that have done like Toast Masters. So could you maybe join Toast Masters and work on like public speaking and having confidence in different scenarios? Um, and maybe that's a really awesome way to help you get sets of skills that you're not actively making progress on at work.
Sorry, I just want to change one more lane here. Um, okay. So, that's one example. And it doesn't have to be Toast Masters, right? But the the idea there is like if you are someone who could benefit from more self-confidence, being able to speak and present and and stuff like that, then then perhaps that would be a really cool thing for you to do. I don't know what the time commitment for is uh is for something like that. But if it was like once a week kind of thing, then that could be great. You know, uh doesn't have to consume all of your spare time and that could be really awesome. I have never been to Toast Masters, but any person that I have ever talked to that has done it has said that it's completely transformed like their their self-confidence in terms of speaking. So, I've never heard anyone say otherwise, but that's uh that's my only data point on that.
So, you could do something like that. There could be things where you're um sorry, one sec, one more lane change. Um there could be things that you want to go participate in where uh it could be I don't know like even like I don't know team sports might sound like very generic too but if you're the kind of person who needs to be doing something to collaborate more I wonder if there's team sports or could you uh like do a I don't I want to say like a group project but I'm trying to think of something that's like extracurricular where you're working with other people uh that could be you know it could coding related and you're volunteering to uh to work on something um for a not for profofit or something like that. Are there these opportunities that you could be looking for outside of work?
My god, what's going on here? The fast lane is not very fast. Um I'm trying to think through opportunities that you could explore where you are collaborating with other people because again this is a set of skills being able to work with others effectively that you know if you want to be able to build that up and be more effective with it you need to practice it more. So what better way than to find opportunities where you're doing that. Um, I threw sports out there as someone who doesn't play any sports and I've never had an interest in sports. So maybe that's a terrible example. Uh, maybe people just want to play sports cuz they're focused on the sport itself. Um, but I figured there's supposed to be teamwork in sports. Maybe that would be a good thing. But hopefully you get the idea. Um, so we got things around teamwork and collaboration.
We got things around confidence and public speaking. Uh you could uh this is going to sound maybe backwards. Maybe there's something you could volunteer for for tutoring or helping other people. Uh this could be something that's really beneficial for folks that um Oh man, I thought that person was moving into my lane. That was like a 100% adrenaline. Almost broke my own neck. Uh you could you could try mentoring and tutoring people. Uh whether that's for free or for money, whatever. Um, and that might help you learn patience. It might help you learn how to articulate your ideas more clearly. Uh, that's a very open-ended one, right? But I I know that well, and I'm sure many people watching this, unless you're very junior and haven't been through something like this, but when you try teaching things to other people, you will have a much better understanding of how well you understand something.
So, uh, if you feel like, oh, I'm an expert on some topic, I'm not here to say that you're not, but if you'd really like to know, uh, if you have some glaring gaps in your understanding, try teaching it to someone, try teaching it to someone who does not understand the topic because you will quickly find that you have to find um, you know, creative ways to be able to explain concepts to them in a way that's going to make sense. And I feel like in order to do that effectively, you really need to understand what you're talking about. So that could be a really beneficial thing in terms of just going through that practice of like if you're trying to tutor people, even if it's an unrelated subject, you might get an appreciation for like, you know, there's that that junior person at work that I've been trying to, you know, tell they're just not getting it.
Like, oh, they must be stupid. If you're having thoughts like that, try tutoring someone in some subject, right? And like realizing that people learn differently. They're going to learn at different rates. You might not be communicating half as clearly as you think you are. And here you are like blaming other people for being stupid, right? It might be you that's the problem. So, um something you could try practicing, right? But if you go down that whole avenue of of things to consider, I think that you could look for different opportunities where you're participating in something that's going to let you work on a skill that isn't directly coding. Now, I just gave you a couple of examples. There's unlimited like this. So, you know, I don't want you to listen or watch this and be like, "Well, this dummy only had like three examples and like crappy advice." Like, no.
Like, I'm just giving you the a direction to look in. You can do the rest of your homework and figure out what's a good opportunity for you. Um, you know, for me, the I'll just kind of pivot a little bit. Being able to do content creation is super helpful for me, right? when I do these videos and I talk through stuff, um there's so many benefits for me selfishly, right? Aside from having content created, but uh I get to treat it almost like public speaking, right? I realize I don't have an audience directly in front of me when I'm recording, but I get to treat it like that because I don't edit these. I have to be comfortable when I mess up. I have to keep going. And that's what would happen when I'm public speaking. It's really good practice for me to just be able to speak and think of things on the spot.
And sure, there's times where I'm driving and I'm like, "Oh, I forgot what I was talking about." Or something happens in traffic and I'm like distracted and totally forget because I had to focus on traffic and I forget what I'm talking about. So these types of things for me are very good practice in being able to think through different thoughts. I have different perspectives. That's one part. On the note of different perspectives, I try as much as possible to bring different angles to things. And from a software engineering perspective, I don't want to be driven purely by bias. I want to remove as much bias as possible. So, I like chatting through this kind of stuff and making myself consider other angles. It's really good practice for me, right? This that's just this channel for these videos. This is my vlog channel. This is the small channel.
The other one's really not much bigger. But my other channel is a really good opportunity for me to go learn because I'm making tutorials to go teach other people how to go through it. So, it's either stuff that I'm building and I go, "Hey, there's a lesson from this. Let me go make a video on it." Or it's stuff that people request and I'm like, "Hey, like I'm not an expert on this. Like, I should go learn about it." Right? There's some things where it's like how to use different Nougat packages in C and .NET development where I'm like I don't know I'm not an expert but like give me give me a couple weeks and I'm going to go learn about it and I can at least make beginner videos on how to use it and now I get exposed to different things, right? It it forces me outside of work to stay up to date on certain topics and then I get the other benefit of trying to teach people.
One day it would be super cool if it was actually making money. Oh my god, this person. I just watched someone like we're going 20 m an hour and they must have just been looking off into space cuz they just drove into the other lane and almost hit someone. Um it would be really awesome to make money from the YouTube stuff and all that. So right now I'm not. So, all of this is basically because I, you know, enjoy doing it and I'm hopeful someday that it could turn into something that's bigger than that. But it's been two and a half years and I'm losing all kinds of money making videos. Uh, but I do enjoy it, right? And the feedback when people say things are helpful like, okay, I'll keep going if you find it helpful. So alone, like just content creation alone, right? The other aspect that comes with content creation is collaborating and networking with other people, right?
I don't I don't do this as much as I should. I really should do more and more of this, but the networking effect has been great, right? I've been able to get uh course creation opportunities from that. I've been able to get uh job offers because of that. Um, it's and it's not because I'm special, right? I I set out to do this when I tell people about why I started Dev Leader back up after taking a 10-year break was because I saw other content creators and I said, and this isn't like uh meant to be insulting to them, but this is just the thought process was like I can do what they're doing. They've been successful like they're good at what they do, but they're very consistent. They've been doing this for a long time and they kick ass at that because they've been doing it for a long time.
I said, I can do that. So, the whole point is like I'm not special, but I've been doing this consistently for 2 and 1/2 years now and I have like over 600 videos on YouTube. So, it's pretty hard to get worse at doing something when you consistently do it. But it takes consistency, so I do it. So this is just the content creation part, but I love to build stuff outside of work. I attribute like all of my like I shouldn't say all in terms of my ability to program and build software and things like that. I attribute most of that what I know, why I build things the way I do because of building stuff outside of work. because I would go build stuff for fun and say like, I'm going to go take this pattern that, you know, people say don't do it. I'm going to build a whole project and build it that way and do it.
Or the opposite. Everyone says use this pattern. Okay, I'm going to take it 110%. Right? Not because I think it's a good idea, because I'm trying to learn where it starts to fall apart. And I learn by doing, personally. So these are, you know, just things that I over time practice, build things in different ways, try to get different perspectives on how software is put together. And then for me, that's one of the best ways that I've been able to learn for programming. So my recommendation, like hinting at this earlier, my biggest one is going to be like build stuff. And this is where you go, okay, well that's the most generic advice I've ever heard. Yeah. Because a lot of this stuff is situational. So I say build stuff, but now you get to pick like what do you want to focus on? Is it like I said and you just want to understand, you know, different design principles or like where things fall down?
Like I'll give you a random example. You've heard people say TDD and you're like, I don't even know what that is, but it sounds like it's a cult and I'm not interested. Well, go build a side project and force yourself to do TDD for absolutely everything. Literally everything. Make yourself do TDD. TDD and just see. Right. Maybe it's a terrible experience and you're like, well, at least I know I don't like that. Or it's terrible for some things and great for others. Or it's a great experience overall. You're going to learn. You're going to learn something. But that's TDD. now pick something else, right? Like I I did a project at the beginning of the pandemic a few years back and we were building I think the idea is great. I've talked about this on this channel but like you can steal it but invite me.
Um, we called it Hangry and it was Tinder but for restaurants and you could basically like would you want to go on a date like with your significant other or if you're trying to like go for lunch with your colleagues or something and no one can pick, you'd use Hangry and you basically have a Tinder-like experience where you swipe on places to eat that are nearby. It's a great idea. It's awesome. It'd be so much fun. And I was like, I'm going to build this with the only thing that I know is C. everything else I'm going to pick. It's different So, I was like, I don't know Firebase. People keep talking about Firebase. I'm going to use Firebase. And we need uh So, I didn't use a Firebase database. I use it for authentication. And then I picked a database. I was like, I've never used MongoDB before.
I'm going to use I don't think I had deployed to AWS. I'm going to deploy to AWS. So like just got to try all these things. I I was using um Zamarind for for doing crossplatform development. I think I had I don't know like was Zamarind around when I did this before? I can't remember. But anyway, I don't I rarely do mobile development. So even using Zamron if I had touched it before was going to be a unique experience. So for me it was just like I'm just going to go try all these things and I'm acknowledging that it's not going to be effective but I'm going to learn a lot. So you could go learning technologies this way. You could take something and go build a side project that you want to open source or maybe you want to close source whatever but build something where you want to productize it.
Right? And so I'm doing that with brand ghost on the side right now and that's teaching me all sorts of things around if I want to have a business like I know how this works from being at startups but I'm realizing all the things I'm terrible at. Like I am very uncomfortable trying to sell and market things. Right? For me to talk about it on here I'm like it's easy to talk about here because I'm not selling you on it. Right? Odds are most people watching this channel are not the core customer of brand ghost. So I don't feel like guilty or like doesn't feel gross for me to talk about it. But as soon as I'm like wanting to approach someone where I'm like I think that you would benefit from this, I start to feel grossed out. But why? I'm trying to, you know, provide them something that I truly believe is going to help them.
Shouldn't that feel good? I'm just trying to help you. There's a there's even a free tier. It doesn't even cost you anything. So, I have to work on this kind of thing. But that teaches me things that I need to be better at, right? And if you're wondering, well, okay, well, what does that have anything to do with software development? Well, one, if I wanted to do a business on the side or make that full-time, I'm going to have to be better at that. Number two, when you're better at trying to sell people on things, you're better at pitching ideas, you're better at trying to understand your target audience, that's a very important skill to be able to have as a software developer. Imagine trying to go to a different team and you need them to collaborate on something. And every team's got their own priorities.
So, how can you sell them on the idea that being able to work with you on something's going to be beneficial? You need to understand what's in it for them. try to navigate this kind of thing. So, I think personally that if you're trying to skill up that one of the best things you can do is build stuff. And that just means that you're going to have to figure out what areas Oh, no. You can't merge into the same spot physically. It's uh not going to work. Um, you get to pick on the things. You get to pick the things that you want to improve on. Not pick on things. Sorry. Now, the one other thing I'll add into here, and this is going to sound backwards because I make this kind of content, and I feel like I still don't necessarily advise that you make this like your core focus.
It's like when it comes to blogs, videos, you know, things like that, like resources, online tutorials, I would strongly encourage you to not say, "Well, I'm going to try to improve. I'm just going to only read or only watch tutorials or something like that." I do not think that that is a um stellar strategy. I think that that is better than not doing it at all. So if the options were do nothing or do those things, I think doing those things is better. Again, if your goal is to try and build up some skills and experiences, I just don't think that it's as effective as people want it to be. So to give you an example, when I make tutorials on Dev Leader, my main channel, my goal with that is not I hope that someone binge watches these and then they become an expert after cuz I don't have that expectation.
My goal is like I'm making videos for people when the tutorial ones at least who are stuck and they need guidance. I'm trying to solve a particular problem they have. Great, right? And if they like my content, they like what I'm talking about, they like how I deliver information, maybe they'll stick around for other videos that aren't even tutorials. Or in the future, they'll go, "Hey, that Nick guy, he did a good job on this thing that I was stuck on. I wonder if he has something else for this other thing I'm stuck on now." Like, that's what I want to be able to do. Um, I don't have the perspective like you binge watch my videos and you will just be an expert software engineer because it just just doesn't work that way. So I personally like for myself right I will watch videos and stuff online.
I'll check out articles. I use this more to discover topics, right? Other .NET YouTubers, if I'm trying to learn about stuff in the C and .NET space, I'm like, "Oh, I've never heard of that package." Cool. But not like I'm not trying to give them watch time, but generally it's like, "Cool." Like, I learn a little bit about it from them and I jump away from the video and I'm like, "How do I go use this?" Or I'll make a note and I'm like, "Follow up on this for the weekend. Go see if you can build something with it. I did this with Sarah log for the longest time ever. I was just using log fornet. Why? I have no idea. Just because every time I'd build a project, I just pulled it in. That's what I knew. And then everyone's like, "Oh, you got to use Sarah log.
You got to use Sarah log." I'm like, "I don't care what like I have log for net." And then I tried Sarog. And I'm like, "I should use Serogg." Um, but this is just because I was getting exposed to different ideas, but the videos and the articles weren't the thing that solidified the understanding. I was like, now that I've heard about this, I need to go use it. So, for me, that's how I approach those types of things. Um, you may be different. I just haven't really run into anyone that has had um you know what they would say they they learn better from not doing but just from learning and wa or from watching and reading. I just don't Yeah, I don't think that's statistically going to outshine like uh building stuff. So, but I think that's mostly it. I think building stuff is going to be the way um to improve directly on like software development skills specifically like the technical ones.
Um I kind of hinted at it that you know if you're building stuff on the side maybe it is like a passion thing for you. Maybe that does turn into a business. That could be super cool, right? For me, that's Brand Ghost. I use it for all my content creation. Um, if that's able to transform into a a business someday, that's like, you know, I don't have to work for someone, super cool. But like, I'm not I'm not like actively trying to do that to quit my job. I'm not like rushing home and I'm like, "Oh, I hate Microsoft. I want to got to code my way out of this." just like no, it's uh I think it's helpful. I need it for myself. Other people are finding it beneficial and if that goes somewhere, that goes somewhere. That's cool. We were talking about this at lunch.
I was talking with some of my employees on my team and um talking about building side projects and stuff like that and totally encourage it. Yeah, why not, right? You want to go build stuff, you want to be creative, you could monetize that. Awesome. Why not? I think it's super cool. Am I afraid that someone's going to build something and then oh no, now they're going to quit because they built something awesome. Nope. I think if they built something amazing and they want to pursue that, I would be so happy for them. I think that is so cool. I'd be envious for sure. I'd say very jealous that you get to do that. That you get to go build something that you're passionate about and it's making money for you and that can be your career. Hell yeah. I'm going to be jealous. Go do it.
Go kick ass. Does it suck that you have to leave the team because that's what you want to pursue? Sure. But that's that's my problem. That's not their problem, right? I want to be happy for them. So, I I think there's a lot of good things that can come from building stuff. And maybe just to wrap up this video with uh the reminder from the beginning, right? Don't let this consume you because if your life on repeat is just like how do I get better to get to the next step and you're not appreciating the um sort of the journey that goes into that. The the part that you enjoy is not going to be at the destination, right? You're not going to arrive at some level at some big tech company and go, "Aha, there's the happiness." Right? It doesn't doesn't work that way, unfortunately.
That's why people that focus on things like that generally are perpetually like unhappy because they always want whatever the next thing is. Um, so don't become obsessed with it. I think it can be awesome to want to improve. I think that's great, but you do have to remember periodically you got to get outside. I don't like going outside. Um, go play video games. Go spend time with your your friends, your family, right? Do those things, too, cuz uh sometimes disconnecting, being able to relax is maybe what you need. But thank you so much for watching. If you thought this was helpful or interesting, please feel free to share it back to Reddit. I would really appreciate that. Um, otherwise, if you want questions answered, leave them below in the comments or go to codemute.com, send in your question, and I'll answer it for you. Take care.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- How can I effectively improve my software development skills outside of work?
- I believe the best way to improve your software development skills outside of work is to build things. By creating side projects, you can experiment with different technologies, design patterns, and approaches to software development. This hands-on experience helps you learn by doing and understand where certain patterns or tools work well or fall short.
- What non-coding activities can help me grow as a software developer?
- There are several activities outside of coding that can help you grow, such as joining Toast Masters to improve public speaking and confidence, participating in team sports or group projects to enhance collaboration skills, and volunteering to tutor or mentor others. These activities develop soft skills like communication, patience, and teamwork, which are essential for career advancement.
- Is consuming tutorials and online content enough to become a better developer?
- I don't think only watching tutorials or reading articles is the most effective strategy. While it's better than doing nothing, I use tutorials mainly to discover new topics. The real learning happens when I apply those ideas by building something myself. So, watching content should complement hands-on practice rather than replace it.