Uploadcare Customer Support: A Sneak Peek Into Our Processes
Tags: devops, productivity, cloud, webdev
Published: 2021-04-09 06:22:58

My name is Alex Chernenko. I’m a technical support engineer at Uploadcare. Actually, I’m the technical support engineer at Uploadcare. If you’ve ever emailed us or posted a question on the forum, it was me who answered it. In this article, I’m going to take you behind the scenes of our customer service. 

##There’s Just One Support Engineer. How Come?

The number of support engineers on the team usually correlates with the load. I run our customer service alone, and there are two reasons for it: 

1. Most of our customers are tech-savvy, and they tend to figure everything out without asking for help. 
2. We have comprehensive documentation that covers most of the use cases. 

As of today, I successfully handle the load alone. The average response time is under 6 hours. Bearing in mind that our product is technical, it’s a great result.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k2c40txizctxq9dr11d.png)

##About Our Communication Channels

When you have a small team, it’s better to keep communication channels to a minimum: if you spread yourself too thin, you won’t pay enough attention to each channel, and customer experience will suffer. Here are the channels we use at Uploadcare:

###Live chat & email communication 

Some issues can be solved quickly—just one simple question and one answer. In this case, live chat is enough. If it’s a complex issue that requires a detailed analysis, examining the case and providing an extensive response, we communicate via email. 

Back in the day, we used Intercom for these purposes. The platform worked great as a live chat, but I didn’t like how email communication was implemented, so we switched to Help Scout. 

###Community Area 

As an additional channel, we run a Community Area, a forum where customers can ask their questions, report a bug or request a feature. It’s like an open knowledge base that grows organically. All answers are publicly available for everyone, which helps offload requests from other channels.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kyknzkbalmn7dhlkop3.png)
 
We also create shared Slack channels for our users on our premium plans so that they have access to the entire Uploadcare engineering team. Usually, I can handle most of the issues, but some inquiries require deeper research, so I involve the team. When such issues arise, the client can talk directly to the developers via Slack.

###Zoom calls

When I need to better understand what’s happening on the user’s side, I can arrange a quick video call. During this call, the user shares the screen and tells about the problem in detail. This way we can solve the problem much faster than if it was an email conversation. 

Recently, we had a call with a client’s developers. They had an urgent issue, so I organized a call on that very day and helped them solve their problem. They were surprised that they were able to just drop me a line and get a consultation almost right away. They thought they would need to wait at least several days. 

This got us thinking about creating a page for arranging such consultations so that every customer could book a quick talk and get help straight away. That’s on our roadmap right now. 

##About My Workload: It Isn’t All About Handling Tickets

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/987j04r0h3rsliwjkyjq.png) 

On average, we receive about 7 new support tickets a day. It’s important to note that most of the tickets can’t be solved with a single yes-or-no answer. They require deep investigation and can turn into a dialog that lasts several days. This means that in addition to new tickets, I always keep working on the ongoing ones. 

I also conduct 2-3 product demos per week. As for our Community Area, new questions usually arise a few times a week. 

What helps me to handle all the issues fast is that I know the product inside out. When customers try to figure out how Uploadcare works, they might read some pieces of documentation, maybe some posts on our blog. They don’t see the whole picture. I know the product, and I have that picture in my mind. That’s why it’s easy for me to combine all those pieces together and answer their questions.

Another task that I do is proactive communication with clients. For example, if I see any errors in our monitoring system or any usage spikes, I warn them about the issue and offer help proactively.

Besides communication with clients, I handle internal requests. For example, I can conduct a demonstration for a new employee or answer any questions about our product. 

And of course, I create self-service materials. Recently, we’ve launched our Help Center, which is all about helping users to get answers to their questions on the spot.

If I notice that many people ask the same question, we add the answer to our documentation or Help Center, so that users can find it without addressing customer support. The most common cases are already covered in our self-service materials.

When a user writes to support, they usually ask questions about their specific cases. For example, they might be experiencing problems integrating Uploadcare with their platform. The implementation is different for each client depending on their tech stack and API, so each case is unique.

