Interview with Tomohiko Ito and Shingo Adachi of Sword Art Online

As you might remember a few months back I was really excited to meet Tomohiko Ito at Madman Anime Festival this year, and despite some hiccups, I got to do just that! After the jump is a full 15…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




How To Become an Engineering Manager

I have been asked several times how to make the transition from individual contributor to manager. Rather than answer it for just those asking, I thought I would take a moment to share my thoughts with you!

I decided to be a manager of people for two reasons. One, it seemed a necessary skill if I wished to enable the development of anything more complex than I could build myself. The Saturn V rocket was born out of Wernher von Braun’s ability to lead, not just his ability to calculate delta-v. The second reason for my managerial bent was equally simple: it was really hard. Computers always do what you tell them to, but people… don’t. It is fiendishly hard for someone such as myself to learn how to motivate, develop, and focus people. It’s something I can genuinely believe I will be learning about and struggling with for as long as I’m on this earth.

Werner von Braun standing in front of the Saturn V rocket he helped design.

It is not, and should not be, for everyone. I know absolutely brilliant principal engineers and it would be a crime to all of humanity if their time spent building was pulled into people management. At the end of the day the future is built by the people who are actually willing to get their hands dirty. Beyond that, a new wave of nomadic entrepreneurs like Pieter Levels have shown it’s possible to build entire companies alone. Coordination consumes a lot of resources, working alone has its advantages.

Managing and mentoring has a tremendous upside along with its difficulty. There is nothing quite like watching a person grow from a novice to an expert, capable of incredible things. There is also nothing more valuable to an organization than being able to recruit entire teams who can work together to get things done which simply would not have been done without them. It can define the future.

Management is a skill. It requires an understanding of people and a sense of judgement, but also a whole load of nuts-and-bolts judgement learned through experience. Virtually every manager will suffer through the same situations (an underperforming direct report is a classic one) and come out the other side with learnings and a playbook for how to deal with those situations in the future. Similarly, they will pick up useful practices which can be applied to their future teams to make them more successful.

Unfortunately, these are not skills commonly developed in childhood or school. Being a team lead for a few weeks of your senior project is barely a blink, and it represents the entirety of the leadership experience many of us have entering the workforce. When you are asking to become a manager for the first time you are, therefore, asking for no small favor. Imagine what it would mean to hire a software engineer who had never programmed a day in their lives before they started the job. Imagine how much training, how much mentorship, how much patience, it would take to get them to the point where they could be successful. It would be a tremendous undertaking! Management is no less a skill, and most of us enter it no more prepared.

Truthfully, the reality of the situation is even worse, as we can tolerate bad programmers more easily than bad managers. Bad managers don’t just waste their own time, they endanger an entire team. The classic adage is “employees don’t quit companies, they quit managers” is true. Your manager is often your gateway in an organization to knowledge and opportunity, if their bad it can make your life miserable. What a risk an organization is taking in allowing someone without experience to try it!

Fundamentally organizations don’t make managers, directors do. Directors are generally responsible for managing first-level managers, and it falls to them to make the necessary recommendations which lead to someone getting promoted. At the most basic level, your director (or in a smaller organization VP of Engineering or CTO) needs to decide you would cause more good than harm if you were managing others. It’s that simple, and that hard.

There is one important caveat: all of this only applies if your organization needs managers. If your technical team isn’t growing it’s possible no more management is required. If your organization is notably flat it’s possible they don’t want more managers, whether they need them or not. It’s also common for organizations to go through phases where they emphasize bringing in experienced external managers to boost their overall maturity, during which it can be hard to get promoted from within.

The jump to being a manager is a big one. The job is essentially entirely new. There is rarely any meaningful source of training available. Most managers learn their craft on the job through mistakes, and through mentorship. Allowing you to make that leap into a new career takes a great deal of faith on the part of the organization. That makes it very rare for it to come through a career change, few people want to hire a manager who has never done the job before. Generally people must work somewhere for a year or two before they are moved into management. Once that title appears on your resume it becomes possible to at least get the interviews you need to keep it. If you choose to work somewhere which requires X years of experience before making that leap, you might be in for a wait.

Becoming a technical manager requires technical experience. Conventionally, in the tech field, this is considered necessary so you can authoritatively speak on technical topics, and so you can mentor more junior team members. It’s also important as a check on the desire for junior people to immediately move into management. For better or worse it’s generally considered important for people to have, at least, a decent amount of work experience before making that leap.

Technical knowledge is not the only thing gained through experience. Judgement is, by my definition, the ability to know what the result of a decision will be without having to play it out. It’s the knowledge of what has to be reported up to your boss and what can be kept inside the team. It’s the knowledge of what performance or reliability problems have to be tackled, and what can be deferred. It’s knowing just what to say to a recruiting candidate to get them to want to work at the company.

Judgement takes experience. It takes making decisions and seeing how they will play out. And that takes time. But your time can be more or less valuable. If you’re in a role like running a startup you get a lot of experience very fast (at least at leading very small teams). If you are in a very narrowly scoped engineering role within a very large company, it might take much more time for you to learn.

The conventional track within a company is to spend 5+ years as an individual contributor, working your way up until you are ready to move into the management track. This is sometimes a bit unfortunate, as it’s very possible many people who simply don’t excel as individual contributors would make excellent managers. God knows there are many ICs who shouldn’t be managers, why would the reverse not be true? It is very possible there are many people slogging through the promotion track as a programmer while everyone would be much happier if they could move into a more people oriented trajectory.

