This is the transcript of the talk by Hampton Lintorn Catlin presented at Git Commit Show 2020.
About the speaker
Hampton is creator of Sass, Haml and m.wikipedia.org. In this talk he shares his career journey from developer to VP Engineering where he leads a team of 100 people. He shares his wisdom and answers burning questions for developer who want to transition to leadership roles.
We're in the mountains just two hours north of New York City if you've ever seen Dirty Dancing, which I highly recommend, the movie takes place up here so thanks for having my good morning to those in the US. Hello to everyone in India. I'm really excited to talk about this because it's my first time really talking about leadership and what it means and I've gotten a lot of questions about it throughout my career. It occurred to me as I was writing this that I have been leading teams for 15 years which is a long time to be a software developer, and how do you make that transition? Rent the Runway I'm VP of engineering and I have teams both in our Irish office and in New York City, though we're pretty much all remote right now. I'm VP of Engineering at Rent the Runway and I have teams in our Irish office and New York City, though everyone is pretty much remote at this time, and my career has been about leading teams. In another thread yeah I'm the creative sass and Hamill are both first in their categories and Hamill is a very interesting language. It's not as popular as it used to be, but SAS at this point is pretty much officially sponsored by Google. I am also working for the Wikimedia Foundation and I used to run their mobile projects back in the day, so we are going to talk about four different things. First, you know what the goal of the project is. We need to realize what success looks like, why we are doing it, what we are doing, what is the point of what we're doing, and talk a little bit about types of leadership positions. The different roles and how they're all different because it's not just leadership or management. It's nuanced based on the job. Then, we'll talk about building effective teams, and lastly, we'll talk about leadership. Finally, we're going to talk about sort of my thoughts about how to build an effective team, as well as your own career, and how to sort of figure out what you want from your career and your job. This quote is so inspiring to me. Treat people as if they were what they ought to be and help them become what they are capable of being. To me, part of leadership is to help people become what they are capable of. It's really your job to help them get there and help them be the best they can be. So let me say this is what your job is when you haven't been in leadership roles before Or honestly if you're a bad leader these are things that people sometimes confuse being a leader with so I guess the question is, does being a leader make people like you or is it the opposite, that the people who do not like you are those who are demanding? The job itself is to build a road map, attend meetings, talk to people, and write job requirements. These are all parts of the job, sometimes they're techniques, but these aren't what the job actually is. You're trying to do right here a few things that you may do throughout the process, but they're not the primary goal. To me, the primary goal of a leader is to empower teammates to use their talents effectively for the business.
Once again, I'm going to get into some other roles like this that can be a little different depending on where you are in Oregon, where you are in your career, and what your background is, but in the end, when we're talking about a business. Leadership is really about ensuring that people are enabled and empowered, which means letting them do their jobs and ensuring that they can actually do their jobs properly. New policy it's to make sure you know this has to be the goal of why you're doing it and if you're about to do something you think "wow this really doesn't help the team '' use their talents, skills, and abilities for the business. Then there's no reason to do it like it's a really good Northstar to understand. We should not be doing this. It is an important thing to say it's weird that this is controversial. People want to do a good job, that's a principle that I truly believe like almost nobody. I'm there are Psychopaths but let's take Psychopaths out of it nobody starts a job with the intention of being ineffective angry disempowered passive-aggressive. Now you probably work with people who have these attributes right but they didn't start that way. That's not the way that it's the first day on the job and you're just like "oh I don't want to do any work, I hate everybody". That's like when that happens to me, that's leadership's failure like that's a great sign that something is going wrong and that's you know if I have somebody on one of my teams who's acting like that, that's my thing to fix. I need to figure out if something is wrong. It's some moment they lose a passion or they feel disempowered is usually the cause and then they don't know what a good job is. It's actually a really common problem that people kind of feel unclear about what they should and shouldn't be doing like she'll be making this team happier this team happy, and which one's more important it's a really common reason why people just like their jobs.
Let's talk about types of leadership positions. So I'm just doing this at the high level and you know different countries, different types of organizations have different titles around these. So I'm just kind of grouping them into a leader of leaders manager and then an individual contributor and so the difference here is a leader of leaders. So I lead people who work for me and have people who work for those people working for them. So I'm a leader of leaders and that's a different job than. If you have a team of eight who report to you and you're the direct manager they're doing day-to-day work there are different parts to it. So let's just talk so here at the top at least in the US within tech companies generally the titles up here to be CTO VP or directors just depends a little bit on how you do it. But you know you are working on the strategy that allows the direct managers to actually do their job. Things like policy matter a lot in these roles, so what's our deploy policy, how do we? It's our testing philosophy and the goal here is to sort of build a pattern that'll work layers below a manager. This is probably what people think of and they think of management as a tech lead and the title can be the manager. It really depends on the organization but this is somebody who you know most of their direct reports are shipping code or writing code or doing testing or doing whatever but the goal of managers is to bring clarity and make sure the direction kind of more local for that team is actually happening. So the trains are running on time kind of thing and then obviously so individual contributor in my mind even though you know you know this would be a developer senior individual contributors absolutely must have some of the values and goals of leadership because if you're a technical leader in the company of visionary you're driving the architecture you need to understand and empathize and empower teams right that's your goal has to align there if your board junior you know you're just trying to get your pull request merged but more senior you definitely need to kind of shift your thinking. So you know these attributes of leadership even go all the way you know in this sort of hierarchy. I want to talk about some of the other attributes of these different roles as a leader. It's a much larger scope of a job, so your impact is larger when you're an angel contributor. Typically speaking you're focused more on a direct outcome on the downside leader of leaders things are more abstract and developers where people who write code I started writing that's why I got into this business and that's direct right you're still used to things that are physical and direct in happen it's a little more difficult to be in the abstract zone and there are more unknowns so by the time and decisions got done an individual contributor if you've done your job right I mean there's technical stuff to figure out but should everything else should have mostly been understood about what successes but towards the top. It is very vague you have to figure out a lot of stuff and I'll get to those ones later but you know this is true that you might naively think that l.You know we just walk around feeling satisfied all day because we're in charge and that's what means but actually it's way more difficult to understand than Oreos and the next one. You know what when is the org good enough right when my team's happy or satisfied or six. It's really hard to know you know it's there's no moment where you're just like “ wow I did it” and I think that's one of the hardest parts about being a leader of leaders where if you're named individual contributor you like the project launched or I did this thing and there's like something physical that comes out there's actually an output and a manager is somewhere in between on all of these. But the higher you go up the ladder the more you're the one having to bring clarity on success. It's on you, nobody's gonna tell you that you did a good job okay flat out nobody tells you good job alright let's talk about what those effective teams look like these are Google's five attributes of effective teams they hired psychologists and did a whole bunch of workaround. What does it mean to be an effective team and there's main I meant a focus on number one actually the psychological safety. So can you take on risks without feeling like you're gonna get embarrassed? So mocking or shaming those things really makes ineffective teams and these are the things that drive people. By the way, to get into that mode without things can we count on each other the teams dependable do you depend on your co-workers, do we trust each other structure and clarity are your goals and execution plans clear, do you know why you're doing the work and do you know the work matters and the last one. These seem simple but like if you put all five of these in place you will have a high-performing team. My job as a leader of leaders is to make sure that all of our teams are happy and we're not always successful. This is an impossible thing. It's never just like checking if they're dependable, so vulnerability is the key leadership technique that I use. That vulnerability is how you build psychological safety so if I walk around saying I'm the greatest and I'm the best and I have no flaws then I'm telling other people that I have similar expectations for them or they're not as good as me. That is not a way to build psychological safety, so these are the most powerful words for a leader and it seems even technical leaders. It seems backward some of the worst people have worked with the people will never admit that they don't know something. When you especially as a senior person tell somebody you don't know or you don't have an answer or you're not sure you're letting them know, it's okay that they also don't know when we got to go figure that out. Here's an example situation of were kind of the vulnerable version versus the traditional. So the leader of course I know elites you have a really hard technical problem and the leader goes first. I know everything about databases, I've done databases for years where probably it's complicated and you haven't spent the time to go figure out the vulnerable version. I don't know about that but I bet you can figure it out and tell us about it. That just tells people like I'm not the one who's gonna do this and I trust you. Here's another one: a junior employee wants to tackle a big project traditionally. We only let senior people work on this. It's too important you might mess it up. We can't risk that the vulnerable way is what I was starting out. I really struggled with a big project, you tell me more about how you'd like to solve it and like that just opens the door for them to show off and be great. That's an enabling statement, not just you gotta wait you know you should be here six months before we would trust you and you know maybe, in the end, I'm actually saying the same thing that I might not put you on the project or maybe you'll blow my mind and be amazing looks like a self-discovery. Are you sure you want to lead because this is what I tell I've had so many people in my job say you know my career? I think I want to go in the leadership team to get to a certain level and they want to start managing people and a lot of developers don't enjoy managing. They end up, they try it and they don't like it and the test is can you value your indirect outputs. So every day hopefully our website gets deployed with small feature changes, bugs, and fixes. I and the team are proud of the small things they're doing. I didn't do any of that but I have to find an abstract value that I'm helping them do and so can you wake up excited in the morning without having an actual deliverable. That's like concrete and it's really a question for yourself, so if you can find it yourself to value those indirect things leadership might be a great option for you and this is a little bit just a kind of high level. The way that I think about leadership is that you kind of start. I need something to have experience being an individual contributor developer.
Now there's overlap between these but for the roles themselves what you're focused on is different, what is people and what is the technology itself and once again, one has a much more direct output and the other has more abstract and an important part here that I want to add and this is something I always focus on. We're always clear people, they'll get a promotion to manager, they'll hate it, they'll start hating their job and then they'll quit because it's too shameful they got promoted to manager. We want to be really clear or I always want to be really clear. It's okay like going back to senior ice-t maybe you're tactical enough to be a staff, you might be able to transition to that. Like I would probably transition to an architect role but it's okay if you end up not enjoying leading people. That's acceptable and that doesn't mean you're bad, that doesn't mean you're better at your job or a bad person. It just means you're probably just not enjoying yourself and I think no matter what you choose in your career, make sure you're enjoying it because if you're not enjoying what you're doing, you're not going to be successful. I really believe that if people aren't enjoying what they're doing, they're really gonna struggle to give value anyhow.
Now it's time for questions.
Q. What is the process of transitioning from being a developer to a leadership position?
Normally the first step is to talk to your manager, so whoever you report talking to them, and normally what we do or in most companies is have a technical lead role. So that'll normally be maybe your manager has 10 direct reports and there's a smaller team of five and you can sort of run the sprints or start doing some certain things one-on-one with the team help to give advice, maybe mentor a more junior developer. So that's typically the path and its sort of a taster, so you're not necessarily having to negotiate salary day one but you can start to take that leadership role and then normally once you've been doing that for six months to a year depends on you know your something's go, we tend to change the title to manager. Then give you more people and as a percentage the time that you're coding would slowly go down until you're at my point where it's definitely zero percent.
Q. What are the skills that people need to learn before actually transitioning there?
Well I mean first off I believe you need to be a decent developer. So one of the reasons why I always like, I don't want to be a junior developer who gets along with people or maybe is outgoing and then I'll make a manager who's not very good at being a developer. I don't believe you can effectively lead technology teams without having a great sense of technology too. It doesn't mean you need to, you're obviously not going to be the architect but you at least need to be in my mind what a senior engineer would be. So that's number one and then number two, I would say and there's a little more abstract but practicing empathy.
Let me be clear about what empathy is. Empathy sometimes people think of as sympathy so you're crying because you feel bad for everyone in the world. No empathy is when you can understand where somebody else is thinking. So what they think is possible, you can put yourself in their shoes and understand them. That is probably the most valuable skill you should always be practicing. If somebody is acting in a way that doesn't make sense to you, stop. And think about it, why would this person act that way and that muscle is super useful for leadership because when I tell somebody they're not getting a raise, I need to understand how they're gonna hear me and I need to make sure we're having that conversation. I have to understand them otherwise they're gonna get angry, they can get burned out, they're gonna throw things that they might do anyway but it at least minimizes the chance. So one benefit that I see, a key benefit that people might want to transition into leadership is the benefits it gets you in terms of money. So how much difference is there in the industry when you transition from being a software engineer and following the path like just keep being in the software engineer or moving to these other radius leadership babies? So in my
experience, the pay differential isn't actually that large it really isn't. Now that might not be true for all companies especially the type of client service-oriented companies are obviously gonna value people who go out and speak or work with clients are gonna get valued more but you know generally speaking products focus companies I mean maybe 20 percent more it's that but typically because to us, they print. Like at Google for instance their highest-paid ads are not I mean there are a lot of them who are developers. They're the pea we were behind the scenes building out Google Cloud. They are not the titled people necessarily so I would not go into it for the money. That is it I want to be clear also at those senior levels of Technology there's a point where you can only know so much about code. Like I think junior developers think that you'll never know everything right but your skills and ability to quickly pick up a new programming language or understand a new paradigm can grow pretty quickly. But the real skills at what's the difference being a principal engineer and a staff engineer a senior. Usually, those are the ability to drive change not just in themselves but around them and so that's where you're not gonna get promoted in my organization to architect unless you are mentoring junior people. You're writing this amazing documentation training everybody on the coolest newest tech and then doing a whole initiative to tackle tech debt like that's to me as a type of leadership. Those roles are very extremely well paid, so I would not make the decision. I'd make it based on what you actually enjoy, what gets you excited because once again you're not gonna go write all that documentation and do all that extra work and put together the training if you're not excited about it.
Q. Can you share what was your career path, your first job, and then till now?
That's a long one that's funny my actual first time I didn't think I got into leadership and I actually kind of fell into it accidentally. So my first job, I was a college dropout and apparently in the early 2000s after the .com bust. If you don't have a college degree, nobody is going to hire you as a programmer. I found that out Lee I ended up getting hired by a small team of people in Toronto Canada where I was living at the time and they brought me on as their first hire of a small development shop and what ended up happening was there was a managing director at this company. I was the first hire, we grew really fast. That's where I came up with Hamel while they're in SAS. It's no longer around Malden space and what actually happened was the managing partner who was now at Microsoft is a very senior product person. He left the company to join Microsoft, he's been there for 15 years now I guess and I was 20 to 23 and all the sudden none of the rest of the remaining partners had a ton of background in leadership or interest in it or more interested in design and being a programmer. So I actually kind of just stepped up into the role of helping to run the business and because I had to, it wasn't like we didn't really have a choice. So I started building those skills there, it was kind of accidental. I mean since then I've gone on to run a bunch of these open-source projects. I got basically by inventing things and putting things online. I got a role as CTO, it can be called move web. It started small. We know it is growing pretty big but I've also been founder CEO of a couple of startups Rent the Runway. It was to be kind of coming to a larger organization, we're written over two billion dollars valuation right now. It's a much larger organization than the ones I've been up to previously. It's a different scale, different size, and who knows what's next.
Q. Let's say do you want to change anything in this path, what would it be?
First of all, I would recommend getting a career or a life coach earlier. I know it's a bit of a goofy thing to admit to but building confidence and belief in yourself I think is the thing that I put out a lot of. I always have but I think actually believing in myself behind the scenes and knowing that I can make a difference and I can do this and that I can make the changes. I guess you have to have a belief in yourself because like I said towards the top you have very little positive feedback. To be honest, you really do have to sort of finding it in yourself because especially during challenging times like now eight people come to you and they're concerned and they have questions. They have things going on in their life and you have to find a certain strong center place to hold on to and nobody else is gonna do that for you. So honestly if I had done that I think I probably would have stuck to one of my earlier startups longer and it'd probably be a success that's already there for me.
Do you want to share anything in pursuit of mastery with the audience?
I believe that all forms of technical mastery need empathy and programming. It is wrong to think that programming is unbiased and inhuman, that it's somehow mathematics or physics, or that it is unbiased by humans like the human rights code. We have our own thoughts, we have our own feelings and I think no matter where you're at just admitting to yourself, this is not just some sort of purist. It doesn't exist in either concept like our job is taking real problems in the world, writing tech, building technical solutions to solve them, and doing that with other people and I think that is something that is often missed. It's good to just deal with it.
Thank you so much!!