What is the support engineer role?
The support engineer is a temporary role assigned to an engineer every week. The idea is that this person will spend a portion of their time monitoring the team services proactively to ensure the product runs smoothly (keep the lights on) and handle unexpected requests, such as answering client queries, patching security vulnerabilities, leading incidents, etc.
What are the benefits?
Having a dedicated support engineer to handle unexpected requests during working hours can significantly boost team productivity. The idea is that this person will prioritise working on unplanned tasks, shielding the team from context-switching and losing their focus. For instance, if there’s an urgent request from a client, the support engineer will prioritise investigating and answering the query, enabling the rest of the team to continue working on the planned roadmap. Additionally, the support engineer will have exposure to different stakeholders, leading to a better understanding of the product.
For this role to operate efficiently, there are a few assumptions to take into consideration:
- The person in support is not alone! It’s encouraged to pair with other engineers to spread knowledge on complex issues.
- When planning the sprint, the team must consider the impact in their capacity since the support person will spend significant time dealing with support duties.
- Rotate the In-Hours Support role weekly and ensure you update the rotation schedule in case of holidays or sickness. You can use tools like PagerDuty and OpsGenie to facilitate this process.
- Keep track of the kind of support work that comes to the team. If possible, prioritise automating and improving the operational troubleshooting to reduce the burden on the team.
- Avoid the scenario where “everything is a priority” and minimise the context switch by avoiding handling multiple requests. Unplanned work must be prioritised and refined with the team as any other task (except high priority requests). Remember, when everything is a priority, then nothing is.
Support Duties
- Incident Lead - In case of an incident, this person will lead the process from assessing the impact, coordinating engineers and writing a post-mortem.
- Facilitate Graph Club - The person on support is responsible for facilitating the Graph Club sessions and creating the follow-up tickets for any actions.
- Monitor the product KPIs - Monitor the product metrics (e.g. SLAs, conversion, active users) and investigate potential anomalies.
- Handle Client Queries - Answer urgent client queries and collaborate with the customer success team to provide a good service experience to clients.
- Investigate Alerts - Actively monitor the alert channels in all environments and investigate the causes.
- Fix security vulnerabilities - Updating outdated libraries or code that can compromise the system’s security. Use tools such as SonarQube, Dependabot, and Snyk to ensure you get alerts from security vulnerabilities.
To summarise, the support engineer plays a pivotal role in a team by proactively monitoring team services and handling unexpected requests to shield the team from distractions, enhancing the team’s focus and productivity.