The role of the Software Engineering Manager in an organization is extremely varied. This can be a benefit to the job, in that you are wearing so many hats and there is hardly any routine from day to day. However, without careful time management skills it can feel overwhelming.
Some of the typical roles for a SW Manager include:
- Project Management
- Breaking a project or work down into smaller chunks, and assigning to the right developer
- Work with product owner to define the requirements / user stories, to ensure they are fully vetted
- Establish schedule / estimates / delivery timelines / etc
- Oftentimes you will be stuck in the ScrumMaster role, if no one else on the team wants to do it.
- Performance Management
- Performance reviews
- Salary adjustments (bonus, raises, etc)
- Performance plans (i.e. PIP’s)
- Mentorship
- 1-on-1’s
- Career development of your team
- Communication – You are the voice of your team, and as such need to communicate:
- Up – Communicating status of your team up your management chain.
- Across – Communicating with peers and other functional groups across the organization
- Down – Communicating news, decision making to your team.
- Recruitment – You will need to work with HR to create job postings, screen resumes, interview candidates, etc.
Note that none of the items above includes anything technical! Depending on the size of your team you may also be serving as the lead developer / architect on the project.