The Engineer to Manager Transition, by Former Twitter Director of Engineering David Loftesness

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
everybody thanks I can't believe I have to follow that awesome set of demos with my totally colorless slides but we're gonna we're gonna have fun anyway you guys excited one more one more talk all right all right here we go so this is actually a topic I really care deeply about it's the engineer to manage your transition I think it's something that all of our speakers have experienced in their career that we've all been software engineers and then at some point we were asked to step up and be a manager I've gone through it three times in my career which I've people I've worked with I've witnessed dozens of people make this transition to be to being a manager and I've seen it go really well and I've seen it go not so well so that's that's the motivation for this talk I've got a ton of build so I really hope this thing is gonna work oh there we go yeah thanks so yeah so that's so the goals of the talk I really want to provide some context for those of you who haven't been a manager before on what the role is all about being a technical manager I want to give you a framework by which you can decide whether it's something that you want to pursue for yourself for your team and I want to give you some pointers some things I've learned along the way that hopefully will help you succeed if you decide to go forward with that so a quick background about me I've been working in tech forever I worked at six different companies founded a couple of startups I've been lucky enough to work at a couple of hyper growth companies that went through an IPO process most recently with Rafi at Twitter which was an incredible experience and I think I've directly managed about 15 engineers who made this transition I hopefully I've learned a little bit about how to make it successful from that experience my contact info is here I definitely welcome anybody to get in touch with me especially if you try out any of the techniques that I'm recommending later in the talk I'd love to know whether they work for you or not it'd be great feedback for me so let me give you some context so you probably know startups don't tend to have management in mind when they get started they have a couple of co-founders they get some engineers on board maybe a product person maybe a designer and they're really all about finding the right product they're iterating fast they're not really thinking about how we're gonna manage the team in the future basically the founders are making all the decisions and they're looking for product market fit and hopefully that's something that they find and when they do company starts to grow and I think Lenin touched on earlier the concept of organizational debt as you're growing again you're not really thinking about management you're just thinking about how do I get that next person on board how do we get the next release out the door and at some point you some thought that organizational debt leaks out in some way either you miss a release or somebody realizes like we have no idea what's going on with that group of engineers over there or maybe we have a couple of groups of engineers working at cross-purposes and so somebody wakes up and realizes like hey we need to get our management thing figured out and the most likely way that that surfaces is some somebody who's doing some management kind of tasks comes to an engineer and says Nina I know you really like the engineering work you're doing but can you please manage this team for me and that's often the case it's often the way that the company transitions from not having any thoughts about management to really starting to build a management team something I've observed over the years is that most tech companies have a bias towards doing this in-house you can certainly hire managers from the outside but there are advantages to converting individual contributors at a company having them step into a management role the main advantages that those people have a ton of context about the products the team has been building the way that the products have been built they understand the customer base the workflow that you're using and all that is context that you would have to train somebody on if you brought them in from the outside the bad thing is that most of those eye sees probably have never managed before in their career they have no idea what they're stepping into and the founders probably aren't going to be effective coaches and helping them become managers and you're already operating from a position of management debt so that's kind of the situation we're gonna find ourselves in so I want to take a quick poll how many in the room are managers today or any of those teams before all right keep your hand up if before you became a manager you receive some kind of management training I'm gonna put my hand down because I didn't all right we got one so I did a similar poll with some friends of mine and some colleagues that I'd worked with at different companies before coming here I asked them this question basically the same same question I asked you I asked about 30 people about half of them responded so I got about 14 knows and I got one yes so very similar results to what we're seeing in this room so let's tell you this is a pretty common pattern across the industry so we seem to have this sort of like just in time management approach and this is kind of crazy like we have this really important function and what we do is we take totally untrained beginners people have had four-year degrees in computer science prepare them to be an engineer and then ask them to do something that they've totally never had to do training for and you know why does this happen for a few different reasons I think management skills tend to be undervalued we talked before about the value of all the contexts that you have the experience of the company perhaps that's more important than your management skill the technical skills are really valued early on in a startups life and I think it's a really common thing for an engineer or for a founder to say you know management it's like schedules and meetings and that's something you can do on the side so that's kind of how things tend to go now this isn't something we're gonna change probably certainly not in this in this room right here this is just kind of the way the industry so let's fast-forward to some point in the future again you're at a company the company's been growing we need to figure out some way to get ourselves organized we need we need somebody to becoming a manager so somebody comes to you and asks you this question can you please take it over managing this team for me so how do you think about is this the right thing for me to do is this the right job for me and am I the right person for the job so I wanted to talk to you a little bit about what's gonna happen if you decide to go for it so I think a really great way to think about it is it's an entirely different job like I mentioned before you may think you can just kind of bolt this on to your existing responsibilities but that's probably not gonna work and we'll talk a little bit more later about why that's the case it's really important to know now that you're gonna have a team of people whose happiness in their work is it's a major responsibility for you direct managers have a huge impact on job satisfaction there's a ton of data out there that I'm gonna kind of gloss over in this talk but you the way you interact with the people on your team has a huge impact on how much they enjoy their job and similarly you now have a new responsibility for the entire results of the team before you were responsible for your work now you're responsible for everybody's work even though you're actually not going to be doing that work yourself and this is a big shift in the way you're thinking about your job from day to day and it's important to kind of have that mental shift in mind before you take on the responsibility I'm saying this kind of in kind of stark terms but you really need to be prepared to say goodbye to coding and this includes architecture design work all that stuff I definitely know coding managers that are out there some people are very hands-on but I think as a new manager it's really important that you're prepared to take this step and I think you know there's always a transition period you're probably in the middle of some project you want to be able to finish that up but the longer you take to really embrace the new set of responsibilities that you have the longer it's going to take for you to feel confident in that job and then I think we talked to we've had several touches on the concept of autonomy it's really important that you be able to step back from making those technical decisions and give the team show the team that you trust them to make those decisions going forward I think if you don't do that that sense of autonomy is never gonna be instilled in the team so you've said goodbye to coding now it's time to say hello to your team so what are you gonna be doing instead of the coding and design work it's really important that these are people you've been working with but you really need to understand them at a deeper level than you did before you need to understand what motivates them to come to work every day what are their career aspirations what's going to help them do their best work every day so that you can provide that context for them talked we've touched on expectations and David's talked I think expectations are super important being able to set and challenging ambitious goals for the team we've talked about communications and the last in the last couple talks communicating is going to become a big part of your job you're gonna have access to information that your team doesn't have and you're gonna need to be able to relay that information to them you're gonna be able to need to be able to communicate what's going on with your team to your peers and also to your managers above you and I've touched on this a couple of times now but being able to trust the team with important technical decisions is really really important ok so going back are you ready to say yes to this to this challenge now that you have all this stuff in mind you know things are gonna be different you're gonna have a new set of responsibilities Nina are you ready to take on managing this team all right so what's gonna happen so I've broken down I'm trying to get you through the first 90 days of the job and I've broken it down into sort of three chunks I think 90 days is long enough to know whether this is gonna be the right thing for you and the right thing for the company and I've broken it into kind of three phases just to have some and I think it is a really dynamic time those first 90 days and so I want to have these kind of distinct three phases for you to think about different parts of the chip I have the job as you go forward so the first part the first 30 days really need to think about owning your education I've touched on this multiple times but you're probably not an manager you probably received very little training your company probably doesn't have a management training program so if you really want to learn about management this needs to be built into your daily process all the time that you would otherwise be spending coding doing code reviews you should really be spending that thinking about how to like the effective in this job mentioned before you need to be actively learning about your team that comes up that comes through one-on-one meetings it comes through team meetings comes through having lunch with your team it's a variety of different ways you can learn about the people on your team and then it's really important in these first thirty days to find a mentor hopefully there's somebody at the company that you can learn from as I mentioned that may not be the case maybe you have somebody that you've learned from at a prior job somebody whose management talents you really respect maybe there's a consultant you can hire but try to find somebody in your circle or put out a message on Twitter hey I'm looking for a mentor there's got to be some way you can find someone who can give you some guidance the next 30 days this is where I see a lot of people fall into a couple of different new manager traps one of them is you just get swamped with email and meetings I've seen this dozens of times new managers think I got to go to all these meetings I got a view response I got to read all these emails and you have no need to provide status reports to my manager and you just get completely sucked in and they don't have any time to step back and think about how am i doing as a manager what does my team need etc the second trap is that you don't actually step back from coding a lot of times this new work that you're doing it's really foreign it's strange maybe I've got a performance problem I need to deal with on the team and that's really uncomfortable because I have to have this hard conversation with somebody you know I really should help the team get through this next release because that you know that's something I know how to do and I can I can feel really good about myself getting that done so it's a really common trap and the best technique I've I've come up with for how to deal with this is to build yourself what I call an event loop this is some basically a set of checklists for things that you need to review every day every week and every month and it's basically oh and it's really important that you block off time on your calendar to review these checklists and I'll give you an example in the next slide of what these look like so again we sort of have the daily the weekly and the monthly these are just some examples I think it's really important for you to build this for yourself but there's sort of the different aspects of the job and what do you need to review every single day and example with with kind of in the people category every day if you're in recruiting mode you should be thinking about what do I need to do to close the candidates in my pipeline that's something you can't afford to let slide because you're really thinking about the coding work that you really want to be doing similarly you know you may have some critical projects that are coming up to release do you know where the status of those projects and what you need to do to help your team achieve those kind of on the monthly basis which is the stuff that's the easiest to forget about because it's the longer-term stuff it's you know if you have a monthly check in with yourself some of the things you might think about are have I communicated my expectations to everybody on the team maybe you have some new team members and you haven't had that conversation with them yet are we managing things the right way maybe there's some process changes we can we should make to make things a little bit more streamlined in our company in our team and so again these are just some examples but I think the key factor is that you actually block off the time it's a sort of review how am i doing on these management responsibilities that I have and make sure that you're actually stepping away from email stepping away from meaning stepping away from coding and taking care of those alright we're in the last 30 days so I think this is the time when you can you probably have a some gut feel about how this is going for you maybe you feel feeling pretty good or maybe you're not so sure there's a couple things to think about to double-check I think by this time you should have enough familiarity with your team that you can take this little simple test you can basically sit down and in one minute per person you numerate what is uniquely awesome about that person and how am I going to leverage that awesomeness to make the team more effective and I kind of clip this from this guy marcus buckingham who did a ton of work with Gallup polling thousands and thousands of managers and employees to figure out what made great managers great and the ability to do this was one of those factors that emerge from that from that study and then kind of a similar thing like after this amount of time with the team and thinking about how the team is doing you should be able to kind of bump up a level and get a sense of are there changes that we need to make and the way we're doing things or the messaging that I'm giving to the team I have an example that's linked here hopefully you guys can get access to the slides and find this online but this guy that worked for me Glen Sanford about this this far into his management role he realized you know we're really not doing what we need to do on code reviews we're really kind of inconsistent and I thought he realized he hadn't communicated his expectations but the code review process to the team and so he wrote this white paper I encourage you all to read it it's really really well done and I really changed the code quality and the efficiency by which the team got their code out the door and then the last thing is by by now you should actually be having an impact on whether the team is delivering if you see that the team is actually falling back from their ability to deliver that's not a good sign hopefully you're actually improving the team's ability to deliver and that's really what matters most to the company all right so now is your chance to decide how's this going and I really encourage this to be an active decision this is something you should really make consciously and not just sort of slide forward and end up feeling really bad because you just don't like this job or even if you're feeling really good you should be something that you choose to go forward with and it's really important if you decide this isn't right for you that's okay I think a lot of companies we avoid calling management transitions a promotion you might notice I haven't used the word promotion anywhere in here it's not really a promotion it's really an entirely different job and so going back to it should be just an active choice to re-engage with what you're passionate about what you're strongest at and if you decided to go that's great you still have a ton of learning to do three months into being an engineer you still had a lot to learn about being an engineer so it's important to kind of maintain that learning attitude going forward so along those lines a couple suggestions actually gonna start with the last one Lennon talked about building a learning environment in different ways that you can do that I think that's really important in the management vein in addition to the technology vein so find a way to have a set of peers that you meet with regularly to talk about here's some issues that I'm having how do you deal with those or maybe you want to hear about how Dale is so great at dealing with jackass engineers Dale can we have you talk at this month at this month's brown-bag lunch that would be great so figure out a way to have that be just part of your natural habit of coming to work every day something that I've noticed over the years that there's been a bunch of studies about as well is that there's a tendency with managers to focus on like I gotta fix the problems with my team like this guy's he's mouthing off in meetings all the time I got to get him to stop doing that or this person is really not good at this aspect of their job and I'm gonna fix that and in general what I found is that it's actually better to focus on what they're best at and make that what they're best at even better I think in general there's much more upside on the strength side than there is on addressing weaknesses certainly if there's performance problems on the team you got it you gotta address those head-on usually that means managing somebody out if it's that bad but again the upside on focusing on strength I think is much higher than addressing minor weaknesses and then the last thing is managers often operate in an information vacuum it's it's sometimes hard to know like if you decide like hey we're gonna change the way we do code reviews is this really working for the team or not sometimes people are afraid to speak up especially engineers we tend to be sort of inwardly focused so find that one person on your team who's maybe a little bit mouthy maybe a little bit you know oversharing or somebody who you just really trust who also trusts you and you can let them know like hey I really need to know what's the response ban on this on this change so find your truth teller and really leverage that relationship here's some pointers to things that I found really valuable I love people where it's my favorite book ever it's getting a little bit dated but it's still got tons of wisdom in it and a couple of other pointers but anyway that's it there's actually been a big I'll start the question is whether comment was don't even though I'm saying don't think about it as a demotion isn't it true that in most companies managers get paid more and that management transition is considered a promotion actually at least in the area that we work it's definitely not true anymore it used to be true I think in in earlier times maybe but I first got into into the industry but now there's definitely a focus on having separate what are called tech ladders so the job family front of an individual contributor engineer and there's a separate job family for an engineering manager and you can progress separately on each track and moving from like a senior engineer over to being an engineering manager is really viewed as a lateral transition and doesn't necessarily mean that your salary you can choose that your salary changes in fact if you're a super experienced engineer and you go to be a very junior manager your salary good theoretically decline you might or you might be out of the end for the salary range for that position so there now this is true at Twitter I'm pretty sure this is true at Facebook and Google this is becoming more and more the standard that you have a separate a separate job ladder for engineers from managers I think it's generally viewed as being successful yeah you can just shout okay yeah okay concerning saying goodbye to coding so do we have to understand that not writing code at all because well in my opinion like having 20% of time or I don't know 15% of time writing code will should always help to keep track on what's going on to understand everything more deeply so should we understand not coding at all or switching to other tasks what's that yeah do you guys code any of you guys good yes so I said that in kind of a stark way cuz I think you need to be prepared for that situation it's really gonna depend on the challenges of the team how easily you adapt to doing all the management work for some people I think it's but as you gain experience it becomes more and more just kind of a natural thing for you to know how to respond to certain management challenges and that would might free up time for doing code reviews potentially doing some coding but I think initially most of the managers that new managers that I've observed they did they get almost overwhelmed the other problem that comes up is maybe they feel like I'm kind of doing okay I'm gonna do a little bit of 20% time what will happen is that they'll end up blocking other people because they're waiting on their work to finish so you need to be really selective about what coding tasks you take on if you decide you're ready for that for me it's kind of it's kind of a rule like your new manager you can't code and then as you become more and more adept at being a manager more and more comfortable in the role especially if you have a smaller team then we can talk about it yeah it's like I put up my hand to say that I do code but I think this is absolutely right so I think that the biggest mistake that I see new managers make is that they end up being you know coding is really absorbing it's awesome you get into this flow and you're like your heads down for the whole day and then you get to the end of day it's like check your email oh look some things went wrong today you need to be on top of that so I think your observation which is if I can spend some time working in the same codebase is the team that actually helps me understand what's going on it's a good one but that's like you know when everything else is working really well and you can find a way to do that at a time that's not gonna block anyone so personally I do write some code and like my team's code base but I only do it on plane flights at the weekend and I do it mostly for fun and I think you can use that e/m event loop to help you decide like if you get through your checklist and everything's rockin that's maybe a sign that okay I could probably try to do a little bit good yeah go ahead mostly developer can be a team yeah you don't find like a manager position so I think you're talking about tech leads which is a role that some companies have which is the sort of the senior technical leader on the team and I think that the easiest way I can distinguish that from a manager is that the manager is not responsible for the technical decisions but the tech lead is the tech lead make sure that all the technology decisions that we've made are the right ones I think and a question how do you disagree that you can maybe enable the team to make their own decisions but a lot of companies the tech lead owns a cross question what exactly is manager responsible for then manager is responsible for the total output of the team which is not just the individual technology decisions but what I think you know looking back on David's talk like you've set some ambitious goals for the user to impact the user experience like you're going to improve the speed of the website by 20% and if your team is responsible for that objective then the manager is responsible for achieving that that objective obviously everybody plays a part in that but the manager ultimately is responsible for how well the team does and yeah and hiring to fulfill that objective and there's a lot that goes into that there's like career development performance management all those all that stuff but at the end of the day that's responsible or high-level objectives right okay I have a question yes I want to get back to that but what do you consider great upward management feedback because I think a lot of times especially at Google they really encourage us to you know give your manager some feedback but oftentimes like you said it's kind of difficult to know how honest you can be with your manager are there any examples of great upward feedback that you've gotten that you've really remembered or appreciated or pivoted your style on yeah I think a couple of people have talked about trust and you have to have trust you have to really invest in that with your team in order to get that honest feedback I think it's important for you to solicit it especially on off cycle from performance reviews which is when typically you get some manager feedback and that's also a very high-risk time to give that feedback I think so I think you know soliciting that from your team so one thing deal often really well with me is that when you want to give me particularly feedback he basically just be like Rafi I'm just like you sir lowering that tone of voice hey just feel like okay what they do wrong and it's not like nessuno what I do wrong it's more like what can I do better in a lot of ways like like whether it be presenting in front of group or whether it be like not cutting a particular project in time or stuff like that and I think Trust is really the thing like you just learn to like be comfortable of saying like you screwed up that one and you're I'm being also comfortable affect that other person might be like I actually don't think I did and so like being able to have that back and forth is actually the most important thing both up and down I think any other questions yeah good I'll tell you what Rafi is great at sorry before you go Rafi was great at deciding what not to do and I'm terrible at that Ralphie always knew what things could be dropped and what to focus on and for me that's always been a challenge but thank you very much for the interesting talk one question about the nineteen days period so great managers are also meant to be great leaders and from leaders people wait actions and people wait them to lead by action and for me sitting 90 days and learning and reading books and evaluating my myself and probably not acting on my new position might be a bit so I mean is there risk to missing that transition point for the manager position so the rest of the team not anything you are just sitting and like not acting and the way you really should do the transition for yourself and for the team thank you so I think I think I missed the question I mean you told us that 90 days you should first invest to yourself learning your new position whenever you add yourself learn about team so my question was like real leaders should act and lead by example and so on motivate the team is power everyone and so on so is there a risk of missing that transition because of that 90 days just period I mean should you do the transition more not not a smoother but maybe I think you know related to this I think it's worth being open with your team about how you're approaching this and how you're gonna make a decision I don't think there's I think it's another way to build trust is just not keep keep from them kind of how you're approaching it and like the fact hey here's something to learn about management hey I've signed up this mentor you know hey I'm really working on this event loop thing let me show you what I'm doing they're like I think you can share all that with your team I do think leadership is slightly different from management if I was to crystallize the distinction I would say that leadership is about understanding what's common amongst a group of people and being able to find a way to activate that commonality whereas management is knowing about what's different between everybody being able to act on that I actually find the former for me harder than the latter they certainly overlap quite a bit but that's how I would distinguish between what one other thing that I think tends to happen when a company is making new managers usually means that not everything is going perfectly right like the team's too big there aren't enough managers you know whatever so even just being there as a steadying force doing regular one-on-ones sort of minding the ship is probably gonna be a parent to your team they're not gonna think that you're doing nothing so you know some of that is like usually you're not creating managers just because you're doing it because there's actually a serious gap in the organization and so folks will probably maybe they won't even put their finger on the root cause but suddenly everything will just be going a little bit smoother and they'll be a little bit less stressed out if it's working and so that that helps a little bit I've seen some times when where is the problem and we are trying to solve a problem by adding more managers maybe you have seen out so what's your felt like today many people speak about self-organized teams and less managers like manager has manager and that kind of it goes up higher fee it's not very good what's your opinion what what's the golden ratio is management and how how should people report to one manager because we have team lead manager where there are PA pas or piece and I think most of us software engineers is it's better to interact with technical people and managers I don't know it's easier well I do believe that managers should be technical I think even or yeah I think that's I think you need to be allowed to have a technical conversation with your manager that's really important even if they don't have the same software engineering background you do I think if your manager can't relate to the work that you're doing and understand how to give you guidance on your career development then that's a problem I think as to like what's the golden ratio I do think that kind of the seven plus or minus two is sort of in my ballpark Twitter we had sort of a rule about no more than 10 per manager I think that's a pretty good rule I think as an organization you have to be mindful of when you're throwing managers at the problem I think one way you could look at that is whether your hiring is actually helping you achieve your goals more effectively or not that's sort of the highest level so I yeah but I'm not sure how else to answer that particular part of your question but hopefully I got the other parts Thanks okay
Info
Channel: Teamable
Views: 60,781
Rating: undefined out of 5
Keywords: Engineering (Industry), Work, loftesness, armenian tech, Engineering Management (Field Of Study), twitter engineering, tech talent, engineering teams, david loftesness, hiring tech talent, recruitment, tech recruitment, tech management
Id: qaHEy1I2M5Q
Channel Id: undefined
Length: 32min 50sec (1970 seconds)
Published: Wed Jul 29 2015
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.