And that's how I look like answering such questions...
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qa2gydvzyo7bvkxwsaku.png)  

Sometimes users come with questions related to billing and statistics. I often help customers better understand their stats and usage patterns. It may involve going deep into the logs and analyzing usage data to gain insights.

Also, sometimes users reach out to us to request some feature. If there’s a great demand, we add the requested feature to our roadmap. For example, lots of users asked about two-factor authentication and multi-user accounts. Our development team is already working on it.

I believe that working nine to five isn’t effective. It’s much better if you know your peak productivity times and just stick to them. As for me, the middle of the workday is the least productive time. I can do more in two hours in the morning or evening than in four hours at midday. 

When I start work in the morning, I check if there are any critical requests from clients. If so, I do my best to solve them as soon as possible. Sometimes I provide an interim response and conduct an investigation to solve the problem. If there are no critical issues, I just answer questions that have accumulated over the night. In the afternoon, I do tasks that aren’t related to communication: analyze metrics, write articles for our Help Center, and so on. 

No matter what I’m doing, my notifications are always on, and I always stay in touch with clients. I don’t even count how many hours I work, but it doesn’t feel like a heavy load. I’m good at planning, which helps me prioritize tasks well, solve emerging problems, find time to do my personal stuff, and always be in the flow. 

A big plus is that I can solve most problems without having to sit in front of my computer all day. Sometimes I can even write some code snippets for clients using my mobile phone, and this gives me a lot of freedom. 

**I’ve Never Worked as a Developer, but I Can Code**

The fact that I studied engineering at university is a great advantage for me. It was a long time ago, and all the languages I learned—like C or Pascal—are now outdated. That said, my education taught me the concept of algorithms, data structures, and just how everything works in general, which is more important than learning programming languages itself.

When I finished university, I found a job in customer service for a highly technical product. To grow into the job, I was reading a lot of documentation, watching tutorials, and building some simple websites. In my spare time, I learned some web development technologies such as HTML, CSS, JavaScript, HTTP, databases, etc.

Even though I’ve never worked as a developer, this experience helps me figure everything out quickly and easily. In many cases, I write code snippets for clients. And even if I deal with some language I don’t know, I can still look at the code and understand how it works. To me, it’s like with foreign languages. Some people can’t speak well in French, for example, but they can read and understand it. 

Suppose I receive some questions about some PHP library integration. I’m not good at PHP, but I can do my research on Google, read documentation, look at the code, and most likely, I’ll be able to solve the problem without involving the developers. If the issue is too complicated, I go to our dev team for help. 

**I’m the Only Technical Support Engineer, but I’m Not Really Alone**

When I started working for Uploadcare about three years ago, the dev team was helping me with customer requests at first. Once I figured everything out and could handle most of the questions, I started doing everything myself. 

Today, I’m still the only technical support engineer on the team, but I have the entire development team covering me. Also, there’s an implementation manager who helps clients integrate the product. He also solves a large number of support issues, which makes my work easier. 

##About Our Plans For The Future

This year, we plan to strengthen our team and hire more support engineers. This will help us distribute the load and free more time for everything that’s not related to communication: analyzing our work, enhancing processes, creating tutorials, and so on. Also, it will improve our response time. My workday can cover only about one-third of 24 hours. With more support engineers on the team, we’ll be able to answer much faster. 

Right now we’re getting prepared for it: creating internal documentation, setting up onboarding processes, automating routine tasks, and so on. 

##How I Maintain Good Customer Service 

💡 First of all, it’s essential to put yourself into the customer’s shoes. Some users have a strong technical background, and some don’t have any at all. When answering a question, I always try to adjust to the client and find a personal approach.

💡 Good customer service is timely customer service. I always strive to be in touch and react quickly. Less than six hours is a good result for a technical product, but we plan to cut the response time even more.

💡 Being honest with the customer is critical. I never try to hide or gloss over something. Everybody makes mistakes, and that’s OK. If there’s a problem on our side, I always tell customers about it: “We have a bug, and we’ll need X amount of time to examine and fix it.” I just tell the truth and keep customers posted as we go.