BrandGhost

Direct Feedback is CRITICAL - Principal Software Engineering Manager AMA

This is an AMA livestream! Come with your questions about programming, software engineering, career progression, etc... Happy to help share my experiences and insights! Today we focus on: How direct feedback helps you grow as a software engineer https://weekly.devleader.ca/p/feedback-is-deeper-than-you-think
View Transcript
on YouTube as well but I think so far things are looking good okay awesome cool okay well I did put a link in the chat I'm not sure if it came through I'm going to send it again we're going to be talking about feedback in software engineering and in particular this is going to be sort of like a career development kind of Focus right so don't mean feedback necessarily from like uh a technical engineering perspective or frequency and that kind of stuff I mean uh feedback literally like the interactions that you're having with others so just wanted to clarify that uh this is going to be talking about some things that I had in my newsletter so that's what the link that I put in the chat is I don't know if if you're on uh if you're on Instagram I don't think I can send links but let's see maybe I don't know that looks kind of sketchy I tried to do it I don't think it actually worked um but so it's on my newsletter if you want to check it out it's at weekly. deev leer.com to ask questionss um I want to be able to spend the time talking about the things that are of interest to you so I am going to be talking about feedback however if you would like to be able to ask questions about other things as well please just do that I would much rather dedicate the time to specific things that you're interested in uh hello Maria I'm just checking my uh looks like my LinkedIn chat is coming through but the names are broken so that's kind of funny um and I guess I should turn that on for others to see as well there we go cool so you can see like the LinkedIn stuff is saying it's just LinkedIn user not sure what's up with that but I'm watching the LinkedIn comments directly as well so cool okay topic is going to be feedback for software engineers and I wanted to start off by talking about kind of like traditionally what we see feedback as it's pretty like this kind of stereotypical thought about feedback is like I'm working for my manager and they're going to give me feedback about my role and I would say like this kind of Junior perspective Junior engineering perspective is really I'm going to be getting feedback from my manager and you're anticipating sort of this feedback that uh is probably going to be harsh you're going to have to work through and it's really just this like very specific example of one type of feedback with one audience that a lot of us are hyperfocused on and I'm not saying that everyone thinks that way it's just one of the most common ways when I hear people talk to me about feedback and their careers like this is what they got on their mind I need feedback for my manager or I'm anticipating feedback from my manager and how do I prep for that and what's interesting about this to me is that the the concept here is usually that people are expecting that they get constructive criticism so something that's pretty difficult to hear and a lot of the time what I like to hear is that people are saying like I'm actually you know hoping for this I want to have something that will help me grow and I think that's really cool I'm going to get you know different sides of this where some people are very much like hey I'm nervous about it but also sometimes it's like but I'm excited because I know I need to hear it I want to grow and I think I wanted to start by saying I think that's a really good framing for it because ultimately when we're thinking about feedback in our software engineering careers and I guess like really any career it's just we're going to be talking about software Engineers specifically if you're not getting feedback and kind of learning about the different things to improve upon the different areas it's going to be very difficult to grow so um I love hearing that from especially Junior software Engineers that this is top of mind for them I think that's awesome now the thing that I want to call out this is kind of something we'll be going back to throughout the course of this talk is like it's a bit of an exercise that I want you to do for for yourself so if you're watching the recorded version of this it will still be applicable but if you think for a moment if you're the kind of person that wants to be able to get constructive criticism because you want to be able to grow this like I said it's a common thing when is the last time that you gave someone else constructive criticism or direct feedback right so if this is something that you want for yourself because you want to hear it to be able to grow when's the last time that you did this for someone else it's not a trick question there's no trick to it I just want you to think about it from twitch we have how to get a job um you are going to have to offer more details when you ask questions like this I'm happy to try and answer them um a job doing what oh should one learn Zig um when it comes to programming languages I want to suggest like you can do like market research uh if you go to latterly doio shout out to John vanir he's got a lot of data on this he's got a PhD in economics and spends time sort of on the side for his his business being able to help educate people in what's sort of the best bang for your buck for trying to get into software engineering and the way that he frames it is looking at what the majority of companies are hiring for so if you think about it backwards right it's like what it's not just like what should I go do it's like what are companies hiring for if you optimize for that in theory you're setting yourself up for the best chances of success the question here is should one learn Zig um my perspective on this stuff is that it's not really important to uh you know hyperfocus on you know one language like it being the best um nothing like that um you know I would say how many places are using Zig if those are places you want to work at great if not there's not a lot of places you might be setting yourself up for a difficult time to hyperfocus on that however if you're just starting out and you're going to pick a language I mean you you want to be able to learn the concepts of any programming language that you're working with you're going to be shifting through different programming languages in your career like 99% of the time that's going to be the case where you're not just using one language so um I guess my personal recommendation would not be to do something like zigg um or I mean even rust right A lot of people talking about rust now I still wouldn't say it's a good first language I would if you're trying to land a job I would be trying to look at what people are hiring for statistically doesn't mean that the language is Superior or not just what people are hiring for okay so and then going back to the topic of feedback right so the question that I had was if you're trying to get direct feedback when's the last time you gave it and Maria has another uh you know comment in the chat Pat here saying I notice it's important to build trust in relationships first absolutely right so we'll see some of this as we go through this talk but when it comes to actually giving the feedback or setting yourself up in a situation where you want to be able to have someone give it to you having trust having respect having a closer working relationship with someone allows them to be able to give you that feedback uh something that I'm hoping I remember to say the phrase as comes up in the conversation is this concept of radical cander if you've not heard of radical cander uh do a quick search for it but uh ultimately this is going to be something that um we want to be able to have in our working relationships with people and as a software engineering manager that's something I strive for as well so we we'll see that as we go through this um on Instagram what are your opinions on lead code uh this is something I talk about a lot um I think if if you're trying to apply for jobs especially in big Tech you probably need to brush up on your lead code I I've mentioned this before that even for my own role as a principal software engineering manager at Microsoft like I don't write code at work I still studied Elite code problems before applying I did have a coding question in my interviews it was kind of like a elite code style problem and I do recommend that for interviewing especially for big Tech brushing up on lead code is helpful in my opinion that's about where it stops though now if you find that it's a good exercise for you to get yourself writing code I don't want to uh dissuade you from that um I just think that the best way that you can get better at being a software engineer is by building software so I would much rather people focus time on building things versus just practicing lead code problems because that's a very you are coding and solving problems but it's a very isolated Focus so I don't recommend that that's something people get overly confident about and it doesn't translate as well into real software engineering another question is Microsoft evil uh I work at Microsoft man like uh if you'd like to have me answer more of your questions please try to make them so that we're not just distracting from the rest of the talk um okay so as Maria said we want to make sure that we can have good trust in our relationships with people at work want to have communication right you have to build up these things so I'm going to start by going through topics I didn't say no immediately because I'm reading three screens and I'm trying to present on feedback so that's exactly why I didn't say no immediately I'm going to go through in the order that I wrote my newsletter article in which is going through Junior roles senior sort of more intermediate and then I'll even touch on the manager perspective as well because I think that there's similar but different stories that we want to talk about at all of these levels and another common theme that we'll see is that it's going to be giving feedback and receiving feedback at each of these levels so to start like I said with Junior software Engineers one of the common things that they are focused on is receiving feedback right and I think that this is really important to be in a position where you're thinking about it so in my experience mentoring Juniors this is a common thing they bring up um and I would say if you're watching this if it's not something you've thought or you're hesitant about it like hey feedback seems kind of scary maybe if I can be sort of invisible I can kind of keep working get my stuff done and I'll kind of get by and sure you could but I think that you'll probably be disappointed with things like career progression your own sort of self-improvement uh if you're not getting feedback it's going to be challenging to figure out the right things that you should be working on and building on so uh something that I wrote down in some action plans in my newsletter where being proactive you want to be asking for feedback so what does this look like if you're junior you're new to a team you're going to be working very likely with people that are more senior than you you might be working with some of the other Junior folks that are new on the team too but anyone that you're working with try to be proactive and find Opportunities to ask for feedback so like we've already said on this chat so far you do want to be trying to build up some trust with with your colleagues so that they are in a position to give you feedback the other thing that I would mention and this goes with the building trust part is that when you're asking for feedback you want to make sure that you're clear about what kind of feedback you're interested in and to give you an example if you're you know working with uh you're new to a team you're junior and you're like okay well Nick said that I should be asking for feedback when I'm working on projects with people and stuff like that if you just say hey could um you know could I get some feedback from you on how it was to work together the very typical thing that you'll get is that people don't like giving direct feedback it's not easy it's challenging to give constructive criticism or it's challenging to think of things to improve on then as a result people will kind of go like yeah like it was good to work with you like you did a great job here's a couple of things you did good and pat on the back move along and especially as a junior like that can be nice to start building some confidence so I'm not saying hey if you hear that kind of thing this is a terrible thing it's nothing like that that's great you know it's great that you got some positive feedback but if you're looking to improve it would be very helpful if you can start having things pointed out to you that are opportunities for growth so getting direct feedback is important and that means that when you ask people for feedback you want to be very explicit hey look I'm trying to grow in my career I'm new to this I'm trying to figure things out I would be very grateful if you could give me some feedback on some um some things that I could do better um to make it easier for other people you can phrase it like could you give me some tell me about some opportunities that you see for growth for me and that way people are less inclined to be like hm like how do I tell Nick he's he's terrible at code reviews like you know you're kind of trying to figure out a way to make it easier for them but you do want to let them know that you want direct feedback right if people are just kind of dancing around the feedback they're trying to give you and not being honest and transparent and direct the feedback is going to be watered down and not that valuable okay so that's kind of receiving feedback again you can have that conversation not only with your peers but your manager I would say a big gap would be if you're not in a position to be having conversations like that with your manager that's your priority number one you want to work on that with your manager make sure that you have 101s and other opportunities where you can get that direct feedback and build that working relationship with them sometimes and I can say this as a manager and I've seen other managers kind of act like this sometimes it's you know you have other things you're focusing on someone's doing good and it's easy to just kind of be like okay let me get my attention somewhere else but the reality is that everyone's individual the amount and the type of feedback they need is different so it can be you know easy and not good for a manager to kind of back off and not give you feedback at the Cadence that you're looking for so do be transparent with them let them know the type of feedback you're interested in and uh you can demonstrate to them once you start and this goes with your peers too once you start getting that feedback be proactive about trying to work on it right if someone's giving you feedback and you're never acting on it if they want to give you feedback in the future there they might be like well whatever this person doesn't actually care they're just kind of wasting my time asking for it so be proactive as well when you start getting it as a junior though there's this opportunity to start giving feedback to others as well and this can be great because I think when I talk about things like soft skills for software Engineers I say this a lot that soft skills are extremely important you need them with your technical skills and people are like well how do I practice those like I've been so focused back to the lead code question right like I was grinding lead code for 12 months straight and like I actually don't know how to work on a team like you know how do I work with other people how do I get these soft skills you can think about being in a position where you want to practice being able to give feedback to your peers if you're like wow Nick that seems like it's going to be so unnatural so difficult like I don't know how I could possibly ever have an open conversation like that with someone on my team well there's a sign right it's probably an opportunity that you should try working on some of these work relationships to make sure that you're building trust with other people that there's a level of respect with them and that way when you go to give them feedback you can feel like hey I'm just trying to help this person out there's different techniques for being able to deliver it but I think it's important that as a junior you start thinking about feedback being given to others if you're trying to help make a team better overall we'll see more of this as we get into the more senior roles feedback is a big part of that it's not just a manager telling everyone in the team like here's your specific feedback go figure it out if you have a working relationship with your peers or you're getting feedback from different directions that can be extremely valuable so if you start practicing that early it really can help make a whole team improve overall over time so this is one of the things so at Microsoft I participate in something called EMC it's early in career mentorship circles and one of the things that I try to let people know in the one-on-one mentoring that I do with them because a lot of them will ask about how they talk with their manager how they get their feedback and all this kind of stuff I go through this but then I remind them of this last point I said make sure that you're find finding opportunities where you are starting to practice it as well before I go on the more like senior level level roles I wanted to talk about something that we have at Microsoft that's called perspectives and one of the reasons why this is so like a topic that I'm going through right now is because of the time of year and this thing that we have called perspectives so Microsoft has this tool called perspectives it's the name of the tool and it's about if you could imagine it's about sharing perspectives and the way that this tool works is that you can go request perspectives or uh request feedback it's a good stutter request feedback from someone else and you can write a message to them and say Hey you know whatever you want to say how like feedback on this project we worked on and it's this opportunity where someone can give you feedback and it's also visible to the managers so I want you to kind of think through what this Dynamic looks like we have a tool you can request feedback of other people and you can send it to whoever you'd like so you can go request feedback when they send a response it's visible to you and your manager so this is a really awesome tool and I think it's got a lot of potential but I think because people aren't comfortable with giving direct feedback the value of this tool drops dramatically and what I mean by that is if you think about you having to use this tool right so I want you to imagine you're at your desk and it's around this time of year where we start talking about performance and rewards and people go oh I should probably get some feedback CU it's a good signal for people to start thinking about it but you should be doing this more often you start getting these requests for perspectives so imagine you're sitting there you're getting these requests coming in and you're going okay I got to I got to go WR feedback for people the easy thing to do is of course write nice things to other people right it's just easy to do that way yeah it was great working with Nick on this project we did a good job we got it delivered he was nice on the poll requests you know thumbs up pat on the back and the other thing going through your head is like wow like if I give good feedback to Nick I bet he'll give good feedback to me and because our managers can see this feedback that means our managers are going to be like heck yeah these guys are doing awesome we're going to do so much better if we just keep giving everyone good feedback right it's this perpetuated like you Pat me on the back I'll Pat you on the back kind of thing and I think that that Waters down the value of the tool and I think it stems from a couple of problems right one is that people find it difficult to give direct feedback which is understandable I've been managing people for 12 years it's still challenging for me it's a difficult thing to do so that's one part and then the other part is this idea that only if you're getting positive feedback like that's the only way that a manager is going to say oh this person must be doing good right now I'd like to talk about that second part because I think it's a bit of a myth so of course sure if I see people getting good feedback that's nice but odds are I probably am in tune with that already it's not going to be a surprise to me right um what is not a red flag or a problem to me is if I saw someone on my team get feedback that was constructive just I'll make up an example right hey it was you know good to work with you Joe but um it would be more beneficial if you could split up your Pole quest to be smaller um it was kind of hard to navigate working with you on some things and I felt like uh you know if you could break some things up into smaller chunks it'd be easier for me to give you better feedback and I think we could move faster if we work together next time and you're doing this kind of thing right that's that's not harsh feedback that's that's constructive that's something for you to work on as a manager I'm not going to read that and go oh guess what Joe guess we can't promote you this year because you didn't break up your poll requests in fact it's a really good opportunity for Joe to be able to have conversations with me and say hey I got this feedback and you don't have to agree with all the feedback you get but if you did and you're like hey this was something I could go action it'd be great to talk with me as your manager and say hey I got this feedback and here's the steps I started to take to improve that you know what that shows me that shows me that you care that you're interested in growing and that you put the effort into doing it all of those things are awesome right if you were getting feedback that was like Hey like Joe it was really difficult to work with you you suck and I wish you had a different personality and all of the feedback was like that and then you come and talk to me and you're like yeah I just hate everyone like obviously that's going to be a different Dynamic but getting constructive criticism that's direct getting this feedback can be very helpful for you to show growth part of getting promoted is showing that you are growing that you are improving that you're getting better it's just more evidence to help you so I wanted to kind of change that perspective for some people I realize I'm not talking to the entire world of software Engineers but as an engineering manager if I see someone getting direct constructive feedback it's not like a an old crap like you know you're never getting promoted kind of thing I think if you can action it there's a lot of benefit there okay but the first part that I mentioned there was that giving feedback is hard that's going to be a theme throughout this whole conversation that's how I started this talk off right you know when's the last time you gave direct feedback to someone right we don't do it often because it's hard to do and it could be awkward you have to put effort into the working relationships to feel less awkward doing it okay let's move on to like a a mid to senior level role I'm not trying to assign direct titles to these things because if I say you know software engineer you know XYZ two 3 there's going to be different meanings at different companies um I just wanted to kind of break this down into different groups kind of uh go an increasing level as we go across this so if you're at the more mid to senior level um you're going to have the same type of thing where you're need to go asking for feedback but something interesting starts to happen around this level that's not impossible at the more Junior levels but it becomes a little bit more frequent there's better opportunities for it and of course this is going to vary depending on the company you're at or the organization you're in but you may have more opportunities to start collaborating outside of your team and if it's not outside of your team it might be that you're better situated if you're only working with one or two people within your team maybe now you have an opportunity to be working with more people so what does that mean well it means that you have this opportunity to start getting more feedback your circle of influence is growing which is good this is part of becoming more senior you're generally having more technical impact and your circle of influence is growing so what better way to continue to improve upon that than asking for feedback from some of these new colleagues and peers that you're working with I think it's a great opportunity but you still have to work on these relationships so if you think about it as you're becoming more senior within your team your your working relationships are probably improving a lot which is which is awesome that's something we want but as you start to work with people outside of your teams this might be a completely new set of people and you have to put in the effort to working with them building up the trust and respect right the accountability with them and that's going to take some time and effort but if you in invest into that it's a great opportunity for you to start getting that feedback from them because again if you just do the thing like I said with perspectives that we have hey like hey Nick could you send me a perspective we worked on this cross team thing if I was like yeah like you did good but like I don't know like I don't know how to give you this good like this constructive feedback because it's hard to do I might just not do it but if I was like you know what like this person worked pretty hard and like I know I kind of of was chatting with them they actually seem genuinely interested in trying to improve and stuff I think I have a way that I could deliver this that that they will find beneficial like but without that working relationship and the trust and respect it's really hard to deliver so help other people help you right build those relationships the point with the senior thing here is that you have this opportunity to start getting feedback from outside of your direct team um a little bit more frequently than at say a junior level okay all of the you'll see that the benefits kind of continue to stack I'm not going to repeat everything that a Junior and senior would benefit from it's going to be continued right the same thing goes with working with your manager getting that feed back all of that okay so something else that we can think about here though is giving feedback as a more mid to senior level engineer and this is going to be an exercise if you are in a role like this um if you're going to be on the receiving end of this this is for junior Engineers so you can kind of think through this example as well but as someone who's more mid to senior something that happens pretty frequently if you have more Junior people on the team especially brand new people to the team maybe it's their first job you're going to get a lot of questions right so you might have experienced this already um I worked with uh interns for almost almost my entire professional career even when I first started after graduating from University we had interns right away I went from being an intern uh for five years uh on and off right for six internships right into working with interns so always been around interns and that's probably one of the reasons I like to try and help out more Junior softw Engineers there's a lot of similar patterns I see so again not a rule but a similar pattern that we see is that people as Juniors love to ask questions and that's good cuz unfortunately with all of the remote work now I'm noticing that people are asking questions less it's very challenging you can't stay blocked you need to be asking questions but there's something that happens when people ask questions and if you're more senior you've probably experienced this you have someone who's more Junior come to you and they ask for help right and you help them you give you kind of show them oh like you know here's where it is in the code or you might um you know you pull it up on your screen cuz they've walked over to your desk or you're screen sharing with them and you show them in the code oh it's right here just like you type out the code and say hey just do this great you've helped them they they go off on their own right easy but then something happens and that's that the next time that they have a problem they go well I don't know what to do and Nick helped me super easily last time I'll just go back to Nick and you go okay fine yeah like here yep it's uh this part in the code here's how you'd code it up let me do that quickly for you see how it works okay go off and you start okay like now I can finally get back to work here and then this problem continues and it continues because unfortunately you're perpetuating it you might not realize it so when you have people coming to you with problems instead of just giving them the answer so you can get back to your work faster which is what a lot of us want to do we want to get our Focus back and a lot of the time we know the answer or we can find it out pretty quickly and we can just do it we feel effective and push someone off you perpetuate the problem because you're not teaching the other person how to problem solve so as someone who is more mid to senior level this is an opportunity for you when it comes to feedback that you can start delivering feedback to the more Junior folks in a way that they can understand and grow for example hey like really good job on asking questions I think a way that you can improve upon that is trying something first so I would like you to think about what you've tried so far the next time you come to me with a question I be very glad to help you with it I just want to make sure that you're working on your problem solving skills and that way you become less reliant on me and other team members and you feel more autonomy and you can do your job better so you can start doing this kind of thing with more Junior engineers and you can think about it in two ways one is if you're being selfish this works great right if you're being selfish because you want your time back and I don't blame you I know that it can take a lot of time to go help other people but if you're like selfishly I just want to get more time back then invest a little bit more upfront with direct feedback to help other people and if you're not selfish about it you could be thinking hey how do I help this other person how do I make the team become better I like leaning into those ones it's a more positive way to to spin it but you could give that direct feedback and have that framing in your mind saying hey look this might be hard to do but this person looks up to me they're coming to me for questions I think I can help them grow as an engineer by giving them this direct feedback right so a couple of different things that you can think about as a more senior software engineer and I think I'm going to move on to the I wrote in my newsletter principal staff whatever you want to call it I wrote kned here any fancy name you want to give the more upper-end software Engineers um at some companies too like I don't know like at Microsoft like there's distinguished engineers and stuff like uh the point here is that individual contributor software engineer sort of looking at the upper end of influence uh with respect to your team and organization so you're going to see a pattern here this is really just extending a lot of what the growth opportunities were that we saw at the senior and mid level so the framing the framing is now um not just you know for getting feedback right it's not just hey it's this one team I was working with on this project at these upper levels you are potentially leading projects that span multiple teams they could be Cross organization so it's really just scaling up what I talked about for the senior Engineers you have many more teams more roles and potentially higher and sort of a a differing amount of levels that you could engage with for feedback so to give you an example that Microsoft something that's really important as you become more senior so at principal level especially they are looking for organization wide impact and how they can determine if that's happening aside from just the deliverables you're doing is if the other engineering managers on other teams and above like that we call them like group engineering managers so if the other managers of managers can see the impact that you're having right they're able to say yeah I know that Nick was working on this project he was leading it he was working with my team members on it um you know they have insight into it they can see the impact that you're having that's a really good indication that you are working on what would be considered high impact things so these are excellent individuals that you could and should be reaching out to to say hey I would love to get feedback from you and sure you might get a pat on the back because again feedbacks hard to give but if you can get something that's positive this is really going to help you because you're getting a very different perspective then you might just get from a direct peer working on the same project as you of course you should be reaching out to those peers as well having those types of conversations but the point here is that as you become more and more senior going to principal level and Beyond there are more roles and higher levels that you can be getting different perspectives different types of feedback coming to you the common theme too is that as you go to do this those working relationships take time and effort to make people feel comfortable to give you the feedback there are some people who don't need a lot of that work and they're just willing to give you direct feedback but I would say that it's rare and I say it's rare because it's awkward for people to do that you probably don't know a ton of people who are willing to just give you direct feedback versus people that are willing to just tell you nice things it's it's just uncommon I'm not saying it's good or bad it's just uncommon okay so going the other direction with feedback though at this higher level is that if you think about the scope of impact you have this is again significantly greater as you've scaled up and roll and level so what that means is instead of just helping individuals right the example I gave earlier with a mid to senior level engineer helping someone more Junior was hey I can get some of my time back if I just help them or I can help this individual grow but when you can start giving feedback and having it on a wider scale you can start shaping and influencing at Team level and even outside of your team doing that right because people are going to be looking up to you this is something that I don't know if a lot of people realize um again this might depend a lot on uh like emotional intelligence your awareness things like that but when you become more and more senior what ends up happening is that whether you notice it or not people will emulate your behavior you have a lot of people that look up to you even if you don't have a formal leadership role this can happen even from you know anything over like a brand new hire right as soon as someone has someone to look up to in terms of progress in their level or things like that they're going to start to go oh like this person's doing these things like that's good I should do that too and the more senior you become the more that that gets exaggerated where the different behaviors you have people try to emulate so you're in a position where people are looking for your feedback right they want to emulate you they want to do the things you're doing because they look up to you so something I wrote in my newsletter was along the lines of like by having a higher level you sort of get this like implicit respect right it's not guaranteed but a lot of the time it's it's helpful you kind of get this implicit respect because of your level but I would say Do not rely on that you kind of get it but don't rely on it you should still be putting an effort into your working relationships because if it's just like someone is respecting you because like they heard your levels high like it it's almost kind of empty but if you can kind of prove to them through your working relationships that you do care then you can give more direct feedback right people don't want to be in a position where they're like hey I respect this person and then that person's like hey like you know your Cod riew suck you're going to be devastated but if you think about your best friend and I'm exaggerating a little bit here but think about your best friend if they happen to be a very senior software engineer and they're like dude your code reviews suck you'd be like oh man like well tell me what I can do better right like if you if you think about how exaggerated that sounds it all comes down to how good of a working relationship you have with the person the trust the respect and all of those things you can work on with other people you just have to have the social skills the communication skills and put in the time and the effort so there is you know I've talked about you know all these soft skills I've had people on the on the channel to talk about networking and things like that the benefits of doing that so it's something that you can invest into and I would say you should invest into as you're becoming more senior um okay so just reading on LinkedIn here I enjoy the point you've listed thank you um and what ways do you go about obtaining feedback when running live demos of a project okay this is a good question how do you organize the feedback in terms of priorities how do you break down the feedback start accumulating recognizing the pattern what needs to be added how do you even go about expressing you want direct feedback do you use forums polls okay this is a really good question and I have not seen this solved um at startups I've been at and even at Microsoft personally so the reason that I I want to say that I haven't seen this solved is because I see demos having different purposes and a lot of the time it's not clear or agreed upon ahead of time so I kind of want to back up from this and explain what I mean by that because I do really like this question this is great this is from uh sorry if I get your name wrong but Giovani Hernandez so um when I think about demos there's like especially from an engineering manager's perspective there's sometimes where we're like hey we want our team to be able to demo things because that can give them a sense of accomplishment they can share with their team the things they built right it's kind of like a celebration that's one thing there are times where people want to demo because they want to collect feedback okay when are you doing that though is the product already done the feature already done because if so when do you want to get the feedback what's that going to feel like you could collect feedback early on so you have a prototype and you're like hey this is Bare Bones but does the concept make sense right there's all sorts of different forums for having demos and in my experience I have never seen everyone come to the discussion being on the same page so I've seen it where we've said hey we want to make sure people can show off the the work they've done and we can celebrate their hard work it sounds great right like people want that they want to say hey I feel accomplish when I can demo what I've been doing awesome I want to support that so we host demo sessions and then people go well those were too in-depth it was too technical or people are going well you didn't let me ask questions right I couldn't give my feedback and it's like well you know we decided this wasn't going to be the forum for that okay well need another form where we can do that so okay we need a demo session where people can give the feedback so we change it do a similar thing but people can ask questions during the demo now and then we get the feedback from the presenters that they feel crushed they're like I did all of this work and I had all of these people telling me why this was like all of the things that could have been better this was wrong for so many reasons and they go I wish someone would have just told me sooner and I could have built the right thing right okay so then we go to say okay well we need to do demos super early you got to talk with your product owner and then people go okay well that's taking so much of our development time we have to keep demoing to our product owner that I don't want to go have a demo for the whole team or the whole org because that's more time and then so we cut those out and now people are like well I don't really feel like I'm getting that sense of accomplishment I don't know what the other teams are doing but the product owner is getting the feedback so it's I think the point that I'm getting across here is that I think you really need to be crystal clear about what your goals are when demoing and I hope that those examples make sense to kind of show to you that when people talk about demoing things there are different goals I'm not saying that you can't make them all happen in the same type of session or there isn't a way to break them up but I think the biggest challenge is that people are not aligned on what those goals are and as a result makes it very difficult for them to feel effective so how do you organize the feedback in terms of priorities so I'm going to have to give you a more specific example out of those out of that variety that I gave you and I would say that if you're doing the type of session where you're like we're consciously going into this looking for feedback so it's not too late like we already shipped it now we're getting your feedback so you're going into it looking for feedback um something that I would uh recommend is that regardless of the specific implementation you want to make sure that anyone who has feedback is able to express it so you could have this idea of people can ask questions live you could have them all at the end you could have it such that after people have demoed you can go um off to the side and collect feedback whatever it it is but make sure that everyone who's interested in giving feedback can and that what I would do is take that feedback and you work with your product owner to prioritize things I'm saying product owner and not another specific role because depending on how you're working whoever is prioritizing what is most important to work on that's who would go looking through that feedback that also might be a group of people you might be in a situation where you're like hey man it's just a couple of Engineers we're the team and like we got to prioritize stuff that's cool um but the point is that if it's one person or you know an entity that is multiple people you want to go review that stuff together but if you give people the opportunity to kind of offer that feedback you can go do it offline um and you follow up on you know asking more specific questions uh how do you break down the feedback to start accumulate recognize a pattern what needs to be added to the projects so again um this is the type of thing that I would suggest you do regularly I think it's important to to show what's being worked on to the people that can make decisions um the other thing too is like if you're doing I'm reading this too now if you're saying live demos maybe you mean to external people not just teammates and stuff like that so my apologies if I misinterpreted that a little bit but the same Concepts apply right you're demoing it you make sure that whatever you're tooling is like that anyone who has feedback can give it in but genuine like generally it's up to a product owner type of role to prioritize things um and how they do that I would say many people do it differently I like to think about the different values that our team has and then whatever our product happens to be like the different uh areas that we're trying to help customers in I want to give try to give you a concrete example um when I worked in digital forensics we had to make sure that everything like speed was important we were running scans on things so speed was important but it was more important to uh to find as much as we could right so if it meant that we had to go slower to find more things then we would the other thing that was really important for us to prioritize was accuracy so if we found things cuz we're talking about a lot of the time deleted information if we found things we couldn't just if we weren't totally sure what it was we couldn't just say like here's something we need need to give people context about what that was we need to let them know like Hey we're actually not even positive what this is but this might be interesting so we had these different levels of values that we had and then we had to think about the features that we were offering and you'll start to have themes of things coming up in terms of like hey could you offer support for this or that or change this functionality but we'd always bring it back to what we value valued so hopefully that makes sense like we have to see where we stand with our values and our current product offering weigh what's coming in and you kind of bucke tize them into the different feature areas or uh goals that you have for your product or service um yeah another tools like again this is an implementation detail so uh I've seen surveys and stuff go out that can be helpful you could have ticketing systems where people can submit stuff and then you have someone who's got to stay on top of it and they can kind of see those tickets coming in and maybe group them together so close them off and say hey it's a dupe of another one we'll cast your vote over there so there's a lot of ways you can do it but hopefully that helps um let me know Giovani if you have more questions on that or if I can uh answer in a different way but happy to try and help okay going back to the feedback in your career we're talking about sort of like this principal level and sort of Beyond uh for upper level individual contributors and the theme there was that you're in a position where you can have a lot of impact and you do have people that are trying to emulate you you get some implicit respect but you should not just rely on that you should put in the work to have those relationships built the final part that I want to talk about is managers because this is I think important for managers to hear and and I think it's valuable if you're not a manager to think about what I would recommend is a good pattern for managers to fall into okay so I'm just kind of reading my notes that I had here so one thing and I'm guilty of this early in my management career so I I like to talk about this because I've lived sort of doing the bad thing hey there Joe on Instagram thanks for waving um so the bad thing that you do as a manager is you think that you're doing think you're doing the right thing because it's easy and that's basically everyone's doing sort of okay or good so you don't give them feedback it's just easy right you sit back people are doing okay they're doing good no one's making noise great you can focus on other stuff you feel like you're getting more work done and you avoid any difficult conversations because you know if nothing's really bad why are you going to go make a conversation difficult you can just avoid it right but this is not a good pattern to be in because you're just literally not doing your job um now your job responsibilities and stuff will vary depending on where you're at but one of the fundamental things that I think every man engineering manager should be doing is helping their team grow especially in their career uh personally I've always said like if that means growth is not something I can offer within my team then I've tried everything I can and I don't feel bad if someone chooses to leave if I don't have any more growth opportunities for them I need to be sort of happy and excited for them because they are continuing to grow even outside of what I'm able to offer them so I want to make sure that I'm doing everything I can so that I don't feel bad if their growth potential is beyond what I have to offer so that means that we need to be positioned to give difficult feedback and if you're going hey my team's doing good I don't have any issues I just you know you're not trying hard enough it's not about if your team has issues that's when it's easy for you as a manager if you have people I have to cough pardon me if you have people on your team that have some challenges whether it's skill issues or something else to work on you're kind of being led in the direction of what to go work on right like you have it's like a light how is shining a light and it's like this thing needs attention you should put effort into this or attention into it at least right that to me that can make it easy I'm not saying the conversations that follow are easy but it guides you where to invest energy or attention when things are overall pretty good or going great and you say well that means I don't have to give feedback to my team in my opinion that's where you start to do a disservice to all of the awesome people on your team because if we go back to the beginning of this conversation everyone is looking for direct feedback so that they know how they can continue to grow and as soon as you go these people are doing good they don't need any feedback from me that's where you start to fail them so that does mean that it's hard if someone is doing really good it can be really difficult to try and think of ways to give them feedback that will be beneficial but I think that you need to do it you need to spend the time doing it it's challenging for me right I've learned this lesson years ago but it's still challenging for me sometimes it means like it's challenging because how do I deliver this message to the person I want them to know they're doing well but here's an opportunity and other times it's challenging because I'm thinking about their growth potential and what I have to offer and I'm going I need to get creative here I really need to think about what would help them grow in their career and it's difficult for me to find these opportunities so it's difficult for many reasons but I wrote in my newsletter suck it up have the hard conversations so stop avoiding it if you're an engineering manager I think that you need to be having them and I would say honestly like if you're like it's really difficult for me to do that like I don't blame you right I've said this for every level we went through it's really hard to give direct feedback now I said I wanted to remember the phrase and I remembered so I don't want to forget to say it radical cander radical cander is this idea that you have and I don't want to butcher the exact definition but s sort of my interpretation of it is that you have enough trust and respect with someone in a relationship that you have at work right or this could be friendship or whatever but we're focused on work here so there's enough trust and respect in this relationship that you can be brutally honest with someone and they're not like wow this person's so mean in fact they do quite the opposite they might be taken back right at first like wow that was that was blunt feedback but that person knows and fully believes that every piece of feedback you give them is so that they can help grow and succeed so when you have radical cander you are able to deliver very difficult messages to people and they're able to go wow like I need to think about that thank you so much for giving me that Insight because you like you're expressing that you think I have work to do and because I really respect you and have a lot of trust with you I know that you want the best for me just checking the chat here hello sorry for bothering want to offer no you don't do that how do I kick people out oh easy just right click and block okay so radical cander it's some again I was saying this whole time you want to work on your relationships you want to build trust and respect it takes time and effort but when you invest into this it allows you to reach this point of radical cand so when you need to have difficult conversations with people as a manager you can lean into this and say look like you know that I'm trying to do and I you you've been demonstrating to them I've been trying to help you grow I've been trying to help you level up been looking for these opportunities but we need to make sure that you can focus on this you know whe whether it's a skill challenge or something else you can have that conversation with them and say look we really got to make some some progress here and you can be direct with someone and as a result when you have radical cander they will go oh crap like this person really means it they believe that this is the path and I'll double down and focus on this and not everyone will take the proper action or not everyone is able to kind of make that progress but I do think that trying to strive for radical cander as an engineering manager is critical so it doesn't just happen if you stop trying to give people feedback because it's just easy to sit back okay the last part for engineering managers is we talked about giving feedback for everyone but receiving feedback because managers aren't special in this case you're still a person that's trying to grow in their career and you want to be able to get feedback now I think there's two different ways that you can look at this for managers probably more but the two that I'm going to talk about one I'll just kind of touch on because it's the same that we talked about for the other levels especially sort of at this principal level and high influence uh individual contributor level which is you know when you're getting feedback you have a wider surface area to be getting feedback from you have your direct reports you have other teams right you might have other engineering managers you've been collaborating on projects together across the organization you have their bosses that you can be talking to to get feedback it's the same sort of idea you have a wide surface area to get that feedback but I hinted at the other one here and that's from your direct team and if you have a good trust and working relationship with them you can be collecting this feedback from them to make sure that you are giving them the sort of feedback that they need right you can learn from them how to coach and manage them more effectively but if you don't ask them about how you're doing with them you're just kind of guessing or hoping that you're getting the right signals so for example as an engineering manager I'm and I'm guilty of this by the way I'm not standing here on like on my Soap Box saying like I do this perfectly absolutely not I'm guilty of what I'm about to ask you right now but if you're an engineering manager and if you're not think about from your role when's the last time that you asked your direct reports about The Cadence of feedback that you give them when's the last time you ask them about how you deliver feedback if it's effective for them right like I said I'm guilty of doing like or I guess I should say of not doing this as regularly as I should or with you know the overall team maybe select individuals but this is an opportunity you can improve your working relationship with your team if you start getting feedback now if you think about it it can be challenging for your team members to give you that feedback because they're in a position where they're like oh I probably can't say anything to my manager that's going to upset them but I'll give you one really cool thing on my current team and I think it's awesome it's you know different personalities from different people I won't say any names or anything but I have a person on my team and they will say to me in conversations they'll say I'm gonna be I'm gonna be frank with you I'm gonna be honest with you and I love hearing that I love it because this person's going this is going to make me feel a little bit uncomfortable to say this but it lets me know that they have trust and respect with me that they're going I'm going to tell Nick this I'm going to express my opinion my belief on this because I think that he should hear it it might be sort of it might be direct to me it might be direct about a conversation we're having but this person's able to say I trust Nick with this perspective or this information and I think that that's so cool that someone can like they're basically admitting to me I'm about to go out of my comfort zone here and then they do it now I have a couple of people like that on my team and that's great again I said this is a personality thing too not everyone's going to expressly say hey I'm stepping out of my comfort zone buckle up but the fact is that some people are literally verbally saying that which is super cool and for the other folks on the team I need to make sure that I'm getting like that proper engagement and if I'm feeling like hey I can't really tell I should be asking them questions to get that feedback so that's going to wrap up feedback I think that it's incredibly important to be able to ask for direct feedback and how you do that's important it's going to mean that people need to be in a trusting relationship with you right needs to be a level of respect so that people will say hey I think I can go give Nick this feedback and you need to be practicing giving it as well because it helps literally everyone when you do that doesn't matter as I tried to illustrate with this conversation it does not matter what your level is what your role is being able to give and receive feedback is super valuable so I hope that was helpful and I will do the thing before I sign off here that if you guys have any more questions uh Giovani I didn't see any more responses so I don't know if my answer helped um or anyone else that's in the chat if you have any questions feedback or not if it's just about software engineering um I'm not going to answer coding questions uh right now but if you want to ask anything about you know it's technical I'm happy to give a perspective on it but there's a bit of a delay so I like ling a little bit before I sign off to let you type any questions you might have and that way there's an opportunity for me to answer them so please feel free awesome glad to hear Giovani um and I see software engineer at Microsoft so you know another way that you can get a hold of me is send me a message on teams um uh I doesn't have to be work related I'm happy to try and answer that's a bit of a special perk for Microsoft people I I'm connected you on teams so if you ever want to reach out please do uh it's actually pretty cool I've had people uh one of actually the the woman that I Mentor a really had a really cool experience where she said she had to go do something in C and I don't think C is the language she uses and she said that she uh went to go search for it online and one of my YouTube videos was the first thing that came up which is pretty awesome so she was like Hey like I searched for this and I saw your face right away but yeah um I don't see any other questions rolling in if you're in the middle of typing it'll try to um oh cool uh your advice is really helpful big bro awesome that's from Instagram I'm glad that's helpful um thank you for that c is great yes it is arguably the best language ever no I kid with people if you see me posting that kind of stuff on LinkedIn I'm just kind of trolling some of the other people it's for fun uh I love using C U you know well before working at Microsoft it's my language of choice to a fault I will use C for basically everything even if I shouldn't uh but I'm just comfortable with it so it's kind of fun to you know to poke fun at the other languages but you know every language is just a tool for us to use so different pros and cons okay folks I don't see any other questions though so uh thank you so much I do have an early start tomorrow I have a call at 5: in the morning which is in a few hours um so maybe I will take this as a sign to log off so thank you so much I will be doing this again at 9:30 p.m. PST next Monday so if you ever have questions that you'd like me to answer on stream you can just message me on social media pick a platform I'm on Instagram Tik Tok Twitter LinkedIn Facebook uh Pinterest I don't think you can send messages on Pinterest but find me somewhere I'll be there send me a message and say hey could you answer this on your stream and I'm happy to do that and again thank you so much I appreciate the conversation and we'll see you next week I hope take care

Frequently Asked Questions

What is the importance of feedback in a software engineering career?

Feedback is critical for growth in any career, especially in software engineering. It helps you identify areas for improvement and allows you to develop your skills effectively. I encourage junior engineers to actively seek feedback from their peers and managers to facilitate their career progression.

How can I effectively ask for feedback from my manager or peers?

When asking for feedback, it's important to be specific about what you're looking for. I recommend framing your request by expressing your desire to grow and improve. For example, you might say, 'I'm trying to develop my skills in this area; could you provide me with some constructive feedback on my recent work?'

What is 'radical candor' and why is it important in giving feedback?

Radical candor is the ability to give direct and honest feedback while maintaining a level of trust and respect in the relationship. It's important because it allows for open communication, where difficult messages can be shared without damaging the relationship. This approach fosters a culture of growth and improvement, which is essential in any team.

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