I get asked this *all* of the time -- but my answer might not be the same as what other people suggest.
I think there are two major areas to focus on when it comes to building projects as a junior developer:
- Which ones are going to keep you interested in learning
- Which ones I would care to see on a resume
Spoiler alert: I don't care if you have users for your app. I'm happy for you, truthfully, but that's not the thing I care about when hiring.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
it is Wednesday November 27th um I'm back in this laner vehicle because my wife's SUV needs to get AC fixed this thing is awful I can't stand it uh it feels like there's no power steering in it that's the only way can explain it it's like no power steering there must be uh I've driven I've been in a car without power steering and it was a absolute nightmare but this is it feels pretty rough um there's no power like I don't know if you guys can hear when I record normally but like if I put my foot down right now if it's flat there's oh I mean there's no sound you probably can't feel anything through the camera can you um but yeah it's it's pretty rough um that's how it goes I guess uh I got to turn the temperature down in here because
it's probably close to a million degre cool and then there's no like there's no GPS there's no phone holder so my phone is in the cup holder down here so if you see me glancing down at the floor it's because I'm trying to figure out where I'm going going um kind of ridiculous anyway that's what we got going on today um I wanted to talk about projects for um new hires and stuff like people looking for jobs so this is a question I get all the time uh someone had asked specifically for this channel to be able to go over it so I am going to do that uh I going to start by explaining that I have my own views on this obviously I'm not um I'm not responsible for hiring at every company but this is my take on things and this is
the guidance I give and what else uh should mention if you have topics that you do want covered just comment about them or find me on any social media platform you want and send me a message if you want to uh write it sort of like so that I can cover it anonymously uh if you have a lot of detail and you're like hey but like I just don't want to leave a comment in public can you talk about this scenario just send me a message happy to go over it I've had uh I've had people add me on LinkedIn I've had people add me on Twitter and stuff and send me messages so feel free to do that it's totally cool um cuz I you know I would it's nice to be able to talk about stuff that you want covered and that makes
it more valuable so okay so the two ways that I look at this for projects are going to be things that stand out on a resume and uh the other side of it which is things that are going to teach you things um I look at these things differently uh sort of like how when I talk to people about kind of getting their first role I always say like there's three phases which is going to be um like standing out so that people will uh give you the interviews then there's the interview process itself and then there's actually starting your job and unfortunately those things are very separate I wish they weren't uh I need to this car is like a million degrees oh the seat warmers is cranked up I'm like I'm starting to sweat okay so in terms of the first part which
is like well I can't remember which order I set it in but I would I want to start with uh projects for learning um this is something I would say like if you have an idea of the space that you'd like to be working in focus on that everyone's like oh what programming language what tech what teex act which things should I build like sort of uh wrong questions in my opinion um I get why you want to know those things but like there is no best language there's no best project to go build first it just it these are they're just not things that exist and the the more time you spend like trying to answer those questions the more time wasted where you could have just been building so uh I recommend you go build literally anything uh in particular if if you're
like well I don't know where to start like pick um pick a hobby of yours I like I literally recommend this to people pick a hobby of yours um uh if you love playing Pokemon or you love Elden ring or you love something uh you love sports you love uh different musical artists movies anything pick a hobby that you like okay and then pick a platform that you want to build for if you're like I really want to build mobile apps and I'm like a movie snob or a food snob like anything right um pick a platform that you want to build for mobile web desktop um pick a hobby and then start making something don't think about like oh is anyone going to use this it literally doesn't matter assume no one's going to use it just assume no one's going to use it
like save yourself some time no one's going to use it that's not the point the point is that you're going to be building something and it's going to keep you interested that's why I suggest picking a hobby to align it to you don't have to but if you think about it you're going to be and this this is okay you're going to be struggling through some parts of it you should expect that because that's where you're going to be learning the most when you're getting stuck on things if someone just kept handing you answers over and over and over you're probably going to take a little bit longer to learn you might get further faster because someone's literally handing you answers but the goal of these types of projects that I'm talking about now is to be learning things so you do want to get
stuck you want to be puzzled by things you want to be challenged and then how are you going to go find the answer right so now that you're stuck okay maybe it's time to go watch a tutorial maybe it's time for stack Overflow maybe it's time to ask our good friend chat GPT okay so that's not to say that you can't be using these things along the way like you should be and like I don't know depending on your uh perspectives on these things like I think it's good to be using them personally uh I think there's only going to be more of them so like for llms for example nothing wrong with using an llm but if you're just asking the llm to like to Output the code and then you don't question it you don't go asking it like how does this work
you don't take the time to understand you're you're shortcutting the part that isn't even like you're shortcutting what the goal is of this phase the goal is learning so if you're just using the llm to dump code out um how are you how are you planning to learn right I'm not saying that it's wrong to use an L I'm saying for these types of projects you do want to get stuck you do want to get yourself out of that and I think personally the more that you are getting stuck the more opportunity there is to learn so you leverage a hobby to keep you interested that's why I I know sometimes it sounds like I'm joking but I know lots of people love playing Pokemon so I say it so that it it stick sticks out in your mind like why is Nick talking about
this um but you know it could be Sports you could say like I want to do I want to make a website uh and I want to have a DAT like a look up for soccer players and their stats CU you love soccer right like expect no one's going to use it but you love soccer so that's going to be something that as you're building it and you're like man like I can't figure out how to connect to the database or how to host it like this is such a pain in the butt like okay cool but at least soccer is interesting for you right so like it'll be a little bit more motivating to keep you pushing through and again if you're picking a platform that you want to build for that's good too because if you want to be a mobile developer and
you're asking online like what's the best project to build and someone's like oh you definitely need to build a react site with JavaScript you might be like okay well they said it's the best but it's not even aligned with like the direction that you want to go like I I just don't know why you would spend time on the learning part about these things that you're not genuinely even interested in so this part is all about learning okay so the example like I always share uh my project and it's something it's never been finished I've worked on it for like um the entire time I've been programming This Guy's in multiple Lanes nice job um I I started by making a role playing game kind of I think it's pretty common that uh a lot of early developers are like I'm going to build an
MMO or something for me it wasn't like a an MMO it was just I wanted to make a role playing game but I quickly realized I'm really bad with Graphics so I just liked building like the systems in a role playing game so like generating items and like things like that like for me that was like super exciting that I could have full control over building items or building uh complex systems to go calculate stats and things like that um if you think about if you're watching this if you played Path of Exile or you know of Path of Exile like there are things like Path of Exile is such a good example for this because there are so many ridiculously complex systems and for me it was really fun like this is well before Path of Exile to try going to build things that
were like interesting like that right so I would take inspiration from different games I was playing and then I would go like hm like how could I go try to make this in my role playing game so for example uh if you played Diablo uh Diablo 2 uh Lord Of Destruction had ruin words where you could take things you could take ruins and put them into items and it would transform the items into a special powerful ruin word if you did it right so I would take my role playing game that had terrible graphics and I would say how can I go build a ruin word system in this game right so I always used that as a Sandbox for learning things um I refactored it a million times over I Rewritten it a million times time over it's something that will never be done
it's likely never going to be played um this is unless I retire because I am obscenely wealthy and I can go build whatever I want I'm going to be building games if I if I never had to worry about money I'm building games for sure um I love I love video games so that would be what I want to do so I use that as the vehicle for Learning and uh only I would say in recent years I haven't because uh I'm trying to build other and this is like I've been programming for over 20 years and I still recommend doing this for people it's just that these days um I am looking for something that I do want to productize I am looking for that kind of thing so I am now that I have this experience I'm now changing gears a little bit
where uh it's a better use of my time to not just spend my time learning on a project that will never go anywhere because I could also be learning things and trying to productize uh but these are different things to focus on so this is a bit of a segue um I think a lot of people get caught up like how do I make a business out of it especially as someone who's just starting off and again I think the goal for these types of projects is to be learning so what is it that you want to be learning if you want to learn how to be an entrepreneur to sell a service like those are great skills but I can tell you that like I've been programming for many years and on the entrepreneurial side the sales the marketing like that stuff is extremely
difficult for me extremely difficult so when it comes time to making like I'm building brand ghost right and brand ghost is my uh my F business for social media automation um and it's like it's a struggle for me to go do things like marketing and sales because I haven't practiced those things it's very unnatural so could you imagine if you're trying to learn as a software developer and you're like well my goal is to go work at Amazon Microsoft Facebook uh or even I want to go work at a startup like I want I want to go work for someone else at a cool uh start start up that's like funded and stuff like that like that's your goal whatever your goal happens to be if it's not I want to sell my own software if it's not that could you imagine how much more
work and effort it's going to be taking away from just how do I build software to go focus on how do I find market fit how do I uh Market this in general to people how do I sell it like how do I do the cold calling or the cold emailing it's going to be nuts it's going to be such a distraction from actually building software so I'm not saying it's impossible and in fact people can be successful doing this but I just don't think if your goal is like I want to go into the workforce and work for someone I think it's a huge distraction yes there are valuable skills you can learn from doing it so it's not a waste but it will distract you from learning how to build other software just because you're spending your time doing other stuff if you're
dedicating all of your time to this kind of thing and some people might you might not you might be a lot younger not really have a ton of responsibilities like you don't have your a family to take care of in Terms of uh extracurricular stuff you're like whatever I just want to build software cool do it maybe try to monetize something that's cool nothing wrong with it it's just that if you are more limited on time I feel like it's going to be a big distra action so I hope that makes sense I know people are going to misinterpret what I'm saying in the comments and and be like I built something and had a thousand users and it was the best experience like that's very awesome for you and like I'm glad you did it but if people are just trying to learn how
to build stuff um I think that it's a distraction that's all okay um I'm how close am I to home 10 minutes I have to pick up something for my wife too so um I might wrap this up after this next topic um I think the next thing I want to talk about is like what you put on a resume and I think this is again probably be a little bit more opinionated like I mean the first part was already opinionated but like I think more people might disagree with this uh but I've been you know I've been a engineering manager for 12 years been hiring for all those 12 years uh I think that people often will suggest like you should be showing how you've monetized a product and stuff and like like these you want these flashy things like that on your resumés
um I actually take the exact opposite stance and I want to see uh like a a hobby project that you've been working on I don't even give a crap if it's been finished I don't care at all I want to see that you were building something and you spent time on it and that you were revisiting it refactoring it scaling it trying to do whatever with it because that's showing me that you're spending time actually building software it's not oh I followed a tutorial to make a calendar app or um you know a a to-do list if you were like hey I built a to-do list and then I extended it to go add all these other things and then uh I ended up refactoring it so that uh I could pick a different database technology or I switched I migrated the whole thing to
a different platform like I want to see that stuff because that's the most real kind of thing that's going to be happening on the job so I think some people get anchored to these things like show me that you've you know you built an app and you had users and stuff like again great experience super cool but I'm not hiring software developers to go scale my like my business or if I'm working like at Microsoft I'm not hiring people to go scale and sell and like I just don't need that so it's cool and it's valuable experience but it's almost like that's not what I'm even hiring for so I don't understand why people would put such an emphasis on it if you're trying to go to a startup they might say cool this person really does understand like what it's like to be in
startup mode and trying to like navigate things and uh they get it right because they were able to focus on things that were a priority they could add users so like I could see that value but like that's it's just not what I'm hiring for so um I don't know like I think that it's not it's not that there's no value cuz I think that's something else I want to clarify here it's not that there's no value in doing that but I would much rather see the details about what you were learning doing that um I I hope that makes sense because when I'm interviewing I'm looking for people that can adapt they can learn different things um they know what it's like to take software from one state and try to like I said refactor change it up extend it like I want to
see those experiences and the nice thing about that is like you don't need like a decade of experience to illustrate that you tried building something and yeah it wasn't going to be exactly as you planned so how did like what did you go do did you just scrap the whole thing and rewrite it if so why like tell me why I want to know because it couldn't be refactored but the next time you rewrote it you made it more flexible and extensible so the next time after that you might not need a rewrite super cool like that like that's what I want to hear like talk to me about those experiences to be able to say like look I have a successful app that makes uh you know $1,000 a month like I'm glad for you that that is cool but I don't I just
don't need that experience I guess so uh nothing wrong with it it's just not how I would prioritize it I think the word I used earlier was distraction um now I say distraction I probably want to turn there don't I G the turning lane only goes one way okay I got to turn around to go to the grocery store for my wife um I say distraction because I'm making the assumption that people have limited time and if you have limited time and you just want to focus on getting more experience building things I and and like trying to polish your resume like I'm looking for people that have been building things so if all of your efforts are like I need to figure out how to sell this thing or how to build the perfect product I'm like I just feel like you're spending a
lot of other time doing other stuff and those could be great experiences for you nothing wrong with that in fact compared to someone who's done none of this work you're light years ahead of them already so that that is great so it's not that it's wrong I just don't think that it's a the the right priority especially when I'm looking at resumés and trying to hire people um I just want to see that you spent more time iterating on things uh if you do have successful products and stuff that is cool um but you telling me how much you make from your app and how many downloads you got I don't care I'm happy for you but I don't care not from a not from a hiring perspective because that doesn't change anything right like I am happy for you but what am I going
to do with that right I just want to know that you can build software not necessarily that you can go sell and Market it okay let me go park I'm going to wrap up the video cuz I'm in a a Fred Meyer parking lot in a beater X1 here oh my God the mirrors don't go down there's no rear view camera this thing is I have zero concept of like what I'm parking right now it's just it's something cool I hope that helps that's my opinion on it um if you disagree you you can say it in the comments we can argue about it all you want and I'll see you there
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.
- What kind of projects should junior developers build to maximize learning?
- I recommend junior developers build projects related to their hobbies or interests on a platform they want to work with, like mobile, web, or desktop. The goal is to get stuck and challenged because that's where the most learning happens. Using resources like tutorials, Stack Overflow, or ChatGPT to solve problems is encouraged, but you should understand the solutions rather than just copying code.
- What should junior developers focus on including in their resumes to stand out to hiring managers?
- I want to see hobby projects that you've been actively working on, even if they aren't finished. It's important to show that you spent time building, refactoring, scaling, and iterating on your projects because that demonstrates real software development experience. I care less about monetization or user numbers and more about your ability to adapt and learn through building software.
- Is it beneficial for junior developers to try monetizing their projects early on?
- While monetizing projects can teach valuable entrepreneurial skills like sales and marketing, I believe it can be a distraction if your main goal is to get a software development job. If you have limited time, focusing on building and learning software development skills is more important than trying to find market fit or sell your product. Monetization is not necessary to impress hiring managers.