I sat down with Kevin Mullin, Operations Engineer at UserVoice, to talk about scaling from a technical standpoint, as he deals with this every week. “Scaling is often misunderstood”, Kevin said. “But it’s important to understand for technical and non-technical work.”

Scaling is the ability of a system, or process, to handle a growing load in regards to capacity.

Many people picture this as simply adding more boxes to hold the extra work that is coming in. But this often isn’t the right solution, in computer scaling or in customer support scaling.

There are several ways to scale when we talk about computer systems.

The most well-known is probably “load balancing”, where you distribute work evenly across multiple computers, so no one is bearing too much burden. Got more work coming in? Add another box and load balance.

Another is optimizing software through connecting arbitrary chains of other software so they work better than the original system. No need to build your own if you can hook up something that does it for you.

Another method is to “shard” data, so different chunks of data are stored in different databases. That way looking up User A’s photo doesn’t slow down processing for all the other users who aren’t loading photos.

“Every one of these ways of doing things has strengths and weaknesses, down to the smallest elements”, Kevin told me. Instead of this causing indecision, a good database administrator will play to these strengths and weaknesses, creating the best system possible through intelligence, not strength. They strive to make their systems work smarter, not harder.

The scary thing about scaling is that once you implement a system, your whole experience depends on it. Making a big change can take your service down, which can be anywhere from inconvenient to crippling. “It takes a lot of energy to rebuild after you run into these capacity issues,” said Kevin. “So the best thing to do is to plan for scaling from the start”.

While we think of servers as something totally different from customer service, they’re not. Scaling a customer service organization simply by hiring more people is not smart, and eventually you’ll hit a wall when you can’t scale vertically anymore. You have to think like a database administrator and work smarter, not harder – preferably sooner rather than later.