You build products that change how people live their lives.
You create rich UX/UI interactions, intricate and seemingly artistic. You build backend services with an insane load, writing code is a skill that gives you god-like abilities. It is one of the best expressions of problem solving anywhere.
Over time, you will learn new languages, work with new tools, design patterns and skills that will no doubt increase your capacity and impact in your work.
There may come a point where you ask yourself about what’s next.
You want to maximize your efforts and then right there, you entertain the thought of becoming a manager of engineers. The surprising thing is though that all that training, and skill building doesn’t really prepare you much for the career change to a manager.
Becoming a Software Engineer Manager
This is not a ‘next step’ in software engineer career choices. Think of it like this. A software engineer’s time is theirs to use as they need to see fit. A Managers time on the other hand is consumed with external inputs. Product managers, engineers, meeting and emails alone determine how your time is spent. Finding a free hour in a day can be tricky. Engineers will spend their day solving problems with code. Managers will use their newly adopted soft skills like communication, empathy, encouragement, advocacy, negotiation and process to resolve issues. At the end of the day, engineers can see their progress using hard metrics. Is the code good? Are you on schedule? Did the code you wrote work?
Engineer Managers will work on projects and initiatives that by virtue of the process, are more difficult to measure. It is not easy to lay a metric to conversations you’ve had earlier in the day regarding coding reviews etc. How can you measure your new hire who just began coding on their own today or how they fit with the other team and the company? These are things that will require days and weeks to evaluate, and then it will be a combination of a few hard metrics but much more soft metrics that experience alone will need to drive the conclusion needed.
Your team is a reflection of your abilities.
Your impact is therefore magnified through your team. Solving problems as an engineer impacts your work. Solving problems as a team leader/manager impacts the team as a whole.
Keep in mind that with the shift in function and responsibilities it will take a bit of time to get your bearings straight to becoming and effective leader. Let’s look at a few lessons learned from the field:
Lessons to Learn
1. Relationships are important
Managing is all about relationships. Managing is not as much of a technical job as it is a relational one. It is about the people and the only way to lead is to have made great relationships with them that go beyond just day-to-day work. You will need to manage each of your teams individually. If someone is having a personal issue at home for example, for a certain time, you will need to manage that person differently. Relational growth means having the ability to both laugh and commiserate with your team members individually or as a group.
2. Understand your approach to problems
Focusing less on the results of your actions and more on the approach on dealing with problems to solve as the day goes by. Measuring yourself is not an easy task to do and will result in positive and negative affirmations that are not always true. Use how you manage your ability to resolve problems as your guide instead. Clearly communicating, getting to the root of an issue, quickly identifying the source of team conflict for example, are all areas that will ultimately judge your leadership abilities.
3. Know your limits
While you may think differently, you are not Superman, nor will you be. It is natural in your first few weeks as a new manager to think you can do everything, all the critical teamwork while working on all the managerial duties. This is a common recipe for burnout. You physically cannot go to meetings and handle complex scale problems at the same time.
This is where you will see that trusting your team and letting them know your trust them will help you tremendously. This is where you let go and empower your team. They will make mistakes and you will know that those need to happen, and they will gain great experience in resolving the issues with your support. This is a golden knowledge opportunity for the team to learn that you do not want to deny them.
Letting go and trusting your team will afford you the time to think strategically and tactically to get your teams in place and growing. You have successfully now given up one thing and grew by using newly earned skills of strategy and operations.
Managing your own expectations is important. Focus on building relationships before you are a manager and the transition to management will be much easier. Commit yourself to the mission statement and values of the company. Be realistic in your expectations of your team. You will always be a bit harder on yourself so be mindful of that.
Let go of the day-to-day tasks that you no longer need to do. Empowering your team will go a long way to building strong trust relationships. Making the transition from software engineer to a software engineer manager is an exciting time in your career. The more you work at it in advance, the better you will perform in the future. Solving problems will still be your greatest joy. You will just be doing it now in a different capacity but will no less of that god-like status!
More About Us —
Band of Coders Show is a podcast dedicated to helping software developers problem-solve their biggest leadership challenges. We talk leadership, productivity, team building, effectiveness, and much more.