Software Engineers are intrinsic problem solvers. They are trained and skilled in designing solutions, innovating, developing, and improving products and processes. However, moving up to an engineering management role requires a much more diverse skill set to excel. Apart from coding, which is a foundational skill, an engineering manager should be able to inspire and motivate a team and nurture growth and productivity in them.
Whether you have been in engineering management for a while or just started out, or if you are a senior software engineer looking for a transition into a tech lead- this article lists down all the essential skills and strategies you need to ace this role.
What Makes a Good Manager?
Think of all the managers you have had in your career till now. What qualities did they possess to be qualified as the best ones?
Whether you were managed by the best ones or by those who completely lacked those traits, you would point out similar qualities of a successful engineering manager.
We have listed down each of the essentials traits of how to be a good manager below:
1. One on One Meeting
Making time for regular one on one meetings is a key component of a successful working relationship between managers and their direct reports. This is a great opportunity for both parties to address sensitive and high-priority issues and subjects. Moreover, this would help the direct reports in identifying areas of learning and opportunities for growth.
One on one meetings could either be pre-scheduled or ad-hoc. However, a scheduled session can be more beneficial as it may encourage direct reports to think beforehand about what they want to discuss during the meeting.
As a manager, it is crucial for you to actively listen and make connections with your direct report and let them drive the session.
Another good practice is to take important notes during the meeting so that it is easier for you to recall the action items and other salient points post the session.
If you have a junior or a team member who could benefit through frequent feedback, they will definitely appreciate spending more dedicated time, receiving constant feedback and advice from you, thereby helping them succeed at work.
A good manager strives to provide constant feedback to the team whether positive or negative. S/he is also aware that compliments should be given in public and criticism should be given in private.
It is also important to recognize and appreciate a team member’s effort to make them feel more valued and trusted.
When dealing with a team member who has performance issues, feedback meetings should be conducted more often. If you hold on to feedback for longer, it is less likely to be effective. At the same time, the manager should know how to give constructive criticism without leaving the direct reports overwhelmed.
Additionally, a well-conducted feedback session could help forge a stronger relationship between you and your team members. The team will also understand your good intentions. They will know that you are suggesting areas to improve and encouraging them to work harder and get better at those skills. Once they realize this, they will be more open and accepting of constructive criticism in the future.
3. Help Direct Reports in Career Advancement
Good engineer managers are those who stay attuned to their employee’s career aspirations and expectations. They believe in uplifting every member of their team, help them set specific goals and visualise their future in the company.
A good technical manager will ensure that the direct reports have access to relevant business courses, virtual training, and workshops necessary for their upskilling.
Employees are bound to be more loyal and productive with clear and direct communication from their managers about career advancement steps.
Another great move by smart managers is to encourage mentoring and knowledge sharing within the team. While you should be available and approachable for guidance, having a dedicated mentor will do wonders for each teammate. Senior team members can share their professional insights with the less experienced members. Also, this mentorship opportunity indirectly helps the senior members in grooming their leadership skills.
4. Staying Technical
Moving up into an engineering management role may no longer require you to code, however, managing a bunch of technical people and projects makes it mandatory that you stay updated with relevant technologies.
Technical decision making will be an imminent part of your work profile. Staying in the code will help you make crucial decisions like the best system design, optimal way to add new features in a product or system, etc.
When engineering managers understand the ins and outs of a technical project, they can manage their team better and hold every member accountable for their work.
Also, when you showcase technical credibility, the engineering team is more likely to respect your decisions and reach out to you for advice.
5. Manage People Effectively
The first step of how to be a good manager is to build rapport with the direct reports so that they trust and listen to you and convey their concerns and suggestions freely. And a team with high trust is way easier to manage than a team where members do not trust each other as well as their manager.
As an engineering manager, set collective and individual goals to keep the team members on course and to easily track their progress.
Another aspect of effective management is clear, accurate and thorough communication. Let your team know your expectations and values beforehand to avoid any miscommunication. Whenever passing on certain information, or giving instructions, convey everything precisely and concisely.
However, if an employee continuously underperforms, despite clear communication and goal setting, a good technical manager must be capable of handling such difficult conversations effectively.
Moreover, set the right examples for others as a manager. Show the behaviour that you expect your team to possess. Keep your emotions in check, own your mistakes, be punctual and proactive.
6. Excellent Decision Maker
The technical manager is held accountable for all decisions, whether taken by a solution architect, the product lead or senior developer, etc., more so, if things do not turn out well.
Any decision taken within a technical team has a greater impact on the product and company’s success. Therefore, an engineering manager must show exceptional capabilities to forecast in terms of product and technology.
Moreover, one should not dictate the decisions; rather enable a data-driven team that knows how to use business and performance metrics to derive better results.
7. Conflict Management
When you handle a team with diverse individuals, there are bound to be occurrences of disagreement, biases, hostility, etc.
However, you should be capable of handling and resolving such conflicts and calming the team members under stressful situations.
It is your responsibility to maintain a harmonious team environment. Therefore, proactively address such conflicts or else they will escalate in their intensity and create more misunderstanding in the team.
Managing people is a demanding task, however, if done successfully, it can be an equally rewarding experience. Like any other skill, engineering management skills can be honed through continuous practice. Let us recall the essential points of how to be a good manager listed in this article.
As a software engineer transitioning to a technical manager, it is important to connect with your team personally, know how to give constructive criticism, keep your technical foundations strong, learn to make better decisions and resolve conflicts.
For further reading, you might want to check this excellent article from Harvard Business Review on what makes a good manager.
Backend Technology Interview Questions
C Programming Language Interview Questions | PHP Interview Questions | .NET Core Interview Questions | NumPy Interview Questions | API Interview Questions | FastAPI Python Web Framework | Java Exception Handling Interview Questions | OOPs Concepts in Java Interview Questions | Java Collections Interview Questions | System Design Interview Questions | Data Structure Concepts | Node.js Interview Questions | Django Interview Questions | React Interview Questions | Microservices Interview Questions | Key Backend Development Skills | Data Science Interview Questions | Python Interview Questions | Java Spring Framework Interview Questions
Frontend Technology Interview Questions
Database Interview Questions
Cloud Interview Questions
Quality Assurance Interview Questions
DevOps and Cyber Security Interview Questions