Reflecting on my transition from an individual contributor into an Engineering Manager role in the past year, this article is a letter to my past self with some ideas I would have appreciated at that time – compiled from both personal experience and research on the topics.
Your first week – meeting people and learning the business
Introduce yourself and your style
Landing in a new organisation means a lot of introductions. This is an opportunity for you to share with your new team how you work best, what your preferred communication preferences are and clearly sets out your expectations. Writing a How to work with me document can make this clear from the outset.
Getting to know the team, because working with people is important. Spending time with those awkward ice-breaker questions and discussing the non-work activities you enjoy will help establish rapport and build a foundation of trust and a common framework for these new relationships.
Understand the business
Spend time learning about the business mission, purpose, and values. Ideally these have been part of the discussion prior to joining and would be well aligned with your personal values. Understanding these will be essential to guiding the decision making and prioritisation that flows through the rest of the organisation from organisational structure and hiring, right through to the design of day to day activities and processes.
The strategy outlines how the business sees the implementation of this mission, purpose, and values. The strategy is not a list of activities or priorities but should be a general guide for aligning the organisation toward some short, medium, or long term objectives. The strategy should be provide direction to the teams and can progress toward the objective should have measurements in place.
Set up regular communication channels
Communication across the organisation will be critical and establishing a regular cadence for these early will be important to keep abreast of changing business concerns along with supporting your team.
Consider a weekly pattern of information flow from the top of the organisation through to the teams and schedule these meetings through your week to quickly and efficiently disseminate information and prevent becoming a bottleneck. First meet with your manager or company leadership, then follow this with a team meeting to communicate any changes. After this 1:1s with individuals can be held to discuss individual impacts and opportunities.
A regular weekly update in the form of a 5-15 Report can also form a core communication strategy, while also providing a record of highlights and challenges.
First month – learning the details of the engineering function
Review processes and ways of working
Is there a clear onboarding process for new employees joining the team? Have systems in place to ensure access, tools, and knowledge is available to quickly have new started become familiar with the product and begin contributing to development with the team.
An onboarding process can also assist with internal training, development, and knowledge sharing tools. Each new employee can help identify gaps and suggest improvements, improving the experience for the next new starter.
Understand the existing systems and processes of teams. Are there systems in place and how well are those systems working? Do the teams have a balance of work between features, technical debt, and bug fixes? Or are they spending a disproportionate amount of time in one of these areas at the exclusion of others. Spending 100% of time shipping features could indicate a growing backlog of technical debt leading to a fragile infrastructure or expensive changes in the future. At the same time, spending too much time addressing bug fixes may be a lagging indicator that the overall code quality has not been maintained sufficiently and will require an investment in testing to resolve.
Identify and document task priorities
Understanding how to the company assigns priorities to different tasks will be key to knowing where to spend your time.
- P0: This core piece is on fire 🔥 fix this first
- P1: High stakes tasks critical to strategy
- P2: Tasks aligned with product strategy
- P3: Low stakes tasks adjacent to strategy
- P4: Nice to have tasks
Each task should have an associated document outlining the problem, proposed solution, success metrics and alignment to the strategy. Once each tasks has been assigned a priority within the framework, teams will find more freedom in selecting the next piece of work.
Find your business analytics and how to query them
A business analytics tool captures the behaviour of users in the system. Data from such an analytics tool can be used to measure and track the performance of changes within the product, to validate progress toward objectives and to steer decisions.
Reviewing the technology
Having a high level understanding the technology in place will be important for any engineering leader, whether or not their role involves the day-to-day programming. Becoming familiar with the experience of the engineers will highlight opportunities for improvement and bring alignment across the business.
Several approaches that can help quickly provide an overview are:
- Reviewing architectural documentation and any processes around code review and deployments.
- Asking the engineering team directly for feedback about what's working well and what are the pain points with the current tools and platforms.
- Pairing with engineers to observe the processes that in place.
- Shadowing and assisting with customer support tickets
Second month – scaling up communications and strategies
Managing in three directions
Know your team. Stepping away from being an individual means "your team" is no longer software engineers, but your fellow management staff – the other engineering managers and product managers. These will be your peers and you'd be working closely with them on aligning teams, processes and strategies.
Supporting your engineers. Now that you're no longer contributing code the relationship you have with the engineers has shifted. Your role is now to trust, support, and enable these engineers to do their best work. From your experience as an individual contributor you will have some idea what you would like from your manager. Hold onto this and continue to develop yourself.
Finally there is managing up - managing your manager. This means being proactive and making your manager's job easier by giving clear reports of current state and progress, on changing situations, and be presenting solutions to problems.
Objectives and strategy
After understanding the organisation's strategy and equipped with the knowledge of the business analytics, work with teams and departments to establish objectives. These objectives should be SMART, should clearly identify their relationship with the organisational strategy and demonstrate the reason the objective should be completed now.
Preferably using an automated dashboard, but manually checking otherwise, measure the metrics of the key results after each initiative or project and feed this back to the teams. Iterate on the process of setting objectives and measuring key results, taking consideration of the time expected to see these results change in response to changes to the system. Some changes might have a fast response, but others might not lead to a significant impact straight away.
Engage and develop engineering
Along with communication, management, and strategy is the task of hiring, mentoring, and developing the engineers within the organisation. During periods of growth, hiring alone can consume a large portion of your time in reviewing resumes, scheduling and conducting interviews and other tasks in this process. Having a clear hiring strategy will provide a framework for speeding up the time to hire as well as allow the hiring team to scale up when demand is high.
This hiring process can cover many different areas, each with an impact on the speed and quality of hiring
- Position descriptions
- Job ad copy
- Resume selection criteria
- Structured interview guides
- Technical assessments with evaluation criteria
A smooth hiring process is also supported by a refined onboarding process.
The other side of hiring is employee retention or churn rate. There are many factors why employees will be looking for other opportunities. While many may be outside your control, there are some that can help keep your engineers happy and engaged. A clearly defined and documented Employee Value Proposition can track these internally and will help not only with selling the company in job ads but also identify opportunities to increase retention. In addition, a public or transparent career development ladder can provide a tool for identifying opportunities for engineers to grow and develop while remaining with the company.
Third month and beyond
With core systems and processes in place, take opportunities to review the teams and individuals. Look at asking what the strengths and weakness of the team are. What can you to do adjust the workload to suit the team's strengths and what development activities can you run with the team to strengthen areas that may be not as strong. This might be providing mentoring, internal training, pairing sessions or external courses.
When reviewing the team's performance, consider qualitative as well as quantitative measures. Is the team shipping regularly, is the product quality improving with each iteration, and how is the team's morale and engagement.
Keep teams motived, growing, high performing and aligned with the company's vision. Never stop learning and good luck on your journey into engineering leadership.