BrandGhost

Starting Your New Software Engineering Role - Engineering Manager AMA

This AMA will be based on the topics discussed in my newsletter: https://weekly.devleader.ca/p/ready-set-engineer-dev-leader-weekly TL; DR: - Sorry, LeetCode won’t save you now - The best answers for career progress: your manager - You’re in the driver’s seat of your career - Non-tech skills are more important than you imagine
View Transcript
e all right it looks like I'm live so this is for context the first time that I'm streaming to probably too many platforms at once I'm just doing a check across all my screens there's like five different copies of me lagging behind um I think LinkedIn is the lagging the most I'm live so this and it was also playing the audio and I don't want to have that happen so um yeah live is new for me so definitely not my forte but that's exactly why I'm doing it to get a little bit better at it you know I can't uh edit the video after and stuff I have to do everything all at once and try to appear natural and uh confident so good practice um kind of like when I started making YouTube videos totally awkward but you got to start somewhere I'm still always feel awkward when I film them so live is hopefully just going to help a little bit so this is on Twitter it's on LinkedIn it's on Facebook it's on Twitch YouTube um I didn't get Tik Tok set up in time but maybe next time so the topic hopefully you can see it in the chat um I do want to put the chat on this video feed as well um the topic is going to be the last newsletter that I posted so um you if you if you haven't subscribed to my newsletter go subscribe to it but the the topic is uh the third part of a three-part series I wanted to talk over the past month or so about uh people trying to land jobs in software engineering right and the goal of the the series was not to to really focus like on on how difficult it is right now in the in tech industry uh to get jobs right uh I understand that that's uh really complicated right now especially for a lot of people so um no you know not to hyperfocus on that in fact the the goal of that was to get you focusing on the things that you do have some control over so the idea was it is that it's a three-part series and the first part was focusing on what you can do to try and stand out right like there's a lot of people competing for jobs uh it's it's very difficult obviously to stand out so uh the focus of that was what you can do that's in your control and the next part of that so two weeks ago now that newsletter was about what you can do when you're doing your interview like what things should you be focusing on so as a software engineer um you know I I'm not a huge fan of lead code I make this pretty known um but I think that if you're interviewing especially in big Tech having some practice with leite code style problems is going to help so try to give you some advice on things you can focus on uh when you're going through interview what's important and then this third part uh today in my so what I'm going to talk about today and what my last newsletter was about is once you're hired what does that look like and just a shout out to mahammed on YouTube hey there good to see you thanks for joining um I should mention to please ask questions in the chat uh whatever platform you're on it's if i' if You' seen a a a screenshot or picture of my desk setup I have monitors in a like a basically across a wall so I'm trying to look across all of them to see the messages coming in um like I said at the beginning of this I'm very new to streaming so I will try my best to read the chat I do want this to be interactive please ask questions throughout um you know I'll stop when I can get a breather to to answer so ask that's the whole point uh I kind of uh interrupted myself there but the the Third part that I'll be focusing on today is is what to be doing once you're hired the reason that I structure this content in this way is that in my opinion going through getting a job in software engineering looks like three very different phases and I'm oversimplifying it by bucketing it into three things but I I like talking about it this way because the different things that you focus on in these stages look different because you're trying to accomplish something different so for example I like I like talking about the elite code part it's a little bit polarizing for some people I get it but I bring it up because you'll hear me say I don't think that Elite code is a great way to um to practice being a software engineer I don't think it's a great way I think building software shout out to John Cricut for his awesome newsletter I think building software is the best way that you can practice being a software engineer I think lead code gets you to practice a different set of skills and it's not that that's bad it's just that it's different and when I talk about the these three phases for going for jobs I think that there's a place for lead code unfortunately because I don't think it's a good translation into software engineering but I think that there's a place for it so the whole point of this is trying to get you to focus on different things at different points in the journey now when I go into this third phase when you started working so you've gone through the interview process you've you know congratulations for getting your job that's a huge accomplishment right um even if you are switching jobs you've already been employed it's it's very relieving to finally you know you sign your offer letter and everything you get to start that part's relieving but now you have a whole new set of exciting challenges to go work through and that's what I want to talk about today and I think it's important to address because some of the things that you focused on leading up to this point especially if this is new for you some of the things that you're going to be focusing on like all the lead Code Practice you we're doing it's sorry it's probably just not really applicable at this point for a lot of people right someone watching this at some point is going to say Nick that's totally inaccurate lead code is definitely relevant for my job sure like that's and I'm not trying to say for no one it's relevant but I think for a vast majority of people the stuff that you're practicing leading up may not be relevant anymore especially with the lead code part right I think system design stuff depending on your um the area that you're working in like that can still be very relevant um but a lot of the stuff that you had to really focus and practice on specifically for your interviews may not be relevant that's sort of an unfortunate side effect of how you know interviewing is right now um I'll come back to this in a moment good morning leite code versus master's degree which one is uh more weight for a job I'll come that in just a moment the idea here right is what should we be focusing on once we get our job so in my article I'm going to I'm trying to refer back to the article as I go through this because I I framed it up this way so that I could chat through it properly um one of the things I wanted to address at the beginning before I start offering advice is is calling out that like I'm not your manager and I tried to frame it up this way in the article cuz it sounds a little bit funny right um of course course I'm not your manager unless literally you report to me at Microsoft then then I'm your manager but the reason this is important to address is that the advice that I give you right in a lot of these contexts a lot of it it's difficult for me to generalize it for everyone right I can give you advice if you are reporting to me for the different things that I would expect right from my experiences my biases these are the things that I recommend and I think for anyone creating content or trying to help educate we all have this challenge where we have our own biases but I think if people aren't acknowledging them first of all like we all have biases that's a bit of an issue and the second part is that a lot of people hear the advice and they're not considering the bias you need to be considering the bias I can't tell you things and then you just say well Nick said it like it must be fact like absolutely not you should be questioning it you should be exploring it you should be trying to see how it applies to you so I wrote this in my newsletter I'm not your manager because recently there actually very relevant timing for early in career mentorship circles it's something we have at Microsoft um I had put off doing some of my one-on ons with uh the mentees I have because of timing right I switched to a new team I wanted to make sure I could dedicate as much time to that as possible so some of the the 101s for my early in career rear mentees they took a bit of a back seat tried to communicate that a little bit it's challenging right I want to make sure they have attention uh so finally got those scheduled this week it was awesome um I you know I wish I had more capacity a little bit sooner to start them but I realized this is my third time doing this with mentees and I started to you know hearing kind of where they're at and seeing if I can start giving them some coaching advice and I'm realizing like for the first time like I got to be careful here because a lot of the topics that come up these are people that are brand new in career right they've been at Microsoft for a few months now but probably their first full-time job in Tech right if they're asking questions about how do I interact with my manager like how do I make sure I'm on track with my career like how do I know that I have alignment with my manager all these things what do I talk about in one-on ones it's easy for me to say if you were on my team what I would expect right it's very easy this is what I do for work but I need to be careful with them to say look like you know if if I don't know what your manager is like if I don't know what your Team Dynamics are like your working relationship with these different people I need to be careful about what I suggest to you and as a result something that happens is that if I'm too careful it's almost like my advice becomes so generic where they're like what do I do with this right so we have to kind of meet each other Midway where I can say like look if you know what some of my biases are you know that I'm coming into this with my own perspective I want to make it generic enough and applicable enough to you but you kind of got to understand that and adapt what I'm saying to fit your needs a little bit right so I wanted to have that call out because I thought it was very relevant with this newsletter series I was doing with the the early Inc career Mente te um oneon-one so you know you do do I want you to acknowledge that as we go through this so even when I talk about the leite code stuff right that's kind of this next section to to drill into a little bit is that in my my newsletter I was saying look like some of the stuff you did in the past two phases which were getting the visibility which were uh focusing on your interviews some of that might just not feel applicable now so going back to this question that's on Twitch right so good morning leak code versus master degree which one weighs more for a job the the interesting thing is like depends obviously right um depends a lot but um I can tell you from my experience right for the people that I know that were trying to they they were applying to jobs uh so not at Microsoft I actually haven't hired people directly at Microsoft for transparency the teams that I've been put on to I was part of the hiring for Staffing up those teams so my experience will be prior to Microsoft just for transparency um I've hired people that were very much you know master's degrees I think I'm not sure how many phds but this is a a huge generalization so I'm trying to be careful here right I have found that sometimes people focus a great deal on the academics and there's nothing wrong with having like a lot of theoretical knowledge and academic background nothing wrong with that at all the challenge and it's the same thing with lead coat is that sometimes there is not a really good translation into working as a software engineer and it sounds kind of funny right like hear me out because I think a lot of us are kind of maybe if you're you know new in career you're going well or you're you're so new in career you're not even applying for jobs yet you're trying to decide like do I go the self-taught path boot camp do I go for you know a formal education these are big decisions to make personally I like I went for for University right um I was very lucky to have internships along the way that meant that I could apply practically what I was doing I think that was a huge asset at least for me and how I like to learn so when it comes to you know these options that you can pick like I think you have to consider number one what value do you want out of that right CU for some individuals it would be silly for me to say well don't go for for your Masters don't go for your PhD like no value in that if you like to learn if you enjoy the academic part of that absolutely pursue that right it's not for me to say if you enjoy like if you enjoy that don't go do it do I think that it translates very well into building software in teams from my experience from what I've observed and for context my experience is roughly um you know 2 years worth of internship Plus 8 years at a startup almost four years at Microsoft so about 14 years of working in Industry my experience has been that people that hyperfocus on the theoretical or formal education part like hyperfocus right beyond their their bachelor's degree and so on it can be challenging for them to to see like we're not building perfect code all the time right you don't have infinite time to go work on something we need to be shipping value I've seen that come up many times where people struggle with that on the lead code side of things and I see some messages coming in in the chat so I'll come back to this in just a sec um because I want to make sure I can engage with you guys but on the on the lead code side of things right it's it's again like it can be not universally I'm not trying to generalize too much but it can be a false sense of confidence and that's because I I'm trying to think I was thinking about this earlier I wanted to come up with a really good example to walk through right right um when you are solving lead code problems you are presented with a problem statement and you have to go Implement code for it now some of the things if you're like again hyperfocused on leak code I've done a million leak code problems I've solved every single one of them cool that's that can be really helpful for you practicing certain things getting your problem solving going so not trying to knock that what you're not practicing is how are you communicating with stakeholders how are you collaborating with teammates how are you debugging other people's code how are you doing code reviews how are you coming up with design documents how are you refactoring code how are you rewriting projects or deciding whether or not you need to there there's so many other aspects to software engineering that you need to be spending time on and I I try to get at this in as much content as I can because I was chatting ear with Anna Miller we had a really cool talk and this is going to go up on YouTube soon got to edit the bit of the video but the it's just it's really challenging to to have people hyperfocusing on so many of the technical skills the content I put out online right I I observe because I have analytics of things I see the uh The Impressions the engagement I can put out some C content can be very basic and I will have lots of people going this is awesome it's so helpful and then I will put out something that says something along the lines of I think that as someone who's been in industry for 14 years I've been managing people for like roughly 12 years I think that communication is one of the most underrated software engineering skills no one seems to read it no one seems to care and I'm going people like this is so important I don't know how to to make this more obvious right so I'm going to check the chat now sorry I'm terrible at multitasking cuz I'm just not used to doing this but um transitioning from senior developer to software architect uh transition temps I'll try to come back to this because I think that might be more relevant kind of going into more of the the meat of this um I see a lot of Bachelors and Masters finishing universities even computer science they have a really really hard time being a good developer um because their Unis were not focused on the right skills absolutely I do agree with that think the university which finished uh show it to faculty of Information Technology and mostar was quite balanced Technical and theoretical knowledge awesome otherwise I would think I would not have finished it so this is really cool thanks Muhammad for this for this comment um I've shared this with a couple of people right um I went to the University of water I when I was in high school like as a kid and stuff I love to program like once I learned how to do it I was like this is the coolest thing and I didn't know exactly like what I wanted to do when I like grew up I like I want to have a software company I'm going to or or technology company right not even a software company my father owned a company I'm like I have to do that like that's I'm going to do that when I grow up so I can be like my dad it seemed like the thing to do but I knew I like to program and I just remember my father said to me when I was younger hey like all of all of the money in hardware and I was like well that's awesome I don't know anything about Hardware but I do know software so if I go to university and I go for computer engineering maybe that's a good balance right I'll get exposed to some of the hardware stuff I can lean on the software stuff cool now I go to university in high school um I was I was pretty fortunate like I didn't have to try hard and I had like 95 and everything so cool um that was nice and then I went to University I was almost failing every single thing I hated University I could not stand class it felt for the first time in my life like school was always easy without having to try and I got to University and I was like what is happening right now like why can't I like why can't I pass like why does it feel like I can't pass anything I'm struggling so hard and I've never had to do this before and I remember going through this like every semester in school like kind of scraping by I think we had to have like a not an 80 average I think it was a 70 average was like if you had below 70 you weren't getting honors and because it was an honors Co-op program like then you would fail out I think you could fail like or have two classes below that or something I can't remember the details but for me I was like oh that should be easy like I'm used to having 90s and stuff and I remember going through and being like this is awful and I actually don't know if I can do well at this but what saved me to Muhammad's point in the chat was like I went through internships and every I had six internships every single time I was like and it was software not Hardware I was like this is exactly what I want to do I know that I want to be building software I don't care what industry it's in I don't care about the school finish it I just know that I want to be building software so very relevant thanks for sharing that um been doing leco for a month but I feel like it just to get a job um yes it probably will just be to get a job um yes there are some direct to work sales but not really doing much should just concentrate on a passion App instead um uh a mix so I would say I highly recommend everyone's different of course remember what I said at the beginning of this um highly recommend if you have time and capacity for it build things on the side I'll share a bit of an anecdote in just a moment um should you drop the lead code I don't think so like especially if you have not landed a job and you're kind of planning to try and get towards that I do think you'll want to have some lead code exposure um so I'm a at Microsoft I'm a principal engineering manager when I was transitioning like so when I got my setting up for interviews I started doing lead code every day for hours as a as a principal engineering manager right I figured I'm going to have at least one of my in big Tech multiple rounds of interviews at least one of them is going to be coding and at least one of them is probably going to feel like it's elite code style question I don't like those types of questions I've been programming for 20 years now at the time it would have been you know just over 15 and I still hate lead code style questions because I just don't think that they're applicable in most real life programming just at least from my experience throughout my career so I think if you can do both spend some time on lead code especially leading up for your interviews but if you can manage it try to get a passion project people ask like I don't know what to build if you check out my website if you check out my YouTube videos go search for project ideas and stuff I have some up you can ask chat GPT for for ideas right the goal with your projects I think a lot of people are like oh I need to have something super cool and flashy for my resume I'm like look back up a little bit you're not you don't need anything that's going to make money that's not the goal at all so uh drop that entirely unless you really want to focus on that but if you're trying to land a job somewhere don't try to make an app that's going to make you money you don't need to do that it might it might slow you down because you're stuck like what's a good business idea like that doesn't matter right now so park that um sometimes people are like what's flashy what's going to get attention I think people have different opinions about this this is where I'll share my my hiring manager perspective is like I literally don't care if your app even works sounds kind of funny what I care about is that you spent time trying to go learn something because if I see it on your resume and it's like I tried building whatever I just want to talk to you about it like what did you try to build why did you try to build it how far did you get where did you get stuck which technology did you pick did you go back and rebuild it did you refactor it why did you do that that kind of stuff is super cool and it's super cool because that's exactly what you're going to be doing when you're working right like that that's the goal you're going to be doing those things so having having the ability to have a conversation through that I think is super awesome so that's why I think you should be building stuff um curriculum yeah the I mean University learning this is something else I'll just kind of mention before kind of moving on here when you're this is probably the same going from elementary school to high school high school to postsecondary right at some part of that Journey you have to figure out how you learn which sounds kind of ridiculous but this is why I struggled in school in University I didn't know how I learned I just got really lucky that along the way I didn't have to worry about it I didn't have to worry about it because whatever was being put in front of me that was good enough that I could learn and do really well as soon as University hit I had information presented to me in a way that was not aligned How I Learned and I didn't know how to learn for myself and it took me 5 years straight of University because there was the internships in between that finally by the end like my last two semesters my marks were going up finally and it's because it took me that long to realize like me going to the lectures the way this was set up lectures made no sense for me at all because I would go there and sleep it's useless for me so I had to make sure like I had to learn how to study I had to learn how to take notes at home properly all that kind of stuff I had to force myself to practice because I never had to before you have to learn how to learn so yeah University College all that stuff will look different for different people uh I do want to come back to this uh the senior architect transition so let's move along here um the big point in this sort of second part of the article was really things like lead code might not be applicable as much um what was the other part here uh yeah like I think the even the system design stuff some of I think that's probably the most relevant of the technical pieces that you practice going into it um now where where this deviates in my opinion is if you're very Junior so if you happen to get like a system design question and you were practicing for it in your interview right um for context in the last live stream I did and the last newsletter article before this one I talked about these system design questions being purposefully open-ended they're very vague in a lot of companies that give you these and that's because they want to basically gauge if you're going to ask for require Ms if you just start building the system that they barely gave you any requirements for it's probably not a great sign because if you were working on a team and someone said we have this this challenge this problem space we have to go tackle and you just say cool you disappear and go start building stuff it's it's just not how software is built like you're building it in teams you need to be getting you know the user feedback like what are the requirements you have to work with the other stakeholders depending on you know the size and uh scale of your teams and stuff there's probably people whose entire role is helping you figure that out you're going to be working with the more senior uh software Engineers The Architects coming up with these ideas for how to go build these systems out so just disappearing and going to code is probably not the best first step so that's what I talked about in the last live stream and tying it back to like a difference here if you're a more Junior engineer right odds are odds are depending if it's a startup maybe this is different but if you're at a bigger company where there's more resources on the team it's very likely that you're not going to be handed some work to do that's hey new employee that's fair Junior I know this is your first job but we need you to go basically go off and go build this big distributed system for us see in a see in a week see in a month like it doesn't happen that way I shouldn't say never cuz I'm sure it does in some places but statistically it's probably pretty unlikely that's going to happen if you're more Junior what's probably more likely is that there's more senior people on the team that are leading projects like that and you will be involved in them right you will have an opportunity to participate in the design discussions that's great but you're probably not in a position where you have to go make all those decisions completely on your own so some of that lead up getting to this point where you're practicing that for your interviews that's where it's a little bit more artificial so that's what I was trying to call out in the newsletter article um what would be interested in is how does it look for the average Junior developer to do Microsoft interview for software development um I'll see if I have time for this at the end um there's other creators especially on LinkedIn I think um Jade Wilson uh man I every time I live stream I'm like I forget people's names and it's terrible because like I talk to these people pretty regularly um jade at Microsoft has it's like I'm saying that like there's only one Jade right um if you're on LinkedIn uh Jade Wilson God I hope I have her last name right that's so embarrassing she has really great content I think she recently posted something about you know uh how that's all set up so I would recommend uh checking her out on LinkedIn I think she she also has a YouTube channel but I don't know what the channel name is if you search Jade Wilson Microsoft probably she'll come up she might have made a video on that as well um so if I don't get time to come back to that I would follow up with that content okay um so moving along through this article what's the next kind of section I wanted to talk about um so yeah like the the what do I focus on when I'm starting out right again this is pretty relevant for the early in career folks um because you're starting off and it's like cool got the job you know what do I do right you have all these if especially if you're following creators and stuff online a lot of them it's kind of hard to gauge because you'll see people saying you want to be senior like here's what you got to do and I mean there's really good advice that people are putting out the challenge is that I mean you just started somewhere of course you want to be senior you want to be architect you want to be manager you want to be something more than where you're at that's being aspirational but that doesn't mean it's the first step you take and I think that might be missing for some people uh a good parallel to this that I like looking at for people that are into fitness and stuff if you're not sorry this might not land very well it's one of my passions on the side side of uh software engineering but if you are like I want to get I want to get really big and muscular or I want to be very strong a mistake that people can make is they look at all of their their heroes in this space right you'd look at Mr Olympia you'd say Mr Olympia well what does his workout look like how much is he eating right I want I want to be big like Mr Olympia so you're like okay what's his training but what's he eating you go do all the research and you're like okay I'm going to dedicate myself I'm going to do this what you're missing is that's not how Mr Olympia started working out mrly Olympia you know if they're walking these guys are walking around like some of them over 300 lb in the offse if you are not like that it's probably not a good recipe to start at that point you need to start somewhere a little bit sooner right so this is a really common question that people have like what do I start focusing on right um I see some questions rolling and let me finish a couple of thoughts here and I'll I'll scan the chat so I think one of the first things tempering this right this is like some of my personal expectations for folks um I always recommend to people like this is your time to ask questions right you should be asking questions throughout your career you should be curious in questioning things but especially right now you are just starting out you have all of the reason in the world to be asking questions no one is expecting that you know any anything about the domain you're in that's cool that means you get like I know it doesn't feel this way but you should feel like you have a free pass to ask anything you want right you can ask all the dumb questions there are no dumb questions for you you you're brand new there should be never there there should never be dumb questions for anyone right you should never feel that way but especially in the beginning you get this kind you should have this free pass kind of feel where you should ask things right and it's not just that I think think you should be allowed to I expect you to if you are new on my team I expect you to be asking questions that is how you are going to learn now one of the more complicated things especially in more recent time is that we're working remotely I started at Microsoft Remote I know that it feels challenging to reach out to people you've never met in person and you're like my God I ask this person a question like I hope I'm not bothering them right now I say that confidently because I have talked to so many people where this is like one of their number one concerns like yeah like I blocked on this I didn't know what to do but like I didn't want to reach out to this person because it didn't want to bother them no matter how many times I say it I've had the individuals who are apparently going to be bothered say to the team you can ask me anything you want any time I am happy to help I have told these individuals if you don't want to go bother that person because you think you're going to bother them come bother me right like I want you to come ask questions people feel very uncomfortable asking questions I at this point it's a it's a pretty big like mystery for me because I like to think I'm pretty approachable at work I think other people have made themselves approachable but I think the remote nature of work is making this very difficult ult for some personality types so I try to hammer this home because I think that it's it's still a missed opportunity for people so if you're if you're watching this listening to it and you're going to be starting a new role please try to ask questions because if you are blocked on stuff where you don't have Clarity there's there almost like no learning opportunity for you there because this is another big area that's challenging for for new folks right how much problem solving do I do on my own versus asking for help and one of the things that I try to call out for people is like if you don't have clarity about what's being asked of you you should go ask for clarity you can't even take a next step if you don't know what's being asked of you that's not even problem solving right you don't have enough information to start figuring out what to do get that cleared up that's critical beyond that I would say that there's this balance of like go do a bit of exploration right um I try to frame it like if you think that other people on the team have solved this problem you may not want to spend too much time you should do some not spend too much time though because you're not going to be bringing back net new information for the whole team odds are someone can expedite this for you if you want to balance this out really well I would say get to a point where you've tried some things things out and that way when you go to ask someone for help try to have this in your mind the first thing that someone should say to you is what have you tried so far if you feel like you cannot answer that go do something right go try something first because you should feel confident when you go to ask for help anyone on the team come to me I'm your manager and you're like hey I'm stuck on this I'm going to say what have you tried so far right and if you've tried something and you're stuck cool let's chat through it let's see the pros and cons let's do the engineering part let's analyze things right let's figure that out together but if you've tried nothing then I'm probably going to say what do you think you should try right so that's kind of how I would frame that for for asking questions and trying to balance the how much do I do on my own versus get clarity I'm going to check the chat here um I'm starting a new position as a middle level senior developer from your experience what are some insights should I carry with me yeah um sui if I'm saying your name correctly um this is a question that was asked a little bit earlier that I'm going to come back to a little bit it's similar to senior developer going to software architect I'll try to see if I can cover that um practical tips to learn things that are actually practically useful in programming or maybe uh some like a road map um that's a very good question um good topic imposter syndrome yes I do do have um I should probably do I should get a guest on I want to get Julia Julia is a previous intern I had they got me hooked on talking about impostor syndrome because it is so valuable she's a great presenter um mental note get Julia on a call um get that recorded I'm not I don't know if I'm going to have time to cover impostor syndrome in this chat um on the road map and practical things to do uh that might be larger scope than this as well so I'll review the notes for this and I'll try to see if I can come up with some followup either live streams um so um Ali if you want if you have more specific questions about that feel free to just rhyme them off in the chat um send me a message on uh a different platform or comment it on YouTube somewhere if you want if you don't want to put it in the chat and I'll try to get a list and I can try to to put some information together to to respond um so yeah we'll see if we can get to the point where we talk about like um mid midlevel senior and kind of moving forward beyond that because there's some common themes I think um so I think another thing for getting started right is and this is less applicable to just a junior engineer versus being new in a role like one of the things that I want to see right away is that you are going from this um this phase of like your OB obviously new you haven't committed any code yet you haven't gone through like the life cycle of um committing features bugs like all the the software delivery life cycle right you haven't gone through that yet so the very beginning I expect you got questions you got to feel out how things work um this is different in every team every company some places have a good system in place where you can get delivering features like right away awesome some places it's a little slow the the build that we have and sorry build team I'm not um I'm not harping on you I promise but the build that we have within substrate takes time depending on what team you're on you might have stuff come out faster other teams slower if you're not used to that because you come from a a different you know software development company or you you you're new in industry and you're like hey I build code in Visual Studio on my desktop in in 3 seconds right it's going to look different at different companies but you have to go learn the tooling someone's got to show you the ropes of that it will be different at different places so what I expect is that you have questions in the beginning and over time you still have questions but you have different questions and you're becoming more autonomous you're becoming more able to be effective at delivering it doesn't mean that you know everything but if I said okay here's another you know bit of work to go focus on let's you know it's bug feature whatever it happens to be you're getting into this groove of like I trust that you know how to get your poll requests up you have get your code reviewed how to write your tests in the systems we use how to roll out your changes whether that's flighting some other mechanism you start to learn that and I can trust that someone's not having to double check every single thing you're doing all the time if you're more Junior I expect that takes longer that's okay right like if you're brand new to it that's okay you might have never used git before cool you have to learn it that's fine some things will take more time so again the beginning you're asking questions and you're getting to this point especially if you're more Junior where the questions you're asking are allowing you to be um you're progressing with being more autonomous but you're asking more questions about kind of what's coming up that's what you're trying to build in the beginning cuz I think again if you jump to some of the the content creator advice and I'm I'm probably guilty of this too I'm not trying to accuse other people of things a lot of it's like this is going to tie into the senior to architect stuff but like hey impact visibility if you're brand new as a software developer you're not getting a lot of a lot of say most likely in the impact and the visibility you're having and that's probably because the work you're being given is more scoped down it startups since smaller companies that may not be the case you might start getting way more visible stuff very soon even some teams at Microsoft you'll get way more visibility on the stuff you're doing way sooner but more generally speaking this is the challenging part about advice is that as someone more Junior the work you are going to be doing is less impactful has less surface area it's not to say it's not valuable it's just that the scope of the impact is smaller so if you are a junior developer going I need the most biggest high impact feature to go work on so that senior leadership can see it because I saw Nick make a post on LinkedIn that says that's how you get to an architect role it's just not what's likely going to be happening if you are brand new so try not to jump the gun getting too far to these really Advanced things when you kind of got to do the beginner stuff and that's okay um the last part I put in my newsletter article is for like in this in this section is is about getting to know your team so again some of the things we talk about in software engineering you got these super technical skills you got programming software architecture how to test all important things but this is your opportunity especially if you are new in Industry right if you haven't had a lot of opportunity to build software in teams spend the time getting to know your colleagues it doesn't mean you have to feel like family with everyone I got very fortunate early I was telling Anna Miller who I did a call with earlier today it's the most cliche thing and I think a lot of people hate hearing this in software but like the company I worked at before literally felt like family when I started there I spent all of my time you know outside outside of work with work people for years it really did feel like family so guilty um but I don't expect that of other people right you don't have to feel like family with me I'm not trying to push that on you I have I have my own wife we got dogs like we got our own little family going on we can be colleagues we don't need to be in my family but I do think it's very valuable to spend time getting to know your colleagues right you don't have to get into everyone's personal life whatever you're comfortable with whatever they're comfortable with but figuring out what like what are they subject matter experts on right what do they have like technical knowledge like what do they got going on trying to get a feel for that is extremely valuable because guess what's going to be happening as soon as you start working on stuff you're going to have questions and you need to go ask the right people the questions right you have to be communicating with people so spend the time getting to know your teammates figure out what they're experts in and that way when you start working on stuff when you get stuck and you need help problem solving you go oh I remember this person actually knows about this space I should go talk with them this person uh talks about testing a lot on the team I'm stuck on the test I should go ask them oh this person on the team deals with build stuff all of the time my build isn't building so like what do I do I should go ask them go spend the time within your team getting to know your colleagues as you become more advanced and you're doing work outside of your team get to know your partner teams because that will help too depends on the size of the company and the organization that you're in if it's Microsoft scale I'm talking about even within Office 365 substrate which is just a portion of Microsoft there's so many people I will never get to meet all of them so doing some networking is very valuable okay um I'm going to come back to this point about um the senior to architect piece because I think it's kind of relevant right now um so the idea at this point is that what I'm talking through is like what are these things you should be focusing on if you're primarily if you're newer in career but even if you're new to a team now if you're not and you're like okay I've been at this for a while but I want to advance further a lot of a lot of the things so TI into the next section as well a lot of the things that you need to be doing are scaling up the different expectations that are had of you I don't know if I said that properly speaking is really difficult um so what should you be doing well to become more senior there's probably some amount of um mentorship or helping others that can look different in different ways right there's going to be the impact that you are having is greater so you're working on features or U you know business value that is greater in terms of the impact it has the surface area of said impact is greater so that might mean that you're interacting with other teams working on projects that span multiple teams right and um kind of all put together uh especially at at bigger companies kind of sounds like it sucks I'm not a huge fan of this concept but it makes sense like the visibility needs to be there so when I say visibility the reason it sucks to kind of hear that is you're like is it my responsibility to make sure that I'm like hey like hey yeah CEO of Microsoft like look at the work I'm doing visibility like no that's not what I'm saying but if um if you don't have visibility communicating if you're working in group projects let's say right you're working this is more common the more senior you are you're working with across other teams if you are never communicating your part of what's happening when you go to talk to your manager right it's like um it's rewards time or depending what company or at Microsoft we have connects it's a good uh opportunity to talk with your manager about the things you're doing if you're never communicating what you are doing specifically you don't get visibility into the work you're doing so you see I I worked on this really big project and it was very successful cool like what what did you do 20 other people worked on it too right like what did you do so you need to be able to have that that type of visibility into what you're doing so all of those things are valuable just checking the chat maybe you could share how you start out in Tech maybe go back to the internship days uh yeah um I'll see if I can touch base on that um but going from senior to architect and that kind of thing like basically growing in terms of the um individual contributor role right A lot of the stuff is going to look like scaling up what you're already doing so you will be in positions where you are instead of um committing to a part of a project you're leading a project within the team right you have some of the more Junior Engineers that are working under you it's might be your design that you came up with might be something you collaborated on for design but you're kind of leading some of that initiative helping work with your PM or your manager to kind of split up that work and see how it can be done taking some accountability for the success of that project going beyond that it's not just within your team now you're leading projects across teams so you're collaborating either again on a design that's say mostly owned by your team and you have partner teams helping or you're collaborating with Partners on the design and again trying to lead some of that initiative cross team you just keep scaling this up right so it's not even just across team now it's multiple teams you are leading that entire effort it just more and more scale so that's the kind of thing that I think is important when you're trying to go from senior and Beyond um the you know the amount of influence you're having on teams right it's not just like oh you're helping out some folks on the team that are more Junior um you are helping level up other people on different teams because you're spending time educating them about things making sure that they're following best patterns and practices you're helping establish some of those across teams it's just the scale of the impact you're doing across the board keeps going up so I know that probably sounds very generic and that's because it is very generic advice which leads us into this final part of what I wrote in my newsletter which is talk to your manager sounds kind of funny but if you think about that advice I just gave you about the senior to architect stuff or even the stuff I mentioned before if you're more Junior getting into this like what did I say at the very beginning of this live stream if you just joined I'm sorry you don't know um but it was I'm not your manager right here's all of this advice I just gave you from my experience my perspective with my biases but I am not your manager so what you should not do is finish up this you know this live stream or if you're watching it it's recorded you're like cool video Nick thanks for the tips I'm going to go Implement all of those and then get frustrated when you don't get promoted when you expect it's not it's not what I want to have happen here it's not what you want to have happen so this is the thing you need to do it's talk to your manager and get the aligned expectations about what you should be focused on I gave you very generic guidelines these are the types of things I didn't say go work on this project specifically I mean I don't I don't know what you're working on so I can't but even for people on my team if anyone if anyone on my team or PE people that I've managed if you're watching this and even if it's recorded uh you're watching the recording leave a comment if you're like yep Nick doesn't say go work on this project specifically land this exact project I don't like doing that because of the project deadlines and schedule have to be adjusted I don't want you to be like sorry like no promotion for you because that project that we said is guaranteed TI dear promotion got delayed wait till next year that's crap that's not what I want what I like doing is talking about what what qualities what traits What Focus areas that project helps support in terms of your career growth because if a project ever has to be delayed canell anything else you and I can still work as my me as the manager you as the individual contributor we can work together on those Focus areas say cool that project was really helping Elevate those things for you it got delayed got cancelled whatever it is we know what those Focus areas are what's the next project right does that project help check the boxes for those things can you get some exposure to that if yes great if not that's okay what areas still need some Focus can we find some opportunities for that so that's what I like to do with my employees I need to make sure that yes they're focused on the right business priorities but the reason that Engineering Management is not a trivial like what's the highest priority just assign it to whoever is next it doesn't work like that because people wouldn't grow effectively the teams would not be effective I'm not trying to say that I'm like saving the day here but it's important to align the work to people's career growth as well I need to it's my resp responsibility as an engineering manager to help make sure that people are challenged engaged in the work they're doing they feel like they're learning and they feel like they understand their career trajectory those things are critical for me to do and the reason I bring up this section is that if you're not talking to your manager and you start following advice that anyone else gives you blindly let's say right like someone who's really influential on the internet said this you talk to a peer they're super smart they're successful and you're like they said you got to do this if you're man if you're not talking with your manager like who do you think puts you up for promotion like who do you think is in the rewards conversations for you like it's going to be your manager so if you want to try and avoid being disappointed by having misaligned expectations I think you need to spend time figuring out how to communicate with your manager effectively now this is where it looks completely different again for everyone because I'm not your manager what I recommend doing is trying to bring this up in oneon-one conversation so first of all if you're not having one-on ones bring that up with your manager to say I think it would be good if we could have some type of regular oneon-one right I think manager should be doing that personally but but I'm not every manager so who knows I think minimum every other week is like pretty necessary if you can handle every week and your manager can great there's capacity for it I think that's awesome then once you have that up and running sometimes 101's kind of fall into this I don't want to call it a trap but like here's my status update which I think you can include there's benefit to that but if you feel like hey look the only conversations I have with my manager even if they're once a week all I'm doing is talking about the poll requests I have up the tests I wrote the time I broke the build and I fixed it like while that's valuable to some degree to have an understanding of what's being worked on what it's not doing is helping you understand what to focus on in your career for growth so what can you do about that you can ask them now this is my personal preference if I'm having conversations like one-on ones with people um I try to make sure that we're having career conversations but if it's not happening regularly enough something that I really appreciate is in a one1 if someone's like hey like um I know we might not have had enough time for it today but next time do you think we could talk through career growth and if you you haven't done it in a while or you haven't done it ever leaving it open-ended like career growth can be totally fine but what I appreciate is like there's a bit of room for me to kind of prep myself sounds maybe kind of weird but like I'm I share with people like I'm very introverted hopefully I don't come across that way on video and stuff but I'm very introverted um conversations like that can be very um they can take a lot of energy for me if I'm put on the spot to be thinking up things that can feel stressful and I feel like I can do it but I feel like I'm not doing a good job of it so I like saying to people if you can give me a heads up even if we have to schedule it the next day or something like that's cool like I just need a bit of time so I can think through it so I can give you good answers but I'm not your manager so you need to work with your manager to figure out like what is an effective way that you can communicate with them right find out what works when you're talking with your manager and again if you're having challenges with this the thing that I need to remind you is like at the end of the day like I I believe it's a manager's responsibility to help grow you in your career but truly at the end of the day the person that cares about your career growth the most is you and you need to get in the driver's seat of your career growth because if you don't you may find more often than you'd like you are frustrated with not having aligned expectations feeling like hey I thought I deserved this but I didn't get it so if you're being more proactive about it you can start closing some of the gaps that's not saying it's automatically going to propel you to you're going to be CEO of the world right it's not it doesn't work like that but if you're just sitting back and being idle I think it's a bit of a recipe for disappointment so that was a newsletter article I'm just checking the chat again um sharare okay um we're about it time I wanted to go to 10:30 I'm going to so for folks that aren't interested anymore that was a newsletter thank you for for watching um I'm going to answer a couple questions in the chat if you're still interested want to hang around so thank you folks in the chat for leaving questions um I apologize if you're on LinkedIn I have no idea if there's a chat on LinkedIn I haven't been on a LinkedIn live event so I'm really sorry if people were like Nick what what the hell are you doing you're not answering our stuff um same thing on on Twitter no there is a chat on Twitter I wrote in the chat so okay um but yeah on on YouTube We got some more questions here so um share how you start out in Tech maybe go back to intern days sure so uh University of water for engineering at least when I was there it's an honors program and it's a co-op program what that means is that we had to maintain a certain grade average and we had internships that were it varied a little bit but we basically had an internship every other semester so school for four months work for four months so my months four to eight for me at University were working I had one semester of school before I was working um this actually I forgot to say this early and I said I was going to come back to it's a perfect timing side projects so My Philosophy for internships was I wanted to try working at startups small companies because I thought that would give me sort of the most value if I I felt like if I worked at a big company maybe I be kind of lost kind of lost in the noise a lot of stuff going on not high impact who knows so I I started applying to to startups and small companies and I like the story cuz I think I think it's kind of cool and I think it's speaks to side projects at least from my experience I am a computer nerd uh by definition like um love being inside I play video games all day if I could but I also love to program which is arguably even more nerdy so aside from playing video games all the time as a kid I love to write games but I was terrible at anything graphical I have no artistic abilities whatsoever so I liked making roleplaying games so you got swords you got magic you got all this fun stuff but no Graphics like no way I'm terrible at it so I kept and I it's 20 years old and I still have code for it I kept kind of rebuilding and refactoring this game that was it kind of looked like Pokemon but even worse and uh kind of played like a terrible Diablo top down RPG if you know what I'm talking about but I had this game that I was kind of building on the side it looked awful but I kept building these really cool complicated like game systems into it I I loved it it was so much fun and the one interview I had for my first internship I remember it was really it was really weird how it was framed but cuz no one else was doing this but the employer said bring something for showand tell like look I just got to University I'm terrified I've never applied for a software job in my life it's like week one because you have to apply for these jobs before you go for the internship right so we spent the first week writing resumés because none of us had done it and then right after that you're applying so I'm like this is the most terrifying experience in my life I can already tell like I'm going to start bombing classes like I said I'm doing awful now I have to apply for jobs and I have to bring something for showand tell and I was like wait a second I got the perfect thing I've been making this ridiculous game and then in my head I was like oh no it looks so awful I spent no time on the graphics but I'm like I got this game I've been building this I can bring this for showand tell yes so go for this interview uh I've never really interviewed for a software job so no idea what to expect and I remember him okay like let's see what you brought for show and tell so I pulled up my I think I got to bring my laptop I think I did or I had to give it to him ahead of time anyway we had a laptop pulled up I pull up this game it's got this terrible like music it's like a 32bit Pokemon looking RPG I had like terrible like weather animations and stuff I was like look like you got weather like your items change characteristics if it's raining and I was like this is so cool I'm sure he was like dude what what is this but um he asked me really interesting questions he's like so how do you you know you have an inventory how do you store the items for that and I was like oh well you know I don't know like right now it's like a it's like a I think it was a CSV file but I'm like it's really not a good fit because the information is like hierarchical so like I don't maybe I want to switch to to XML or something but like I don't know so it was cool that this was very much like a system design design question but on something I had written in way smaller scale so that was really fun and the reason I'm bringing putting so much detail into this example is because I remember going onto the the portal that we had for school and I had an offer and the way that it works is they rank you so I had like a you rank them and they rank you so I had like a a number one matching offer with them and I was like cool like I actually really like that company I I have an offer and I remember talking to the owner his name is Peter Hansen Peter Hansen is a genius I wish I I wish I spent more time trying to learn from Peter because he's amazing Peter had said to me were you surprised that I gave you gave you the offer like I'm thinking about it I'm like I don't know I like honest I actually don't think I'm surprised not to sound cocky but I thought the interview went well like I was pretty jazzed about how it went I've never done one before so I'm like yeah like said I don't I don't really think so like I I said like I thought it went pretty well like not that I'm amazing I just thought it went well and he said oh interesting he's like because this is your first internship and that role was for basically for seniors so I didn't even realize when I applied for it it was not meant for first year students so he said I thought you might be surprised that you got like a senior level you know job offer for for your first internship so what's the moral of that it's not that I make the world's best 2D games because I don't they look terrible and I've been working on it for 20 years and it's not done so definitely not the best games but I think the point of this is that I personally was able to dedicate a lot of time to side projects this is an example of a side project that was not finished whatever it is now like it's been how long have I been out of school too long um 12 years since I've been out of school plus 5 years of being in school 17 years okay it's not done 17 years later I used this to demonstrate what I had been learning why I had been learning it and it worked very very well for an interview it's a bit of a unique situation but I just wanted to share with you that was the value of doing the project was that I got to practice learning these things it was building real software even if it was a crappy game so I went back to work with Peter a second time and Peter was also a university of waterl graduate he had gone through engineering and he gave me his Peter was full of advice and like I said I wish I you know learned I wish I spent more time trying to like extract all this awesome value from Peter unfortunately I did not but I went back to work with Peter a second time and the advice that he gave me was look like he's like I would love to have you back again for a third time but he said I don't think that you should he said you have all of these opportunities for your internships you have six in total you have four left now I think it would be wise if you went and explored other things because we I don't want to say we're guaranteed jobs doing that internship program you still have to put in the work but like the system very much helps facilitate that for you so if you're putting in the effort I feel like it's kind of crappy to say guaranteed especially now that's really not fair for me to say but they do a lot of guidance to help move you along so it was kind of like you should go explore because this is probably the only time your career that it's very easy to switch every 4 months to see if you like something I thought that was great advice so Peter was very awesome to work with the next company I went to work for was um building I got to go build operating room software I was the only software developer does that sound terrifying like maybe a little bit um but it was not operating room software that was like cutting people open it was cameras so it was like basically audio video for operating rooms and I got to be the only developer it was a very different experience but it was super cool so I got to build everything from the ground up I went back to that company a second time as well that was really cool and then my last two internships I remember saying okay I've done the startups and this has been good done the small companies but I want to see can I try something else right Peter said try some different things so I said I'm going to try a bigger company so I worked in London Ontario at a company that makes um ATM software so banking machines they built the software that would help you the area I got to work on was designing software that allowed you to design the screens that go onto the ATM software which is super cool because that gets used whatever people are making gets used on all these Bank machines so that was a really fun exper experience bigger company um and then my final internship was not at a very big company but I went to San Jose so I experimented with going with something completely on the other side of the continent living far from home in the like in a different country right I'm from Toronto area U Uxbridge Ontario for anyone that that knows um the area probably not uh but I live in Seattle now but so I got to go to San Jose and this was a startup um it's called ion grid I think they got bought out like shortly after I left but that was a super cool experience we used Objective C not a cool experience but uh everyone in the leadership was basically like a ridiculously smart engineer so the CEO and the CTO were like I don't know if they're both serial entrepreneurs but at least the at least one of the two was for sure both brilliant engineers and then my direct manager was like one of the smartest people I've ever met in my life his name is Gary King when Gary speaks it's like you you know that he's brilliant and it doesn't matter what he's saying because the way that he speaks you're like this guy is super smart you just know that he is um and he could obviously back it up so Gary was awesome for helping me like learn more more advanced topics in general like he really that was the first internship I had where I started to feel like like people were were challenging me which sounds kind of weird like Peter was great to work for I definitely had challenges working uh with you know at Peter's company I was being challenged by things but I think this was the first time where I had a manager that was seeing that I was putting code out and like kind of moving through it quickly and I told someone this recently I feel like I was maybe bothering Gary I would turn to Gary and say hey Gary I'm done and he go right here's here's the next bit of work explain it to me you know shortly Gary I'm done and I could remember him being like like it felt like he was just frustrated and he would turn and I remember it was kind of like okay you think you're wrapping up these work items so fast okay and like I said Gary's very very smart so I think Gary reached the point where he's like look I can keep giving this guy stuff then he's going to keep turning to me and saying like look I'm done um so instead Gary was like okay I need you to go Implement a compression algorithm for the uh I was doing annotations on some iPad software and he's like I need you to go do this compression algorithm to optimize how much data we're transferring when we're saving these uh annotations it's like well what do you mean he said well this is where my brain falls apart so he was talking about how the anotations that I'm drawing are geometric shapes and introduce me to these different compression algorithms because Gary was extremely smart and I was extremely not smart compared to Gary and said I need you to go Implement these these algorithms that can go do compression and I need you to find out what the right compression ratio is so that we still have smooth lines but we're minimizing the amount of data that gets sent now I don't think Gary knew this at the time but I knew this a little bit about myself from working and trying to make 2D games something that I struggle with my entire programming career is that I for whatever reason my brain turns off when I need to be mapping coordinates with programming I don't know why I am ter I can't take a 2d especially 3D like forget it mapping a 2d space and trying to do like different like World coordinates almost if I can call it that mapping two different 2D spaces my brain does not work so I remember Gary telling me to do this and I'm not going to not going to curse on on the YouTubes but I remember being like Oh like I don't know what I'm GNA do so I think working at that company having someone like Gary um I can't remember Ben's last name but Nick triantos Gary Gary King and uh Ben I can't remember Ben's last name just amazing leadership there so my internships were very much across a different spectrum of companies mostly pretty small and I think that really helped me just work on impactful things um I'm going to wrap this up because I'm way over time so thanks for folks that are still on here but one of the things that I have mentioned on social media before is that um I am the kind of person that does not like trying new things because I get very anxious about being new at it I don't like feeling like I'm going to be uh underperforming I like feeling like I'm an expert that's what I want and as a result I rarely take risks to go put myself into a situation where I feel like I'm very new it's not good but what I've noticed repeatedly through my career is that every time I'm forced into a new situation right so I worked for Peter I made I did embedded software for a needleless injector for um farm animals then I worked on operating room software then I worked on ATM software then I worked on iPad software and a language I've never used before after that I went to go work for a digital forensics company for eight years guess how much digital forensics I had ever done in my life before that then I went to Microsoft and I worked on a deployment team that deploys things to hundreds of thousands of machines across the world guess how much deployment experience I had and now I work on a routing team at Microsoft and guess how much routing experience I have the answer to all of that is zero so all of these things were forcing functions that put me into a position where I was completely new I would never on my own unfortunately I wish I was better at this I would never put myself into those situations by choice right I wouldn't go hey like tomorrow I'm going to go I'm trying to I want to learn a little bit more rust and this is the problem I'm not forcing myself to do it as a result I don't learn those things when I'm forced into it I learn so my recommendation for folks as a little Parting Gift is like don't be afraid to get exposed to things where you are complete newbie stick with it building expertise and anything takes time and practice so you just have to stick with it okay um just check in the chat thanks folks I do appreciate all the comments um I hope this was helpful I didn't even put in advertisements for my course or anything I got I got Dome train courses if you want to learn C I'll throw it in at the end I got to get better at this kind of stuff but no thank you for watching if you thought this kind of thing was valuable depending on what platform you're watching it on send me a message message leave me comments and stuff if there's other things you want to hear about I think even on YouTube there's some some questions that came in I might not have touched on so I apologize but I will try to follow up I am planning on doing these every single Monday 9:30 until I come up with a better Andor different Cadence for them so um yeah I will hopefully see you next week if you like this so thanks again and uh take care

Frequently Asked Questions

What should I focus on once I've landed a software engineering job?

Once you've landed a job, I recommend focusing on asking questions and getting to know your team. It's important to understand your role and the expectations, so don't hesitate to ask for clarity on tasks. Also, take the time to learn about your colleagues' expertise, as this will help you know who to approach for help when you encounter challenges.

How important is it to practice lead code problems for interviews?

While I think lead code can be helpful for practicing certain problem-solving skills, I believe it's not the best representation of real-world software engineering. It's important to balance lead code practice with building actual software and working on projects that demonstrate your skills in a practical context.

What advice do you have for new software engineers starting their careers?

My biggest piece of advice for new software engineers is to embrace the learning process. Don't be afraid to ask questions, seek feedback, and explore different areas of the field. Remember that everyone starts somewhere, and it's okay to feel uncertain as you navigate your new role.

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