A common theme of question that comes in: What advice do I have for junior developers or interns? Let's discuss!
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
okay we are going to LinkedIn for a couple of questions that came in um so two people asked this question in slightly different ways and I figured I'll answer them both at the same time so one person had asked any advice for new coders and then the other person had asked what traits make a great entrylevel intern engineer and how can I make a good impression so I'm going to try to answer them both together um because they're probably similar and I feel like you know you could go more specific on either one but the reality is like hopefully I can give some general advice that will be helpful um so if you have questions that you want answered leave in the comments below happy to try and answer and of course uh you can do as these people did look for Dev leader on
social media or Nick Cosentino on LinkedIn send me your message uh I will keep it Anonymous like in this case I didn't say their names U if you send the messages they're Anonymous and you can add more detail so more detail helps me these ones are kind of general which is totally fine it's because they were part of larger conversations but they're kind of just tacking on these extra questions which is uh you know again happy to answer general ones too so um where to start with this I'll give you a little bit of background so that if you're if you're new on my channel and you're like well who's this who's this bald guy talking to me um I have been an engineering manager for about 12 and a half years now um prior to Microsoft where I'm at right now I worked at
a startup and I actually had interns for almost the full eight years that I was there like around the calendar um so it wasn't just like summer interns but we'd have just interns all the time which is great um so there's that I was an intern myself I had six internships in University so like 24 months of uh being intern so this person is asking about entry level intern or like you know being a just a sort of Junior engineer and then the other person's like advice for new coders so I have like I was there um I was an intern and then on top of that like having to navigate onboarding people that are very junior is something I've spent a large part of my career doing so um even though now like at Microsoft I'm a principal level engineering manager I have you
know teams of people I have principal Engineers on my team have senior engineers and other people on the team that can help do the onboarding now something that I've always kind of kept close to me is being able to try and help new people it's literally the reason that I'm doing this right now I want to be able to try and give back how I can uh at Microsoft they have something called early in career mentorship circles that I've signed up for doing uh year-over-year I was about to stop because I saw that there was another opportunity for um management what is how does it work aspiring managers so I thought that I would be kind of put into the same program but for aspiring managers but it was actually like a very short program so now that I realized that I'm I'm going to
go back to doing uh both I'll do aspiring managers for a short period when it runs and then early and career mentorship but I do this kind of stuff because I have experience with it I enjoy doing it I like being able to help out people that are starting out and they're like feeling kind of lost and I like doing that because I've been there and I have seen other people going through it and for me I would say the thing that sticks out is like when I watch other people go through and they're struggling um there's some things that I feel like man I wish if I could explain this better or like make it more clear for this person like I could I could help help them through a lot of what they're struggling about right so for example I've talked about this
in many videos people like getting blocked because they don't want to ask questions like okay I observe this a lot how do I make sure that I can teach people when they're on boarding like you know you're new because you have you know you're you're fresh out of school out of boot camp selftaught whatever it is but you haven't worked before and that's totally fine how do I make it clear to you that you need to be asking questions like we want to be answering your questions we want to help you um so like just you know quick example of like I like doing this kind of stuff because I I want to be able to help people kind of make that breakthrough for themselves because if I can help them get through those little roadblocks sooner they're not little for them um but in
the grand scheme of things I'm like hey this is something that we should try to address early you know get you you know rocking and rolling sooner and uh to me that something that I just really enjoy so that's the Preamble I'm really good at rambling so now how do we address good things for juniors to start doing so let's start talking about coding because that was one of the other questions if you're new to coding in general um I would say my number one piece of advice and it probably sounds like a broken record now but like you have to be and what I mean by that is not okay cool let me go watch a tutorial pause the video copy the code or go through the article copy and paste everything over so that at the end of the the video or at
the end of the article you can press play and it just works and the same thing not that I'm against AI but the same thing if you're like hey chat GPT or hey co-pilot go um go make this thing you copy and paste the code and you say hey it runs look I look I'm learning look I've built it um that's not what I'm saying to do not that that's wrong to do in general but that's not how I think you should be spending your time so if you're a new programmer I would say I would want you to be spending more time trying to build things getting stuck trying to build things those things can be almost anything you can and should start small build simple console applications Build You Know download a template for uh I don't know if you're building in like
asp.net like a sample web application or you can find any kind of starting point and then just try to build stuff they don't H it doesn't have to be anything fancy don't try to get users just try to build something and if you're like I have no idea what to build go ask chat GPT for ideas like it's a great tool just to be like hi like I'm a new programmer like I literally recommend you try this if you're like Nick I get stuck and I don't know what to do just do this right I'm a new programmer what language do you want to learn I want to learn JavaScript I would like to try building a web application um and I want to do I want to be able to make sure I can practice full stack and and then throw in some interests
like I like I like hockey I like Pokemon and um you know I'm a big movie buff give me 10 different ideas of things I could build right and then you get some ideas and you're like okay I have no idea what heck I'm doing here how am I going to build any of these but then just like basically pick an idea that it gives you and then say okay cool like how do I like break it down into smaller pieces because this is the key break it down into smaller pieces you can ask for help doing that but once you find something where like I think I understand like this part is just like I need a very simple web service and you're if you don't know how to do that like again you can go find an an example for how to get
started on it there's nothing wrong with that but my point is that you don't want something to guide you through step by step the whole way where you can just copy paste you need to try building things and getting stuck and it sounds like I know for some people hearing this we're like that sounds dumb because I can just get the answer and I know you can get the answer way faster than I used to be able to get because you can just ask AI for it now whereas we had to go use stack Overflow make sure we knew the keywords right here's the error I'm getting someone hopefully has seen this um so I get it yes you can get the answer but the the goal of like the learning process is not just to get the answer the fastest way which would be
ask asking a person asking stack Overflow asking AI That's not the goal the goal is that you're like getting stuck in understanding so that you can make that breakthrough it's okay if you get stuck on something and you're like I have to go watch a YouTube video on this part now can see how to apply it now I will go apply it there's nothing wrong with that but if every step that you do you don't try anything and you just get an answer that you can copy and paste I think that's going to I don't want to say there's no learning involved in that but I think that you're going to find that um it feels hard to go build things now my perspect I've talked about this in other videos too related to AI my perspective on that might change over time if people
just get so good at prompting and AI becomes sufficiently good where you can just keep doing that and keep building things I I'll be happy to eat my words like I am trying to keep a very open mind about this but at least what I'm seeing right now I would highly recommend you get stuck trying to build stuff so that means don't just go hey I'm going to go learn today let me find a tutorial and copy the code step by step I just don't think that that's going to reinforce a lot of the patterns that you're trying to get and those take time and experience so put in the time and get the experience that's my number one piece of advice for for new coders I recently made a video um on the difference between uh coding in school versus coding on the job
that's on code commute uh it's also going to be the topic of a live stream I guess depending when you're watching this um this should hopefully go out on Monday February uh 3rd and that's going to be the topic of my live stream on dev leader which is my main YouTube channel and it's also the newsletter article I wrote for uh Dev leader weekly so if you check out my newsletter uh weekly. deev leader.com of articles are totally free so um you don't even have to subscribe you can just go to weekly. D.C and read them as they come out um but those are usually my live stream topics on my main Channel but I thought that one would be a good one if you don't if you don't want any of that just go watch the other video that's on code commute that talks
about this it was put out recently so um the main idea there is that like how you are learning things in school is going to try and teach you concepts for how code is structured versus on the job is going to look different so I would say if you want to get a bit of a head start for like coding advice for work I would say get used to navigating other code bases get used to changing existing code so you built something and you're like cool I followed the tutorial and it's done I would say don't stop there now you have a code base go change it all right go change what you whatever you did go change it so you can add new features go change it so you can use a different database go like just start making modifications to it because you're
going to be doing a ton of that a ton of it when you're building stuff in the real world in fact you'll likely spend most of your career working on existing systems versus building them from scratch so go figure out how to how to performance test it write benchmarks for it refine it go figure how to write unit tests or functional tests on it go figure out how to deploy It Go add features like I said right like all these types of things you can go do and I recommend that you do that because you'll be practicing like real things that you'll be doing versus just let me go to the next tutorial and and copy it step by step someone's already done the work for you that way that's kind of what I'm getting at so um I think that's probably my advice on
uh if you're a new coder so maybe let's kind of switch gears over to the other part of this question it's from two people right so um what traits make a great entry level intern or engineer uh I would say uh being curious and wanting to learn um goes a tremendous way because one of the things that is kind of challenging is that when we take on interns um or if you're like a new hire right so say you're you're not an intern but you're just you know Junior developer that's been hired when when I as an engineering manager when I'm trying to like put work in front of people to say hey like here's a task we need you to work on um the the reality is that over time I need people to be learning about the domain that we're working in so
for example at Microsoft at this current time I work on the routing plane for um for Office 365 and and what we call substrate so if we're working in this area if like people aren't curious and they're they're very narrowly focused on whatever we put in front of them it's probably going to be like kind of tricky for them to to be able to grow into other areas of the team and I get it right away that might not be expected it might be overwhelming but I generally find that very curious uh interns or very curious new hires um it goes a long way so um they ask a lot of questions and it's not it's not um I want to kind of frame this up they ask a lot of questions to understand things right so you can ask for help I'll talk about
that in just a moment but they ask questions because they're curious so I think it's great when I get messages and people or like I can see the team chat and it's like hey how does this work like I'm or I'm curious I know that we do X but like have we talked about doing y or like why don't we do Z and like just talking like asking questions to be curious I think it goes a really long way um and I realize for some people like that could be you could be a little bit nervous about doing it you might not feel comfortable but like I if this person was saying like what traits are good I would say being curious is a huge a huge one I think it's great um kind of layered into that though is like this idea where you
like want to be learning so people that are eager to learn or eager for challenges I think that that's also a great trait you have to balance it with like not taking on too much stuff like oh sure yeah yeah like I can take one more thing I can take one more thing generally don't want to fall into that trap but the idea of like you know you got something done and you're like hey like I would want to try the next challenging thing thing like I thought that went well or or that was challenging but I enjoyed it like is there something like this or another advancement in the challenge like I think that's uh that's great um it's the kind of thing like again as an engineering manager I'm trying to gauge these things I want people to be able to take on
work that is challenging and engaging and interesting it has to be aligned with what the business is doing of course but when we're trying to figure these things out I don't want to overload someone with stuff and they're like Nick like I feel like I'm like underwater trying to keep up with this CU it's just over my head or there's too much um so I want it to be challenging but not overwhelming and when people are like interested in learning and growing and being challenged like they're a little bit more proactive and kind of presenting that to me which makes it easier for me to say look okay this person uh if I'm not observing that they're overwhelmed they're they're also telling me hey I am not I'm actually eager so that makes that a little bit easier um on the I didn't want to
forget about this part on the topic of asking questions instead like not just the be curious part because I think that's important um I think a really good trait is to be asking questions to get unblocked I've made many videos about this I will try not to just repeat everything because if you're like hey like what are you talking just look for other videos I have on my Channel about like about new new develop V opers and or interns and asking questions and stuff you'll find videos on this watch them in two two times speed if you don't like that I ramble too much I'm not going to be offended um but the idea that um and I see this more with like more remote work but people seem to be very hesitant to ask questions maybe it's they don't want to seem stupid maybe
they don't want to bother other people maybe all the above maybe whatever else but like some of the best interns or new hires that I ever had are the ones that are like cool like I'm stuck I've tried a few things out I'm and I I'm I'm blocked right like I'm can ask for help like right away uh instead of hey like we're doing our weekly check-in and someone's like yeah I've been stuck on this for a week and I'm like oh like what like you so I know you've been talking with your intern buddy you didn't even bring that up with them you waited a full week to come talk to me and like you felt comfortable talking to me about it thank you but like why did you wait a week you know like this is the kind of thing where I've noticed
that when people and when they answer they're like oh I was didn't want to bother anyone or I just didn't know what to do um I just like need to keep reminding people please like if you're stuck we want to get you unblocked I do think that you need to do a little bit of homework so if you're first of all if you're not sure you need Clarity get that Clarity right away there's not really a whole lot if you just spend extra time on that you're not going to get a whole lot lot out of it if you're not even clear about what's being asked of you so if you're not sure and you need Clarity get that right away now if you have other problems you know what you're supposed to be doing but you're like how do I do it or like
what's the best path or spend some time on that you can time box it but spend some time that way when you ask for help you always want to be in a position or if you're not asking for clarity you can say or you can be ready to answer what have I tried or what have you tried so far right try something first then go ask your questions people will really appreciate it and I think back to what I said earlier about getting stuck on stuff you will learn you will get better at problem solving because you're practicing doing things on your own and then of course go get help people want to help you they want to get you unblocked they want to get you to being a performant member of the team because that means you're going to help everyone when you're also
performing so keep that in mind but my piece of advice there is um please don't um hesitate to ask for help um I think so many people are afraid of bothering other people there's strategies around that you can uh you know balance between who you're asking for help you can literally tell like ask people hey look like I I know I've been asking you a lot of questions like I don't want to be bothering you is there can I do this in a more effective way do you want me to group up my questions uh do you want me to maybe they don't want you to call them they're like yeah like you can ask them right like email them to me send them in chat or maybe they're saying like hey you know you send me a lot of messages and I want to
be able to help you maybe schedule a call with me at the end of the day group up five of your questions send them at the end of the day I'll carve out 30 minutes I'll get you unblocked like you can ask people about this if you're concerned and it sounds funny right but people don't do this but like why wouldn't you if literally if someone messaged me and they said hey Nick I feel like I ask you a lot of questions and I don't want to bother you is there some other way that I could be doing this so that uh I could you know make that uh more effective for you or a better experience for you I would love to be able to answer that question and give someone feedback most of the time it's probably you're not like it's totally fine
do whatever you're doing um but if I had someone that was honestly asking me a ton of questions and it was taking a lot of time I would just tell them what would work most effectively for me that's going to help me and it's going to help them so people don't seem to have conversations as much as they should but we're software Engineers right we don't talk to people um so more advice for new coders don't forget about your soft skills uh everyone is very very very focused on your technical skills what language you know your Tex stack all these things your your lead code stuff um but the reality is like a lot of people forget about soft skills and you might find in the beginning as a junior engineer you're like ah whatever they're just setting me up with these smaller tasks anyway
it's fine you will find in your career I promise you that your soft skills are going to be very important so try not to forget about them as you're trying to grow um so if you're the kind of person who is pardon me like shying away from things like I don't like participating in any of the design conversations or we do like a team retrospective I never say anything uh stand up I never try to like say anything I'm always trying to avoid interactions I just want to remind you that like those things are not going away they may change they may look different but you will be interacting with people so if you're strategy is let me avoid all interactions I'm just here to remind you it's probably going to back fire at some point but you can find effective ways to work with
others you can learn about these different things and you can practice right so um try not to avoid that um I would say also some advice for beginners or like interns um be clear about um like time Horizons so let me try to explain this a little bit more I'm the kind of manager that I don't like to micromanage at all because I've seen it many times happen I have been micromanaged before and I have wanted nothing else but to stop working entirely because I'm like I don't have any autonomy anymore like what am I even doing if you're going to micromanage me to this extent you might as well do the work that's how it feels so I never want to micromanage people it's like a and it's almost like a problem where I I get nervous that people may feel certain way if
I try to to manage in different directions so I almost always over index the other way so that people don't feel that way and what I have found I've talked about this in other videos too is that sometimes Junior developers actually do want to be micromanaged a little bit and it sounds funny because some people are probably hearing this and saying we don't absolutely not but what I mean by that is being more explicit about timelines having them uh more frequent and having more checkin points specifically so a lot of times there's confusion around like am I on track am I doing work at the right pace so you can either be guessing about it or as I've had conversations with people when they're concerned about it I just say like how would you feel about you know if we set up some mini milestones
and we set them and they're not carved in stone so like don't panic if you're a day late or something but these will be your opportunities to say Hey look I know Nick we talked about this being done for Thursday but it's Wednesday halfway through the day already and like I'm still partway through this and I don't think it's going to make it great and when I say great I'm not being sarcastic I mean great thank you for letting me know because now we can see if we need to Pivot this it's like raising awareness about this kind of stuff is so important and um people just seem again people shy away from it I think because they're worried that if they're not exactly on track like then they're behind and they're a terrible employee software estimates are basically always wrong so um they're nice
for being in my opinion nice for being able to communicate an expectation and then use it as a marker for hey look like we said this we're not doing this we should talk like it's just a really good conversation starter so what I would recommend is raise awareness of this kind of thing you may find that you don't have clarity about timelines talk about it ask questions about it see if you can work with your manager the product owner to have more concrete Milestones when should I have um this investigation when should I have this code up for review how long should it sit in review how long should I be waiting to like flight my changes out to be tested like whatever the process happens to be where you're working try to get some clarity around that so that you're not like oh man
like it's been a week and like uh my code's not even in review yet am my on track I don't know like I I can't answer that for you but it might be that your manager put you on something and they're like I just want you to spend a little bit of extra time learning the code base and the domain here so yeah like it would have been sweet if you could have finished the work in a week but like no sweat I actually want you to go spend more time learning stuff if it takes you another extra week because you are talking to people on the team learning about stuff maybe that's what they want we won't know unless you go have a conversation with them so talk raise awareness about timelines and stuff to have that clarified for you I think that can
make a big difference and then that way you're not sitting there especially if you're remote going like am I like am I doing the right work like am I performing well a lot of people seem to be concerned about this so talking helps um I think for now that's probably it to get started um I have plenty of other advice like Beyond just getting started but maybe the final thing I'll say is like get to know the people on the team at a minimum right learn who the subject matter experts are learn about their experiences on the team because you'll find that like having a network that you can rely on is very helpful so you're not going to be an expert in everything it's kind of the reality of it that's fine but when you need help you need to go solve problems knowing
who you can go talk to is going to be a big timesaver um so I just recommend that you go do that and plus the more time you spend getting to know your colleagues your peers your teammates likely the better work interactions you're going to have with them because you understand kind of like how they operate and uh that's back to soft skills so I hope that's helpful that's where I would start um if you thought that this was helpful um you can share it I think that would be super helpful for me I know that I've been trying to go to Reddit to answer questions and stuff but I don't want to post links to my stuff because I don't want people to ban me from subreddits because it's already happened so um if you thought it was helpful share it on Reddit share
it on LinkedIn share it on Twitter um helps me a lot uh I do appreciate that and of course if you have questions you want answered comments or look for Dev leader on social media send me a message I will try my best to help you out thanks I'll see you next time
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 is the best approach for new coders to learn programming effectively?
- I recommend that new coders spend more time trying to build things and getting stuck rather than just copying code from tutorials or AI tools. Building small projects and breaking them down into manageable pieces helps reinforce learning and develop problem-solving skills. Getting stuck and figuring out solutions is crucial for making breakthroughs and gaining real experience.
- What traits make a great entry-level intern or junior engineer?
- Being curious and eager to learn are the most important traits I look for in entry-level interns or junior engineers. I value people who ask questions to understand the domain and show interest in challenges without becoming overwhelmed. Proactively communicating about workload and progress also helps me support their growth effectively.
- How should junior developers handle asking for help when they get stuck?
- I encourage junior developers to ask questions as soon as they get stuck after doing some initial homework to try to solve the problem on their own. It’s important to seek clarity if unsure about the task and to explain what you have tried when asking for help. People want to help you get unblocked, and effective communication about your challenges makes it easier for the team to support you.