Oct 1, 2020 8:03:00 AM
How developing a great engineering culture helps improve customer service
It’s not about the tools, it’s about the people. Those who are building Solvemate’s customer service automation platform and those for whom it is built for: we, the engineers, our customers and lastly their customers.
This article is a tale of learning and evolution. The first five years at Solvemate have been an exciting time with many ups and a few downs. We learned that a cohesive engineering team is important to empower great customer service. We have not only built a great product, but a great culture, too.
Traits of a sexy* engineering culture
The right mix of people from the very beginning
I started my software engineering career at Solvemate back in 2015, right out of university. I had no previous working experience in building software, but Erik, our founder, thought I was worthy of a chance. Two months later, he was presenting the MVP (minimum viable product) I had built to convince our future investors. Luckily, it worked out. Only a few months later, the team grew as three more engineers joined and in less then a year we were a well-performing team.
In order to build something that has the power to support others, you need a solid base and a strong inner support system. This is what we aim for. The key here is to strike a balance between juniors and seniors in your team. Juniors are flexible, fast learners who want to prove themselves, and senior engineers can provide the guidance and experience needed to make the right technical decisions. Knowing which technologies to work with and when it’s safe to cut corners and accumulate technical debt is very important, especially at the early stages of a software product. Integrating junior engineers from the very beginning means they will develop a similar mentality and grow into a cohesive team.
When a young company is trying to achieve its product-market fit in a market that does not yet exist, every potential customer is important. Of course, you already have a vision for the product and a roadmap for new features. But customers always have unexpected requirements. It is needless to say that it is fundamental to cater to these customer needs to develop long-lasting relationships with them. If you’re building SaaS software, the engineering team is the one implementing features to fulfill those requirements. A well knit team rises to the challenge any day of the week, and your customers (as well as their customers) will be happy.
As the business grows so do the requirements on the product, and code turns fast into legacy. Hiring specialists becomes the logical next step to evolve further. Yet, it is important to already have established a strong culture before taking this step so that you can build on it when bringing new members to the table to help your team, product and company thrive.
Formalise your culture to support team growth
At Solvemate we formalised our purpose and values very early on, already before the first growth period began. It is not an easy thing to do because people tend to have strong feelings about values and what is important for an inclusive and productive work environment. A few late evenings later after breaking down which values make us “us”, a document was born: our culture deck (go ahead, you can read the whole thing). This document has been our internal “rule of law” and it has attracted great people to join our company. Probably also scared a few off, but that is kind of the idea as well.
Fast forward to today: The product team counts 14 people and encompasses specialized roles like UX designer, DevOps and support engineer, as well as a Head of Engineering. There are development and machine learning teams. We have processes and documentation for all areas of software development: bug reporting, Scrum, version control and last but not least code reviews. Our core values are still: teamwork, transparency, candour, commitment and curiosity (listed in no particular order). Let’s have a look how this translates into our everyday work.
Engineering culture under the umbrella of the "culture deck"
Purpose and ownership
For the first couple of years the main focus was developing the product so engineers made up the majority. But the other colleagues with business backgrounds had the interest and skills to contribute to the technical development, with everything from research on algorithms to mock-ups for the UI. In other words, the whole team (developer or not) took part in all brainstorming and decision meetings. For an engineer, having the opportunity to shape every aspect of a company is, firstly, somewhat extraordinary, and secondly, truly motivating. This way, everybody on the team developed a strong feeling of ownership.
Before we had a customer success manager (we now have three), complaints and feature requests landed directly on the developers' desks. We then would cater to these requests swiftly and effectively, which was always appreciated. Engineers working in such an “hands-on” environment gain a strong understanding of business mindsets and requirements, and work with a keen focus on customer needs in mind. This really helped our team and product grow. Together with the value of candid feedback.
At Solvemate we live "great customer service", we don't just build the tools for it.
We highly encourage developers to be proactive. We work with deadlines, but leave room for experimentation and create an environment where alternative solutions, refactorings, new frameworks and challenging existing implementations and processes are normal.
We want everyone on the team to be committed to their work. That's why we encourage everyone to take ownership of the decisions they make and the code they write. When you start working here, the expectation is that your first code contribution lands in production by the end of the first week. Challenge accepted!
Curiosity and learning, supported by teamwork
As engineers we not only like to, but have to learn new technologies everyday. We are curious to understand how things work so we can improve or fix them when they stop working. By focusing on teamwork and fostering learning we have created an environment where people are not only ready to answer questions and explain, but actually are excited to. I never thought I would enjoy styling a web page with CSS. But at Solvemate I received help and time to develop this skill. I'm a Fullstack developer now and styling is often the easy part of my work.
The thirst for knowledge and self-improvement and the need to work as efficiently as possible by implementing the right processes (for us) are as present now as they were when the team was small. We have learned from past mistakes and reduced the bus factor. We made sure that all developers were familiar with the whole codebase and had similar skills, and no one person was responsible for a specific part. We are all responsible. This is an environment that is based on humility and fosters knowledge sharing, in other words teamwork.
Helping others and sharing responsibilities is embedded in the way we work as developers. There's no room for “developer rockstars” here and no one person owns a part of the codebase. And when something breaks on the production system no fingers are pointed. We communicate transparently with everyone what went wrong as to learn from our mistakes.
Transparency to bind the whole company together
By fostering ownership over technical decisions, and creating an environment where individual growth and initiatives are supported by knowledge sharing, collaboration and shared responsibility, we give engineers everything they need to do their work to the best of their abilities. But it would be a pity if they would not understand the importance of their work.
That’s where transparency comes in to build the bridge between engineers and the rest of the company, and vice versa. We take care to share big wins, like closing a deal with a new customer, but also small ones, like a positive CSAT feedback left by an end-user after interacting with the chatbot. Not all feedback is positive though, and that lands in front of the eyes of engineers, too. But this is what helps a business drive, too. We make sure that the struggles of other teams are understood so we, the engineers, know what parts of the system require more care and which features have the most impact for our own customers and ultimately for their customers.
Some final thoughts
Having a solid cultural foundation which influences the way we work, how we build our product and how we approach our customers’ needs is what enables us to do our part in improving customer service. Really formalising it and making a commitment to it has proven to be very valuable - not only to us as an engineering team but the whole company, and in the end our customers. By giving people room to grow, challenging them to be the best at their task and for our customers, by being humble and kind to each other and by making the key parts of our daily work visible to everyone, we have created a workplace and a culture that is damn sexy (* in my opinion).
Hi, I'm Bogdan, and I’ve been adding bricks to the Solvemate house for 5 years strong, from the MVP to the highly integrated SaaS customer service automation platform of today. Ever since day one I've enjoyed my time here as this company gave me the space to develop my skills and become the engineer I am today. I am grateful for my excellent colleagues for their support and their knowledge. If you’re looking for a great place to work, look no further.