A complete guide on being a great manager, written by an engineer

Well, not really a guide. More like engineer-approved ramblings

I’m not a manager

I’m a software engineer in the Bay Area and I’ve been working in the tech industry for a significant part of my adult life. For all these years, I’ve always had a manager- whether it was working in a small startup or a large company. I personally don’t think I have any inclination to become a manager, at least not anytime soon, but their role and impact on my work has fascinated me; I’ve always tried to think about what I would have done if I was in their shoes. Obviously, I never really knew their exact situation and constraints but that didn’t stop me from thinking about it.

Your impact

I cannot emphasize enough on the level of impact you as a manager have on your direct reports. I’m sure you’ve heard of the quote “People leave managers, not companies” and yes that is a wild claim that doesn’t always makes sense, but I feel that there’s some truth to it. Nowadays, with mega size tech companies, people don’t even necessarily leave their company to leave their manager, they just hop on to a different team in the same company. Anyway, the point I’m trying to make here is that your relationship with your engineers directly impacts their quality of life, at and outside of work, on things like motivation, stress, and anxiety. For me, my relationship with my manager is one of the biggest factors impacting my entire perception of the job. And a bad relationship doesn’t always lead to attrition as there are other factors that come in to play like pay, availability or opportunities, mobility, etc. but it does impact overall team morale and culture.

I’m sure all of you who are managers already know this and this isn’t something new at all, but the purpose of starting this conversation here was to stress that this perspective should always be in your mind. You have a direct and a very significant impact on someone’s life. And if I were to paraphrase the words of uncle Ben, I would say “With great impact, comes great responsibilities”.

What you’re working with

Choosing to pursue the management ladder might feel like you’re choosing to step off the factory floor and step into the office where you’ll do more white collar and less labor intensive work. And you’re right, it is a lot like that. But that definitely does not mean that it easier or better. If anything, the job you’re choosing is significantly harder. The tools and equipment that you wield on the factory floor are predictable, mechanical, and deterministic. You’re leaving them behind and working with people now, who are complex, non-deterministic, have emotions, and are unique. Unfortunately, there is no manual that comes attached with the people that you’ll be working with and you’ll need to figure everything out on the job.

"How can I help?"

I think something that can help here is keeping in mind some of the constants that we know to be true about human nature. We know that everyone is built different (insert built different meme here). People are unique in their ways and that has a direct impact on their work and their presence in a team/project. This is one of the most important constants to remember as a manager. Every single person you manage is unique. And as much as some people with expertise in scientific management would try to have you believe that workers can be measured by their productivity (measure of work per unit time), and that’s all there is to engineers and your job is to manage them like a resource, reality, in my opinion is fairly different. What each of them brings to the table is different. What expertise and skill they have and what they want to do is different. And most importantly, the management style that works best for each of them is different. I think it is crucial to your success as a manager to pay close attention to these differences and try and be the kind of manager that they want and need you to be.

If you haven’t already had this conversation with your direct reports then I highly encourage that you set up some time and have this conversation. You can start with a question like “tell me about the best manager you’ve ever had” or “tell me what does an ideal manager look like to you”. And yes, this conversation will require a lot of trust and openness to take any meaningful shape. If your direct reports do not trust you enough to be honest and open with you (more on this later) then this conversation might not lead to anything. But if you have that rapport, then please have this conversation and I’m sure it will be helpful for everyone involved. And if you’re someone who’s already had this conversation or know exactly what management style works for each of your direct report then in my eyes you’re already a great manager. 🙌

Ebbs and flows of Will

Another constant that I would like to point out here is that motivation/productivity/drive-to-work (let’s call it will) comes in ebbs and flows. Nobody will have the same level of will throughout the week/month/year. And I’m not talking about seasonal effects like people traveling to meet family for the holiday season or people taking more vacation to enjoy the summers. I mean to say that there are more personal and intimate factors that come into play that determine the level of will and I feel that as a manager it is very important to keep this in mind and if possible plan around it. This would be hard to gauge as people might not volunteer this information since there’s potential for this to be misused. I wish I had a good solution for how to factor this in, but I feel like it is important I point this out and trust that someone smarter than me will have some recommendations on what could work to gauge the level of will.

