HomeCustomersPricingDocs
Back
  • May 22, 2023
  • 7 min read

Building and Scaling Engineer to Engineer Support

Eoin Boylan

Head of Engineering

Categories

Engineering

Note: This blog post is adapted from a presentation originally given at the DevRel Meetup. You can view the original presentation here.

Why did we build a custom engineer-engineer support structure?

Encryption is complicated. It can be difficult for even the most experienced developers to integrate encryption into their applications. When we launched our platform, we quickly saw the challenges our users faced in understanding how to use our products. Early users struggled to grasp the use cases, integration process, and where our product fit into their tech stack. Some of them mistook us for a compliance tool or misunderstood specific features.

We needed to change our approach to developer support to address this confusion. Updating our website and documentation was one solution, but that would have been a lengthy process, and we also may have missed the mark without a deeper understanding of existing knowledge gaps. What we needed most was a way to establish closer connections with developers as they used the APIs.

Our Support Journey

Taking inspiration from one of our north-star companies, we started exploring 'Collison Installations' a hands-on approach where Stripe's founders directly installed and integrated Stripe on users' computers. This allowed us to gather feedback, identify barriers, and gain insights into the developer's stack. While this approach worked great, the COVID-19 pandemic disrupted all methods of in-person support and forced us to find innovative ways to engage with developers remotely.

To replicate the benefits of in-person support remotely, we explored various channels like email, help desks, and live chat. However, each approach posed challenges.

  • Coordinating multiple support providers through email proved difficult.
  • Help desk software, designed for larger support teams, was costly and unsuitable for our 10-engineer team.
  • Despite its popularity, Live chat had become reminiscent of an email inbox with a polished interface, lacking the efficiency we desired.
  • All of these channels risked diminishing the developer experience and introducing churn.

Leveraging Shared Slack Channels for Enhanced Developer Support and Reduced Churn

In the spirit of “Don’t Repeat Yourself,” we asked ourselves, why replicate an experience on a new platform when we already had one that was working? Our internal team already communicated through Slack, so why not extend the same approach to our users? Utilizing Slack Connect, we integrated top-down and bottom-up distribution channels into Slack, creating a support method we call the 'Remote Stripe Install.' Let's consider the experience of Richard Rodger, host of the DevRel Meetup and Evervault user. Richard integrated our products three months ago and encountered an issue deploying one of his functions. When he posted a message about the problem into our shared Slack channel, an Evervault engineer responded and fixed the issue within five minutes, allowing Richard to continue his integration process without disruption. While this level of support may not be scalable, it aligns with the advice of Y Combinator's Paul Graham: "Do things that don't scale." Small companies can gain a competitive advantage by taking on tasks that larger organizations may find too costly or challenging. Exceptional developer support can be a differentiator that larger companies often struggle to achieve.

Streamlining Support

At Evervault, we have automated our entire customer interaction system to streamline the support process. Our sales team operates in a rotation similar to support agents. They respond to messages from our customers using emojis, which are then sorted by Slack bots into specific channels based on their nature. Messages marked with the 'eyes' emoji are directed to an engineering support channel, while non-engineering issues are sent to the relevant private internal channel. Drawing from the expertise of our employees who have previously worked at Slack, we use a specific organizational system for our Slack channels, facilitating scalability and ease of use.

Role of the On-Call Engineer

Our engineers undergo an on-call rotation every 12-14 weeks, temporarily stepping away from their product team to focus on support. When an on-call engineer can immediately address a question, they do so. Otherwise, they consult the person responsible for the relevant product to ensure accurate and efficient assistance.

Benefits:

Having shared Slack channels with customers has brought about several benefits, including:

  • Acceleration of the Sales Process: These shared channels often involve members from various departments, including finance, operations, marketing, and sales. This integration provides visibility into issues such as legal agreements and compliance matters. By eliminating the asynchronous lag caused by lengthy email threads, we can provide a seamless and efficient experience for our customers.
  • More Enjoyable Support: When developers communicate directly with non-technical support personnel, they may sometimes face frustration or challenges in effectively conveying their technical requirements. Connecting two developers directly through shared Slack channels fosters a more enjoyable experience for both parties.
  • Better Ticket Times: Leveraging shared Slack channels has significantly improved our support ticket response times. We can now acknowledge issues within two minutes and provide solutions in less than 10.
  • Enhanced Customer Engagement and Product Feedback: As a small company, traditional feedback methods like Net Promoter Scores (NPS) don't always provide us with actionable insights. Direct channel engagement enables us to receive feature requests and feedback directly so we can quickly iterate and enhance our products based on their evolving needs and preferences.

On Discord Vs. Slack

We've observed a notable difference between communication in Slack and Discord. In public forums, developers tend to be more reserved, withholding details about their frameworks and configurations. However, within private Slack channels, they are more open and willing to provide valuable information on their architecture. By fostering an environment of trust and confidentiality, private Slack channels empower developers to contribute their expertise and actively participate in the continuous improvement of our offerings. Our Discord serves as more of a community, while Slack is a support channel.

Debunking Upsell Misconceptions

When invited to a private Slack channel, some developers may mistakenly assume it's an upsell for an enterprise product, often a premium support tier SLA offering from other companies. We make sure to emphasize that at Evervault, our private Slack channels are designed to provide personalized support to individual engineers regardless of whether they are solo entrepreneurs or members of a 50-person team.

Embracing the Future: Developer Support Evolved

Our journey to building and scaling Engineer-to-Engineer support at Evervault has been a transformative experience. By leveraging the shared Slack channels, we have bridged the gap between our team and developers, providing fast and effective support throughout the product integration.

At Evervault, we firmly believe building strong relationships with developers and providing unparalleled support is paramount for our success. As we continue to grow and evolve, we are committed to refining our Engineer-to-Engineer support model, trying new approaches that enable us to deliver exceptional experiences and empower developers to build with confidence. We’d love to hear more about what you’re doing to support developers in having a better experience using your products — let us know what you’ve found useful.

Eoin Boylan

Head of Engineering

Related Posts