Supposedly, what makes a career and distinguishes it from a series of jobs (while there is absolutely nothing wrong with that) is a general sense of direction and growth. As opposed to trying out a series of jobs, building a career usually involves a certain level of growth — whether in the sense of continuously growing one’s skills in a certain area or holding a series of roles that increase in complexity and level of reasonability.
As a software engineer, a few years into your profession you will reach the inevitable “now what?” moment. Although opportunities can vary according to the company you work for, you will probably face the choice between continuing to build technical expertise or heading down the managerial path.
Many companies now offer the opportunity to become a technical lead to those interested in engineering management but who aren’t yet sure. The technical lead role is a bit of a hybrid one — you can still have technical responsibilities (coding, debugging, etc.) but with the added twist of having to manage a very small team of engineers, typically no more than 2-3 people. Look at it as a test run of sorts, you can still focus on core engineering tasks for more than half the time and gain some exposure and experience in managing a team.
For software engineers who are ready to start their journey into management as well as the undecided ones, here are few things to consider when pondering what being an engineering manager usually entails.
Engineering managers set the course
Engineering managers are responsible for setting the course — making sure every team member is clear on the overall strategy and goal for the company as a whole and also for the team — but also keeping it while constantly adapting to unavoidable context changes. Doing that while also bringing the best out of their team, help build relationships both among members of the team and with other stakeholders and setting the entire team up for success are also on a manager’s to-do list.
You can bring the best out of their teams by increasing visibility, velocity, and productivity with Waydev.
Engineering managers clarify expectations
What are my style and expectations, how do I expect people to interact with me and with everyone else in the team, what are some clear rules and norms I’d like the entire team (myself included) to follow? That’s just a few basic questions every engineering manager needs to be asking. Setting both team and individual goals is also a management task. While some prefer to use the SMART (specific, measurable, attainable, relevant, time-bound) goal setting framework while other go for the OKR (objectives, key results) approach, what’s essential is that everyone if clear on what they agree to achieve and how team progress will be tracked.
Engineering managers delegate
What needs to be done, by when, why is it important for the team that the task gets done and, who is best suited for each task, who would want /appreciate to work on each task — all questions that an engineering manager needs to answer. If no one has the skills to get a task done, then what training is needed? Once the engineering manager has a good idea of who can do what, they make sure to explain the task — focuses on the what and not on the how, clarifies the requirements for the end-product but lets people get there in the way that best fits them; otherwise, they risk coming across as micromanaging and everyone rests those types. If one is not naturally inclined to delegating, they need to remember that it’s a habit that can be reinforced with practice. The energy to grow that muscle will pay off in the future.
Engineering managers address underperformance
That’s something no engineering manager loves to do and most will put it off for as long as possible — they should resist that urge and tackle it soon as they get a whiff of it, they’ll thank themselves later for having done it. Not dealing with a team member that is consistently underperforming can damage team morale and cause unnecessary water cooler gossip. There is a clear difference between behavior that can be corrected and unacceptable. Engineering managers should reach out to HR when needed and address things like fraud, discrimination, and other unethical behaviors immediately. When dealing with team members that keep on missing deadlines or delivering poor quality results, good engineering managers address issues as soon as they arise and don’t wait for the formal review process. Following the rules of constructive feedback will increase the chances of being properly heard. Showing support, making it clear that they are committed to helping the person improve in any way they can and set aside time for regular check-ins are big on the “DOs” list.
When your team starts missing deadlines or delivering poor quality results, you can use Waydev’s Project Timeline to help you spot any unhealthy work patterns and address them backed by data.
Engineering managers guide their people through the team’s development cycle stages
Those familiar with Tuckman and Jensen’s team development stages might remember that all teams go through forming (getting to know each other and establishing ground rules), storming (personalities start clashing), norming (a pattern of working together emerges and is accepted), performing (people work well together, and they’re getting results) and adjourning (the team is dismantled for various reasons e.g. the project is finished and team members move on). These stages don’t always follow one another smoothly — an unlucky engineering manager might get a team that never moves past storming. While that will probably require a lot more work on their part just to keep the peace and things moving, results can still be achieved. Even within a highly functional team that has gone through all the phases and is hitting the mark, things can still go awry — maybe a new team member throws off the balance or a sudden change of context takes everyone back to the norming phase. It always pays to have a pulse check and see where the team stands.
An essential aspect of the engineering workflow is code collaboration. Waydev provides an overview of the collaborative work of the engineers as well as actionable metrics to help engineering managers improve the way engineers work collaboratively.
Engineering managers help teams rebound from setbacks
Sometimes mistakes are made or efforts don’t get the expected results and, as much as everyone hates it when that happens, it’s part of life as we know it. In such situations, it’s the engineering manager’s job to calmly put things into perspective and lead the team through an analysis of what and why went wrong, what can still be fixed or at least minimize the damage, and what can be done to avoid similar situations in the future. It less important whose fault it was and pointing fingers or chastising scapegoats is always a bad idea; everyone’s energy will be better spent focusing on lessons learned instead.
Engineering managers support team members in following their own career paths
While it is true that individuals hold the main responsibility for shaping their own careers, engineering managers hold an important role in facilitating that as well. By offering constant and good quality feedback, objectively reviewing and rewarding performance, making training and learning opportunities available, coaching or mentoring, etc. engineering managers can and should guide team members towards build valuable skills and accessing professional growth opportunities even if that means they’d be leaving the team.
While the above is not a light list, being a (good) engineering manager can be incredibly rewarding and a great fit for those who don’t shy away from dealing with fellow humans as well as with lines of code or pieces of hardware.