And building up on that, if you notice or feel that the level of will has been on the low for a little longer than what is normal, which is different for everyone (all the more reason to know the pattern for each person), then one of the factors at play could be burnout. It is fairly common in our industry (actually must be common in every industry, I just know about ours) and I’m sure everyone at some point has had a run-in with it.. I feel like as a manager it is very important to have a measure of burnout in the team and also at an individual level. Knowing when someone is experiencing burnout and approaching them with empathy could make a difference of night and day in the experience of your engineers. Yes, I understand that not every company/team has the privilege to account for burnout and provide relief as their own survival might be on the line, but even then, it is definitely possible to approach the situation with empathy. I don’t think there’s a single approach that would work for everyone and I don’t want to prescribe solutions here but I do think that it is very valuable for a manager to keep a pulse check on burnout on both a team and individual level.

Who works for who?

Before I even start this section, let me first start by saying that I have a lot of ideas around structuring and power dynamics in a team/company/corporation and they aren’t always aligned with the structures that commonly exist in the workplaces today. Maybe, I will talk about this in more depth later.

From my perspective, the people who you have power over, are the people you are most accountable to. Yes, it is important for you, the manager, to take ideas and directions from the leadership (people above you), understand their needs and wants and then translate that to the team. But when it comes to who has an opinion about your work that matters, I would argue the opinion of your direct reports is at least as important as those of the people above you, if not more. Your success, as vague and subjective as that term can be, is truly dependent on how your engineers are feeling about your management and the quality of their life while working with you. The role is, for most part, to act as a bridge between the leadership and the workers. Once you’ve communicated the asks and goals of the leadership, your job becomes to trust the engineers and then work with them to figure out how you can help them out to do what they need to do. And this is not that hard, it all just starts with one question, “Hey, how can I help you?”. All you need to do after the project goals and asks are communicated, is ask this question and listen to your engineers. And at first you may get a lot of “umm, nothing” but that’s ok, because even for the engineers it takes time to understand what needs to be done, and how and what they need help with. So just be consistent and don’t forget to ask, how can I help. If you’re already in the habit of asking your engineers this question then really there isn’t much more to this section and you’re already doing great!

The secret sauce of all good relationships: Trust

The question I talked about in the last section, “Hey, how can I help?”, seems like a fairly simple question that shouldn’t be too hard to answer, but there’s an underlying factor that hugely impacts the quality of the answer, and that is trust. How much trust do your engineers place in you? how open and honest can they be with you, without any fears of retaliation? Trust is a fundamental aspect of all human relations and there’s no reason that the relationships at work would be any different. Trust is even more important in a relationship where there is difference of power and influence. And because of this power dynamic, the responsibility to build trust and nurture it falls more on the manager than it does on the engineers. It is an inherent nature of humans to hide things, especially things that they feel can be used to judge them negatively, from authority. That is why it is critical that a) you convince your engineers that you’re not an authority figure but rather a helper, there to make their life better or b) show that you can be trusted with this authority because you only use it for their good (There may be other ways too that I’m not smart enough to think of). Whatever path you choose, unfortunately, you will have to work hard to gain this trust. It will not be placed in you by default. But once you have earned this trust, people will be more open to being vulnerable around you and sharing not just their strengths, but more importantly their weakness, which will truly empower you to not only plan and do your job better, but actually take real steps to help your engineers overcome their weaknesses and grow.

Whenever I think of this, I always wonder if the managers actually know when their engineers truly trust them. I’ve tried to think about ways to measure this trust but it seems like a really difficult problem. Any question around it can be answered to make it appear like they trust you, if there’s a perceived incentive to show that. You could create anonymous forms where people answers related questions and maybe anonymity would help gather more honest responses. Maybe you can focus on what they talk about with you and how frequently, if ever, they say something that makes them vulnerable. I’m really not sure what the best way is and maybe the right way to gauge trust is different for different people, but I do think that there’s immense value in building a relationship based on trust and respect than one that is based on fear and necessity.

