In the scale of hearing crickets at zero to “Hey, no worries, we’ve shipped you the newer model at no cost” at ten; I’m currently experiencing a I wish I was hearing crickets support experience from a trillion dollar company, and they’re trying their best.

It’s been three weeks and one of the most frustrating customer support experiences I’ve had to endure. So far, they’ve transferred me back and forth between five people at different levels and they’ve lost track of my original problem twice. It’s almost unacceptable, but I can empathize with the situation, I definitely presented an edge case.

Most customer support tickets are straightforward; answer from a playbook and you’re good. From what I’ve seen 80%+ of support tickets at most companies on a normal day are like that. But there’re always edge cases: products aren’t perfect and nor are customers. But here’s the thing! There’s a lot of opportunity to be had by handling the edge cases well.

Most brands and companies are now recognizing the value of good customer support. They’re reframing it as an opportunity rather than a problem. As soon as you connect the cycle between customer support and product, you start seeing it as an opportunity to build loyalty, and to find your customers' biggest pain points and improve them on the product side; which in turn improves the experience for your future customer.

Right off the bat here’re two things you want to get right with customer support:

  1. No wait times: Everyone hates having to wait in line, especially on the phone. There’re a dozen other things they could be doing. Instead, just collect their phone number and offer to call them back. I’ve seen this being down particularly well by both AWS Business Support and Apple technical support; you pick up the phone and there’s someone right there!

  2. If the problem has already been documented; find a way to present it to the customer right away. This is as easy as having a help desk that customers can search, or on the more complex end use a service like Intercom (bot) or Drift (bot) that customers can chat with to try and find the solution even before they have to talk to someone. Customers really don't mind self-service as long as it fixes their problem faster. It’s a win-win.

Now let’s get back to scaling customer support as your company grows.

I’ve experienced customer support teams from a company’s standpoint across multiple different roles ranging from a company with 750,000+ customers to a twenty person hardware startup, all the way down to a team-of-one enterprise. So I do empathize with most aspects of customer support and have tried to figure out what they do really well.

Believe me, it’s the easiest when you’re just one person doing it all. In my opinion, a founder/creator getting on the phone with a customer and literally fixing things right then and there is one of the most fulfilling experiences for both parties involved.

Here’s how it usually goes.

In the very early stages the people building the product also end up doing support. They know the product in and out. When a customer talks to them, they know exactly what to do or dive right into the code or inventory and set things right. If everyone’s in a good mood, this is easily a 10/10 and I’m not even accounting for how this process forces developers to empathize with the customers they’re building for.

A 1-1 relationship with customers gives developers the opportunity to quickly fix problems at their root. This means things like: adding a better explanation, an extra tooltip or re-organizing a menu to avoid confusion so you don’t get the support requests for these issues in the first place.

In a perfect world, you’d want to build something so perfect that no one would ever have the need to talk to you. But that’s not how anything works, especially not in the engineering world. Nothing’s ever perfect, there’re always defects, edge cases or let's be honest; customers that do all the wrong things.

Good customer support is one of the hardest things to scale. Naturally, as a company grows, the people building the product, the ones at the heart of it all, get further and further away from the front-line issues that customers face. In most cases, everyone scaling customer support follows the same playbook. Not because it leads to the best results, but simply because they have bigger things to worry about. Orders are off the roof, you’re scaling product and onboarding new employees. With all this happening at the same time, less thought goes into the murky front lines that customers approach when things go wrong. I stress, usually, because there are a few stellar exceptions.

As a company grows it’ll get to a point where the developers simply can’t handle support requests anymore. There’s just too many and they have other, arguably more important, things to do. So you hire someone dedicated to doing support. They spend a week or two learning about the product and talking to developers. Ideally you also document some common problems and create a playbook of sorts for them to refer to.  In most cases a good playbook at the hands of a pleasant customer support agent gets the job done. In practice, you’re now training someone to handle the most common problems and for anything they can’t solve; be a go between with someone who can. This is usually where most of the frustrating customer support stories come out of.

In much larger companies, with millions of customers, the same process is cloned with additional tiers and processes. You can have hundreds of front-lines support agents operating on playbooks, at each stage escalating tickets they can’t handle to their seniors, who escalate it to technicians and further up the chain as needed. There’re plenty of superb support-desk applications that help companies manage this entire process. Services like ZenDesk, Intercom and FreshDesk all specialize in making these customer engagement processes as manageable as possible for customer support teams. But, none of these tools can replicate that pure, day-one experience of a customer chatting with a founder and getting things figured out. But this doesn't mean you can't try to get close.

At Shopify, developers had mandatory customer support rotations. This means each week a developer from the team works on a bunch of support tickets and interacts with the customers they're building for. It was inspiring to see at a company with 1000+ developers and the results definitely show. The support teams were also part of the daily stand-ups for the products they served and got a chance to talk directly to the developers, designers and product managers about problems they come across. From what I've seen this is fairly standard practice at most forward thinking technology startups, but says nothing about how you effectively scale from a team of one, to a team of twenty, and then to a team of several thousand. The next little bit will address that.

Good tools

Pay for a good help-desk software and manage all your tickets on there. Most of these application allow you to manage everything from questions on social media to email, all on one platform. One, it consolidates your support requests; customer support agents can track the tickets they're working on across all platforms from one place. Two, the rest of your team can easily get tagged on and jump into issues that need a little extra work. Three, and most important, it makes for a seamless experience when it comes to the customers. They can reach you anywhere and expect to get the same level of support.

Empowered people

Empower your support team with the right tools and access. If all your support team does is dig up a link from a knowledge base and send it to the customer, you're really not doing much more than a self-serve help-desk. Instead, your agents should be able to quickly see a customer's account, access it via an administrative panel, perform resets and etc. Simply put, (if needed) they need to be able to fix things for the customer instead of telling them how to fix it themselves. Customers need to feel like they're talking to someone who can actually fix their problems.


Integrate the support team with your product teams. Good agents know the product in and out; every new feature, bugs that are currently being fixed and who's working on what. Make your customer support agents look like gods in the eyes of your customers; make sure they have all the resources, knowledge and connections required to efficiently figure things out and have things fixed even if they can't do it themselves.