Professional Services - Non-billable backend engineer
The Problem
When a GitLab issue is uncovered during the course of a customer engagement, there are very limited (or simply no) resources on the Product team to:
- Research the issue
- Determine root cause
- Create, test, and release a fix
PS Challenges:
- Product issues surfaced within customer projects have a direct effect on our ability to forecast revenue within the target goal of 5% variability as they slow down or even stop/pause projects. In the worst-case, the customer project might even be canceled or de-booked if we can not find a resolution.
- Going back to the customer asking for weeks or months of time to resolve GitLab product issues creates several problems:
- A CSAT problem (customer is not satisfied)
- A customer confidence issue
- A revenue recognition problem
- PS engineers have a variable compensation goal tied to their ability to hit a target of 70% billable work. Working on reproducing and testing of product fixes to address customer issues impacts this directly.
- PS engineers do not have the appropriate test environments to validate fixes provided by the product team and the product team does not have environments that match PS engineers. Due to this, investigations can take quite a long time, as well as the GitLab-to-customer feedback cycle, and we have seen dozens of fixes in the last year that were a "best guess" to solving problems.
- The ~"group::import" team is small with no plans for growth, but needs to keep up with their own demands in addition to, and sometimes before, supporting Professional Services:
- internalization and templates
- reliability / security
- GitLab migration roadmap
- There is currently not a way to get advanced notice on when a customer escalation might arise, which further exacerbates the constraints of ~"group::import". Professional Services and Product workflows are fundamentally different, where Professional Services is working on a timeboxed contract which escalates when they get blocked, and Product is working on planned releases to communicate monthly timeframes to users
Proposal
It would be beneficial if Professional Services had a dedicated, non-billable engineering resource that reported through Professional Services. This would mean that the resource would have to be approved as part Professional Services budget, but it would enable Professional Services to solve customer escalations quicker, contribute to the importer code base when needed to unblock Professional Services engineers, and perhaps even bring expand Congregate or bring it into the Importer logic if they have free time. This person would also be a great bridge between Development engineers and Professional Services engineers.