Building on this trust

This trust that you build with your direct reports is very crucial for you and your success as well. One of the best ways to grow as a manager is to get good, constructive, and honest feedback from people you’re accountable to. When they are open and honest to tell you what they think you’re doing wrong or what you can do better, you’ll have the right information to direct your energy towards. Yes, the feedback you receive from the people you report to is important and yes, on the surface it might feel like that is what matters more to grow your career, but the part that not a lot of people think about is that the way your direct reports perceive you and think of you, is equally important in your growth. Their relationship with you impacts all the metrics that are important to you and your team’s success and can be the differentiating factor between a team full of content and happy people doing their best work and a team which is lacking in energy and motivation and feels burnt out. I really feel that this feedback mechanism should be more robust and personal than the usual organization wide quarterly or bi-annual surveys that ask some industry standard questions about how people feel about their managers. These surveys provide a much more zoomed out view that are good for capturing sentiments but are not really that useful on an individual level to learn from. That feedback will have to be more intimate and personal from each and every one of your direct reports. And as it is with any feedback, it is very easy for our mind to quickly come up with reasons and justifications for our own actions, it is very important to fight this instinct and be a good listener and try to empathize and understand where the other person is coming from. I know this is very easy to preach and I myself struggle to fight the instinct to justify my actions. But I do think that this is even more important in a relationship where there is a perceived power imbalance. It makes it even harder to motivate people to truly be honest and provide real feedback because if they do not think it is valued, the incentives to not speak up and continue to maintain the status quo will become even stronger. So again, I will just stress this one more time that the onus of building trust with your direct reports is more on you as the manager.

Identifying when something is not right

If you have nurtured this trust and are honest with your teammates, it will make it possible to identify when there’s a mismatch. You cannot be the right manager for everyone and there might be situations where differences make it such that you might not be the right manager for someone. It doesn’t mean that you cannot work with them. If you’re both professional and respectful then sure it can ”work” but it might not be the best for you and your engineer. And obviously it is best to try and identify this at the time of hiring but you won’t always get to choose your team members. Even if you do, over the years people may change and grow in different directions which can lead to this mismatch. Either way, it is important to identify it and address it. Obviously, changing managers is not a luxury all organizations will have and it should be the last resort. But there are things that must be done before to try and address the situation. The most important thing would be to have an honest conversation. Not in a way that would threaten your direct reports and make them fear for their jobs but in a way that makes it possible for them to suggest changes that can make the situation better for them or for you to suggest changes to them that can make it easier for you to be their manager. Clear, honest, and empathetic conversation can go a long way in helping address such situations. But whatever be the approach, it is, in my opinion, important to address such situations before the relationship reaches a point from where it is very hard to recover from.

When engineers and managers collide

I’ve had the opportunity to work with and experience both situations where either the managers do some coding and also do management things or the managers are mostly removed from actual coding and mostly spend their entire energy and focus on management work. Unfortunately, in my experience with both, the managers usually do build a higher degree of separation from the code than the engineers whose entire energy is spent on building and maintaining the code base. This is where I think I might offend some managers, and trust me that is not my intention. But I feel like I must say that it is important to remember the choices you made and stay in your lane. This is not to say at all that you do not have the skills or the talent to understand the code or that you aren’t a good engineer. In fact weirdly enough our industry tends to “promote” the best engineers to management positions so it is potentially more likely that you were a great engineer, when you used to be one. But now that you have made the decision to step away from day-to-day engineering it is important to trust and delegate the engineering decisions to those who are more intimate with the engineering. The past of being great engineer helps you in understanding the scope, potentially recognizing problems, and asking the right questions, but it is important to recognize that you’ve actively chosen to step away from the engineering piece itself and that you might not be the best when it comes to taking some engineering decisions. It might be even more tempting to take these decisions when working with more inexperienced engineers since they do not yet have the same depth of experience and the ability to identify problems early on, but even in that situation, I would say the right way to guide is through asking questions and helping them arrive at the issue that you had already identified instead of telling them what to do. Philosophically, in my mind, it is a bit like parenting, you need to nudge and guide them to the right thing and ask questions to help think rather than dictating what to do. And maybe sometimes you might even have to let them fall a little and then offer a helping hand to truly provide an environment where they can learn and grow and build confidence. Obviously this doesn’t mean that you let them push a shady pull request to production on a Friday evening, but maybe let them spend some time with a potential idea and give them an opportunity to develop it themselves to see its flaws. Either way, the message is to try and trust then engineers with the engineering and influence them as needed but try to avoid taking decisions on their behalf and telling them how to do their work.

