Good customer support is key to any software business. But it’s sometimes unclear who is best placed to provide that support. At smaller companies, it can be a case of ‘all hands on deck’. With fewer employees to call on, developers often have to pitch in and use the company’s cloud based phone system or email to provide that essential customer service.
As firms grow, however, and are faced with an increasing number of calls, customer support tends to get handed over to a dedicated team. And developers spend little – if any – time dealing with customers. It’s often the case, too, that developers are more than happy to give up their customer support roles.
Some perhaps believe they don’t have the necessary skills – or that time spent on customer service takes time away from their essential development work.
However, this could be a big mistake. In having to deal directly with customers and talk to them about their products, developers have the opportunity to learn important lessons and even onboard new skills.
Plus, not only does putting developers on the frontline help them ‘develop’ themselves, but also improves the customer experience. Developers are very familiar with their products, so they’re ideally placed to deal with software issues. For example, any code changes can be completed and tested quickly – by the same team member.
Before we get started on why developers should be part of customer support, let’s outline what we mean by a ‘developer’, as opposed to someone who works in IT support.
The role of a developer
In general, when we talk about developers we’re talking about the people who build features, rather than provide customer support. They design, code, and test features, and are involved in all the activities involved in engineering a product or service. From websites to webinar software.
Developers can be ‘front-end’ or ‘back-end’. Front-end developers are also known as ‘client-side’ developers, and they’re responsible for building the human interactions like ‘scrolling’ on a website. A back-end developer creates architecture behind the scenes, and uses algorithms to set up server configurations and APIs, for example.
While developers may get called on by customer services from time to time, they don’t usually interact directly with users.
Customer service support agents, on the other hand, may be well-versed in IT but will not usually have coding experience or be able to make significant enhancements to products. They’re there to field queries and provide advice to customers and clients.
In this post, we’ll argue that developers – and indeed everyone involved in the business – should spend some time serving customers directly, albeit only intermittently. By dealing directly with their customers, developers can gain important insights into how their products are used and add extra value to the business.
Here are five reasons why it could pay off to give your developers a role in customer support.
1. Being involved in customer support lets developers see the bigger picture
Providing direct customer support gives developers the opportunity to understand their products as customers see them. As a product matures, developers can begin to feel disengaged from it in its entirety. That’s because developers often work in silos, focusing only on the features they’re building individually.
This disengagement means developers don’t always have the chance to consider their place in the overall development of the products. By spending time talking to customers they get a complete view of the product, and of the part they’re playing. By offering support they can get to appreciate all the other systems that make up the bigger picture.
Developers often have the knack of solving complex coding challenges. By providing customer support they’re faced with having to break complex problems down into bite-sized pieces. Both perspectives are beneficial when tackling software issues.
For example, spending time with customers helps developers understand the codebase in its entirety. Once a developer has worked in support they’re better equipped to notice ripples – i.e., areas of code that could potentially be affected by changing one line. Once noted, they can then feed this information back into the system in terms of how features are built. So that the company can learn how to improve and scale.
Developers can also understand how clients work with live data rather than being exposed to just test data. This means they can introduce new variables into risk systems during the development phase.
2. Developers can provide a higher level of customer service
All software companies share the same aim; to provide the highest quality of service possible. And that goes further than just developing the best software.
When it comes to providing the best customer service, companies need to implement the best technology, such as MDM systems. It’s also essential that the support agent handling any calls is knowledgeable about the products or services.
This is especially true when it comes to selling softwares and systems. Customer support is often included in a software package, so customers expect to have their queries dealt with efficiently.
It’s incredibly frustrating for customers, then, when they call with an issue to be faced with a customer support rep who’s not 100% familiar with their product. Whether they’re working in-house or are part of an outsourced support team, agents may be simply reading from a script. They can be quickly fazed when presented with a question that doesn’t appear on that script.
Developers on the other hand know how to ask the right questions to get to the right answers. They know exactly what’s going on, so they can narrow down the issue in a short amount of time. And, because they have access to the code, they can quickly release a patch and solve problems instantly.
3. Developers can hone their coding and debugging skills
Having to deal with customers directly means that developers may be exposed to code written by more experienced coders. This can provide developers with inspiration in terms of picking up actionable insights they can apply to future work.
Developers on the frontline are also in prime position to learn how to figure out how weaker parts of the codebase are decreasing the product’s performance.
Developers working in customer support also get an insider view on how customers are engaging with the software or system. Different clients will use the software in new ways that may not have occurred to the development team.
Certain customers may not be using the SaaS as intended, and therefore, without realizing it, they are introducing bugs into the system. This is where a developer/customer services member can go through steps with the client, perhaps using screen share apps, in order to identify the sequences that are creating these issues.
Developers are exposed to different technologies
In dealing with customers’ problems, developers also get to understand technologies that are usually out of the remit of their usual job. For example, an iOS developer may have to learn how to use fixed VoIP to talk to customers. Having to deal with different aspects of the business and its various systems gives them fresh insights and means they have to master new skills.
Debugging is a critical skill required of any developer. By supporting customers directly, developers become more skilled at their job. When they’re reminded of bugs they’ve had to fix for customers, they learn to avoid making the same coding mistakes in the future. This can save the company valuable time and money.
Developers working in customer support also get better at following up after releasing their feature and viewing error logs. They’re also more likely to figure out ‘one off’ cases because of their prior experience – and identify similar malfunctions so they can fix them more quickly.
4. Solving customer problems gives developers a morale boost
At times, it can be frustrating having to deal with customers. However, many developers report getting a boost in morale when dealing with end users. They can see close up how customers are using their products and get real feedback from those who use products on a daily basis. Seeing how their work is being used gives them motivation to ‘do better’.
For example, when rolling out software it can be useful to involve a developer in customer support and use their expertise to spot issues ‘on the hoof’. In helping to successfully get the product to market, the developer is given a huge confidence boost. They’ve helped to ensure the success of a project that may have taken months, if not years, to complete.
Developers can develop their soft skills
Programmers are often perceived as less outgoing than employees involved in sales prospecting. However, developers can pick up useful soft skills over their time in customer service – and that’s something that’s only going to help their careers going forward. Conversations with customers can help developers build empathy that will lead to improvements in how they build.
By thinking about what the customer really wants, they can be dissuaded from ‘overengineering’. Developers who handle customer care tend to care more about the end product. They gain a sense of purpose from the knowledge that the products they’re developing have an impact on the lives of customers. Without understanding this, it’s as if all their hard work and effort goes into a ‘black box’.
Communicating complex problems and solutions when they’re under pressure from customers is difficult, but it’s a great way for developers to learn new soft skills. Tech support members have to learn what to say to customers and when, as well as how to explain problems and what information to present to ensure transparency.
Developers need to get used to communicating with customers in a way they can understand via various channels of communication including social media. They may need to talk more quickly – since developers are often used to explaining things slowly using charts and diagrams. What’s required when talking to end customers is a more direct, faster manner of communication.
5. New hires get a great head start
When onboarding new employees, learning how to interact with your customers and handle their concerns is a great introduction to understanding your products. Not to mention how your company operates.
Without the customer perspective, it’s hard to understand all the use cases around products. It’s also an effective way of getting developers up to speed with the impact of development decisions, and software design. As well as giving them a high level view of the product roadmap.
Developers can’t spend the majority of their time providing customer support. They need to allocate most of their time to coding without interruption. But it’s possible to assign developers a few hours a week supporting the customers that buy and use the products they develop.
Once support tasks become a natural part of the working day or week, developers will benefit by becoming better at their jobs.
By placing developers on the front lines of customer support you’re creating opportunities to build customer loyalty as well as improve the developers’ technical skills. Developers can, for example, learn how to screen share in order to show customers a sequence of practical steps or a diagram of the product.
And what developers learn about your products can be fed back into the way those products are developed.
If you’re just starting out in terms of re-deploying members of the development team to a customer service role, it’s important to remember that they’re unused to being in a customer facing role.
Enlist developers to spend time with support staff for a day or two. That way, you won’t have untrained customer service facing developers on the frontline right away.
Once they’ve worked in the background helping with tricky issues, they will have picked up a few pointers on how to deal with customers. Then it could be time to let them speak to customers directly. As they become more proficient at providing customer support, you’ll see this is a ‘win-win’ situation for the company, your developers, and your customers.