Nearly four years ago, I started managing engineering teams. I took the plunge from being an individual developer to managing because I felt it would better allow me to influence the technical direction of my organization, build an awesome team, and most importantly, help others grow and develop with the same opportunities I had. Four years in, I am still learning every day, but I’ve learned a lot I wish I had known earlier.
Over this time, I managed a team of those who were previously my peers, making leaning into my authority difficult. I also managed three teams at once, challenging me to be effective with switching contexts constantly. I switched teams to one where I had no experience in the code base, forcing me to manage those with far more knowledge of our systems than me. I also managed a large team of over a dozen individuals where finding time to focus on career growth for everyone was hard. I managed a team with many business leadership stakeholders, and one with hardly any, but a ton of technical teams with dependencies.
Through all of these experiences, I picked up ways to be effective with my time, learned to delegate and let go of control over everything, and to build up an effective team around me. I still struggle every day with new challenges, but embracing these challenges has helped me gain a lot of experience in management in a short time. Every time I start to feel I have a handle on things, I find a new challenge and opportunity to grow. Looking back across these experiences, I wish I could tell the 4-year-ago version of myself some of what I’ve learned to make it a bit easier.
This is where it gets hard. You may think that there were hard times on some of the projects you’ve worked on, like learning React in a weekend or faking your way through a C# class, but management is a whole other game. The skills you’ve learned dealing with people and making good technological decisions will help, but it won’t get you that far alone. You’re going to have to completely change your approach to a day in the office and how you measure a successful day.
Gone are the days of cranking out an entire feature or experience in code before heading home. Most days you’ll find making time to write a lengthy email before having to head out impossible. Meetings will dominate your life, but instead of resisting them, embrace them as an opportunity to influence decisions and set a direction. The secret is that most others don’t prepare for meetings, so coming in with an agenda will keep you several steps ahead and able to at least inform the direction. For any meeting that your input isn’t needed or no decision is made, you didn’t need to be there, so make sure to decline next time.
You’re going to want to work on some new skills. So far, knowing how to talk to extremely technical people and convincing them you are right has been enough to get things done. Now however, you need to know the technology well enough to make those decisions, but be able to explain it to non-technical people in the business. Clarity, brevity, and succinctness are the important qualities. You’ve earned people’s trust now, so it isn’t about convincing them, it’s about explaining and getting support. It’s the same with executives. They don’t care about technical details, that’s what you’re around for, they just want the minimal information needed to make a decision or address a problem.
You’ll soon learn that not everyone is the same as you. This is obvious, but it won’t sink in until the first time you’re struggling to understand why someone won’t just do something the way you would. Sure, this means things won’t always get done as well if you had done them, but on the other hand, things will get done far better than you would do them in many other, unpredictable ways. You can’t always rely on your experiences and how you did things to resonate with others, especially those on your team. Learn about what motivates them and makes them tick to get good results, but also let them flourish with your support and many times you’ll find they have better ideas.
If you want these great ideas to come out, surround yourself with people that are smarter than you. Don’t be afraid of them. When you become a manager, your success is measured by the results of your team, not your own. Find the smart people. The ones who make you feel like a freshman compared to their seniors. The ones with doctorates in CS. The ones who know LISP, believe it’s the best language, and can actually sort of convince you. They will challenge you, but you’ll get smarter from being around them.
Don’t just find the smarter people, find people different than you in all ways. People with different backgrounds and levels of experience might be harder to gel with to start, but they will bring energy and new ideas to the team. Vitality is essential to a high performing team, so find the passionate ones. That person who built a Raspberry Pi controller for their cat’s water bowl using AWS and machine language just for fun, you want them around you.
Let these people make decisions too. As a manager, it’s easy to oversee everything and make all the calls. You’re here now because you’ve made good decisions in the past and were smart enough to get things done. Now though, you need to rely on your team to make good decisions and come up with ideas you never would. Empower them to make decisions and you’ll be rewarded with great results.
You need to figure out your long term vision and smart working toward it. All managers want to be strategic and not just tactical, but not many know how to do it effectively, especially junior ones. Figure out your personal and professional vision for 3-5 years from now and start working toward it in bits and pieces. There’s never going to be time to just sit and focus on goals, so figure out the little ways to make progress in daily work. This blog is one of those little things, it will let you write at least once a week and slowly build a following. Work toward becoming an expert in some topics and presenting these whenever possible to hone public speaker and become a recognized expert in the field. Want to drive a team to automate all testing, go full CD, and conduct large scale resiliency testing? What can you do today and tomorrow to get one step closer? That’s the essence of strategic planning.
Not everything revolves around work either. You’ll spend a ton of time there, but the stuff you do outside the office will play a large part in the outcome of your work too. Make time for self improvement like reading, fitness, and hobbies. Reading will give you a chance to escape and reset with fiction, or learn and improve with non-fiction. Running on a regular basis is the perfect mental break and opportunity to daydream. You’ll be surprised at how many ideas come while running. Plus it keeps you healthy and your mind active. Find some hobbies to keep you busy at night and on the weekends too. This time is critical in recharging and getting ready for the next day of work. Dump the time wasters too. It will take you way longer than it should to stop watching TV at night and using social networks, ok you still do a little but way less than before, but that time will become the key to getting your own priorities taken care of and improving yourself. Two other little things will take up a ton of your time too, but they’ll make you a far better person as well and I’ll leave the details as a surprise.
At work, prioritize on growing your team members. Never forgot that you elected to start managing in order to provide guidance and growth for others. Your success is measured by theirs, but you’ll also find nothing more rewarding than helping your team members develop new skills or get better at something. Some of your best days will be when team members surprise you and perhaps themselves with accomplishing something that was a big challenge. Give them opportunities to stretch themselves while providing guidance and feedback, as well as a safety net so they can fail gracefully. They’ll almost certainly succeed more often than you may expect.
Delegation is a tricky thing. You need to learn to do it, and trust me, you’ll never do it as much as you should, but doing it effectively is one of the hardest parts of being an effective manager. Delegation isn’t about kicking undesirable tasks to others, it’s about giving others the opportunity to do things to help them grow. Don’t just delegate the boring or bad things, always find the positive, desirable opportunities as well. Good managers don’t hog the glory and fun stuff for themselves. Your job is to remove impediments for your team and give them the chance to get better, so find those chances for them to try something new. Some team members will be shockingly great at sending meeting notes, conducting interviews, or writing requirement docs. The only way to find out is to let them try.
You are going to need to learn to say no a lot. Saying yes has gotten you opportunities and additional responsibilities, and you still want to get these, but just as important now is saying no when you’re overstretched. You’ll be overstretched a lot. Delegation helps here, but sometimes you just need to let people know something isn’t a priority or is going to have to wait. Other times, it’s saying no to something you disagree with. You don’t have the benefit of allowing others to make decisions now, so you need to make up your mind and stick to it. Don’t be combative about it and be willing to make compromises, but never just give in. Things tend to become slippery slopes in this manner. It’s ok to tell people you’re busy and have other priorities. they tend to understand or find others.
The most important time to say no is to meeting invites. People love to schedule meetings to have brief conversations that could be handled over email or in five minutes. The rule of meetings though, is that regardless of the time actually needed, they always expand to fill the time scheduled. So a five minute decision will take 30 minutes, 25 of which you could be doing actual work. Decline these time killers with no remorse. If someone insists you need to be there, send a delegate or request notes and next steps. Never go to a meeting without an agenda. Always make sure someone, usually you, is taking notes and sends concrete action items with owners and timelines, otherwise, you wasted a meeting.
You’re going to be fine. Not every day will be easy, in fact most won’t and you may even have some you wonder if you can go back to developing, but you’ll make it. You’ll start to have more and more good days and see your team grow and flourish. The people you hire, bring in from other teams, and move to will constantly inspire you with their great ideas, fresh perspectives, and ability to do things you didn’t believe possible. You’ll be trusted with more and more responsibility and opportunities to stretch outside your comfort zone. You’ll be a better manager, leader, and person because of it. You’ve made the right choice and you’ll look back fondly on this soon.