If you’re in an engineering management role, you’re probably thinking, What doesn’t an engineering manager do?
The Duties of a Software Engineering Manager
Hiring Talent
Hiring new engineers can be one of the most time-consuming and important parts of the engineering manager’s job. Not all managers participate in the hiring process, but many of them do.
The Hiring Process and the Manager’s Involvement
The hiring process itself comprises multiple parts. These can include drafting the job description, doing initial phone screening, evaluating home assignments, conducting technical interviews, etc. The engineering manager will sometimes do both: design the process and participate in all stages.
At other times, you might do the design part only: phrase the job description correctly in cooperation with the HR department, devise a screening process, and write the tests. Or you may do the actual screening only. Or any combination of the above (design some of the stages and participate in some of them, but not all).
Talent Pool Shortage
Unfortunately, we’ve noticed a shortage of development talent recently. This means engineering managers may have to take on an additional role.
If they participate in the screening process, the engineering manager should also act in a bit of a sales role. Essentially, you should be selling the company and the opportunity to the candidates.
In fact, some managers do the initial contact with candidates instead of the usual scenario of an HR person making the approach. Managers do this to be able to speak with the candidate in a more familiar language to them—in terms of tech stack, development methodology, etc.
Talent Development
As the software development world is rapidly changing, we see new programming paradigms crop up. First there was procedural, then object-oriented, and recently functional programming. And then, there are novel programming languages: Go, Node.js, and Rust. We even have various methodologies of software development: agile, scrum, and extreme programming.
Those frequent and rapid changes make it necessary to invest in the professional growth and development of software developers on the engineering teams. As a manager, you should devise a professional growth plan for each of your team members and do a follow-up on the process. Failing to do so will result in a decrease in the productivity of the team.
Personal vs. Team Development
Depending on the level of business management an engineering manager finds themselves in, you may be taking on different levels of responsibility.
As mentioned above, many engineering managers work with developers to make sure they’re individually up to date on new processes, software, etc.
A group manager, on the other hand, will sometimes look at a bit more macro level. You’ll focus on the cumulative professional development of the teams you manage rather than checking this on an individual level.
Day-to-Day Engineering Management
In day-to-day management, the engineering manager should make sure that the job is done properly at the required quality and that the code is delivered on time and on schedule.
An engineering manager might:
- Focused on project management and delivery
- Conduct daily meetings to get status updates
- Implement processes that enforce code quality
- And much more, just to stay on top of what’s going on.
This is regardless of the way you organize the development process: waterfall, agile, scrum, or kanban.
A group manager or VP of Research and Development will be concerned more with the progress the department is making: meeting deadlines and ensuring the software quality via overall engineering metrics.
A Bit More About Development Methodology
The last point is something that the manager should do as well: decide how to ship the code and how the team/department operates. Kanban or waterfall? Short sprints or long sprints?
Choosing a development methodology is more than choosing a buzzword. The development method affects the day-to-day operations. For instance, the manager should report to management on progress in an agile approach every two weeks versus once in several months in a waterfall model.
Another example is that the talent you hire depends, in a way, on your approach. You’ll hire different people for doing agile development versus waterfall. For instance, for very methodological and structured people, an agile approach doesn’t fit as well as waterfall might. Likewise, for people who like to deliver features fast, a structured, long-cycled waterfall approach will be less enjoyable.
Performance Reviews
Performance reviews are the time of the year when a manager and their software engineers meet one-on-one. Contrary to some other one-on-one meetings, this meeting is a recurring annual (at least) meeting. It has a clear agenda of providing feedback to the developer on their work—what was done well and areas to improve.
Likewise, the software engineer can give feedback about their work: what difficulty they face and what can be done to help them.
Last but not least on the agenda is defining goals for the year to come and aligning expectations. Usually, the manager will do a follow-up on this meeting during the year to make sure that all the checkboxes are ticked in the “areas to improve” section.
Hands-On Coding and Management
As the manager’s seniority rises, the less time they can devote to being hands-on. They may have less time for writing code and staying up to date with the latest engineering trends. But you should find the proper balance between staying technologically on top of things and taking care of the management aspect as described above.
One way to do this is by attending engineering leadership conferences.
In addition, this depends on the developers who work in the department. If you have hired a tech leader or team leader, you can delegate tasks confidently and focus on management. If your team is less experienced, you’ll have to be “closer” to the code.
Help for Engineering Management
The main responsibilities of engineering managers today are many. They hire talent, develop the talent professionally, choose the development methodology, and manage the day-to-day operations accordingly. Lastly, a management role includes doing performance reviews, making technical decisions, and generally solving problems.
But you can rely on engineering management platforms like LinearB to help you juggle your management responsibilities.
- If you’re focused on measuring project progress and delivery, you need Project Delivery Tracker.
- Tired of having so many meetings to get status updates? You need to correlate Git, project, release, and implementation data all in one metrics dashboard.
- Need to implement processes that enforce code quality?
LinearB was created by engineering leaders as a developer-first platform designed to help every level of the organization make well-informed decisions. Book a demo today!