In any case, as with all process-related limitations the way to bypass this clock is generally to find somewhere where the game is played fast and loose. That usually means startups. Many tiny startups need ICs much more than they need managers and won’t create the best opportunity for entering management. As they pass through five or ten engineers however it quickly becomes clear that some management is necessary, and an enterprising engineer on that team can earn the mantle. That opportunity remains up through perhaps a hundred engineers when more hierarchy and process begins to be enforced. It also can be very valuable to work for someone who is more instinct than process driven. This is very much a personality trait and can be selected for while you are interviewing. Choose the place where the VP of Engineering calls you, not the place with an ultra established interview process.

If you are told you need X years of experience before making the transition at that company, it’s likely true. If you are told you don’t, it might still be a fact. Don’t necessarily believe promises made during the interview process, talk to other actual managers who made that transition first. Also be cautious in spelling out your managerial intent in the interview process. It can scare off organizations who will fear you won’t be content working as an individual contributor if you are immediately looking for promotion.

You also must act like a manager. That doesn’t mean ordering people about (that’s not what a great manager does), it means being responsible, being accountable for your actions, caring about the people around you, making people want you to be in charge. Be trustworthy, give credit to those around you, stand straight, bring solutions not problems. Appear to prioritize the organization over yourself. When given the choice, act like an adult who acts in the interest of senior leadership, not a child who demands things of them. Don’t be the drunk one at the party or the loud one at the table.

This attitude can also be evidenced in how you speak. Consider these two comments made to your boss:

They will, very likely, get you the same thing. One is how junior people ask for what they want, the other is how senior people endeavor to give the organization what it needs.

Always remember that your ultimate goal is to make the Director-like person believe that the organization will be better served by you leading others than the alternative. That also means making other engineers respect you, as they are the very people you will end up leading. That can mean putting their interests first, making sure everyone is heard, supporting people in any way you can, and acting as much like a manager as you can even while you don’t have the role. It’s often said that you get the job after you start doing it, that is no less true here.

You can cultivate your judgement. It can be done by thinking and writing about decisions made by yourself and others, and by asking questions to learn how decisions are being made. If you are given an opportunity to work on a project where every decision hasn’t been made yet, don’t just wait to be told what to do, take some time to form your own perspective. For me that usually means writing. By writing I am able to get my thoughts into a form where I can build on them, and even more importantly, edit them. If you don’t like writing, it’s all the more important!

You can also read books and blog posts on engineering and management (you’re doing it now!), but don’t just consume them, write something based on them. It can be a critique allowing you to get on paper why something felt off to you, or a summary, or an aggregation of many different sources on a topic. As Benjamin Disraeli said: “The best way to become acquainted with a subject is to write about it.”

You also have the opportunity to absorb all the knowledge of the people around you. Ask questions to the managers in your organization. Build relationships and show them you value their advice. Have a humble learner’s mindset: don’t push to have your opinion heard, instead assume everyone has something to teach you and allow them to. It is always more valuable for you to make someone think they are the smartest person in the world, than for you to make them think you are.

This idea, that how you make people feel is important, is a critical component of the other thing you need to be successful as a manager: empathy. Empathy isn’t just the ability to sympathize with other people’s problems, it is the ability to understand other people’s perspective; to put yourself in their shoes. If you often think people are ‘crazy’ or ‘nuts’ you likely don’t have very much empathy yet. If you think people are complex, challenged, individuals who are all doing their best however poor that might be, you’re closer to the mark.

You can build empathy simply by listening to people, asking questions, and learning how they think and why they make the decisions they do. In that listening you must do something very paradoxical: you must turn off that judgement which you spent so much energy to cultivate. Judgement is your perspective, and it is the dire enemy of you being able to understand anyone else’s. You must listen with the attitude that you are not always correct, that everyone has a right to make their own decisions, and you are not god: you have no unique ability to predict the outcome of any of those decisions. You are simply another human with your own perspectives and your own decisions to make.

The more you cultivate that empathy and understanding the more you will be able to relate to, build relationships with, and predict the behavior of, other people. It can certainly be a challenge, but if it’s not one you are interested in taking on you should not be a manager.

You should, at some point, tell your boss your ultimate goal is to be a manager. That doesn’t mean saying ‘Make me a manager’, or ‘If I don’t become a manager I’ll quit’, it means saying “My long-term goal is to move into management. I know I might not be ready for that yet, but can you help me get and stay on the path to get there?” Eliciting help is almost always a great move, and demonstrating you know you have a lot to learn is a wonderful way of showing you have the right attitude for moving into the never-ending challenge that is management.

You should also solicit the advice and mentorship of other managers in your organization. They made that transition and can give good council, but they also probably talk to the directors in your company more often than you do. You never know when a good word might be made on your behalf. The absolute most important relationship however is between you and your direct manager. This is the person who ultimately will make the critical recommendation, and who will control your access to high-visibility and management-like opportunities leading up to that moment. If you don’t think your manager wants you to succeed, you need to have a direct conversation getting to the bottom of it, and if that doesn’t work, you need to switch teams or jobs. It’s exceptionally hard to succeed with a manager who doesn’t want that for you.

Ultimately, life is long and most people give up long before they run out of time. The five years you spend wanting to be a manager might be the fond blink of an eye in the scope of the thirty years you spend as one. Learn everything you can, about engineering, and about people. Most importantly, when you become a manager, as I believe you will, please be a good one.

Add a comment

Related posts:

Homework 1

This course covers many topics, some of which you’re likely to have some experience with — many others will be completely new to you, but not to your classmates. It’s this dynamism — not disparity —…

MOTTOES FOR EDUCATION

Education is not a product: mark, diploma, job, money–in that order; it is a process, a never — ending one. — Bel Kaufman The task of education is not to put greatness into people but to elicit it…

Goldenugget

Mynbou is die onttrekking van minerale en ander geologiese materiale van ekonomiese waarde uit deposito’s op aarde. Die mynbedryf kan ernstige nadelige effekte op die omgewing hê, wat erosie…