And I feel like this is a good point to also plug something about leadership that I’ve learned from my experience in the industry. Management and leadership are not always the same. Being a manager is not the same as being an engineering leader. These two are actually quite different and just because you are a really good engineer and have the ambiotion to become a leader doesn’t mean that you should start transitioning your career to become a manager. It important to understand this difference. I’m personally still figuring this out for myself but I feel like I’ve started identifying how management is a very different job and doesn’t have as much overlap with engineering as I used to think in the past. As a good manager, your primary skill that will lead to your success is not engineering. It is definitely one of the skills and it will help a lot but it is not the center stage skill that will make you successful. I don’t have an exhaustive list but some of the things I’ve identified that makes a great manager are empathy, understanding of human nature, ability to foresee and plan for non-technical issues, building processes and operating procedures to reduce risk and fatigue, and so many more that I don’t know of yet. The point I want to make is that you should pursue management only if you want to take up that specific job, do not pursue it because you confused the title of manager to always mean leader.

Being a manager is hard

If all of this sounds really hard to you, that is because it is hard. It’s way harder to be a good manager than it is to be a good engineer. Obviously this is a personal opinion and like I said at the beginning of this article, there’s a reason I don’t see myself taking up this challenge anytime in the near future. I’m happy working with my tools and applied sciences knowledge to deal with deterministic things that are easier to mold and shape to get the required outcome than having to do the same with people with wildly different hopes, dreams, feelings and ambitions.

But just because it is hard doesn’t mean that you can’t have support. I feel like if you’re open and transparent with your engineers and share with them what’s been stressing you out and what are the things bothering you, you will develop a two-way connection where not only will they feel more encouraged to be open with you but also be there for you to support you and empathize with you. This type of communication can really help build a relationship that is based on understanding and respect and nurture a more meaningful connection with people you spend most of your working time with. I truly believe that there is absolutely no reason that manager-engineer relationships can’t be similar to the relationships between peers and dare I say even nurture into an actual friendship that extends beyond the workplace. After all, these are the people we spend a large part of our day-to-day lives with; wouldn’t it be nice if we actually got to know them as real people and not just as that person who does x at your company?

Philosophy

If you’ve made it this far then you may have noticed by now that I used the phrase “in my opinion” or “I think” a lot in this article. So I figured I would make a little section to clarify that this article is based on a very personal worldview. Most of the things I’ve talked about are based on my personal philosophies and how I see work and the people I work with. A lot of it is based on my past experiences and what I’ve seen so it is highly likely that everything that was said here is either way too obvious or absolutely ridiculous. Either way I hope you understand how my philosophy has shaped this article and I hope it doesn’t offend or hurt you.

I have spend a lot of time thinking about work, culture, and what my ideal world would look like and have been fortunate enough to have a few friends in life (both, at and outside of work) who listen to my ramblings and instead of telling me that it’s all crazy talk, actually philosophize with me. I’m really grateful to them for listening to me and sharing their ideas with me, but I just want to say that if after reading this you felt angry or upset or felt that you’ve wasted your time, they share some of that blame.

P.S.

While writing this, I constantly kept thinking about what I as an engineer can do better to help my manager and make their life easier and make my own life easier in the process. Maybe that will be something I write about next 🤔