Skip to main content
Horizontal Value: Scaling Ideas Beyond Yourself

Horizontal Value: Scaling Ideas Beyond Yourself

Inside dmarcianThought Leadership

As part of our ongoing series, we are highlighting the diverse people who make up dmarcian. At our core, we are people helping people, and that spirit shapes the way we work with each other and with the organizations we serve. Our team brings together a wide range of backgrounds, experiences, and perspectives, all united by a shared commitment to make email safer for everyone. In this piece, hear from one of our developers on problem-solving and navigating complex work systems.

Years ago, I was part of a team with a big problem to solve: errant behavior in our application that had been going on not for days, but for months. Something we had to keep bandaging because we couldn’t find the root. My coworker was patiently and consistently focused on the problem, while I was focused on how to be the hero. I went off on my own, building the tools I thought were needed to find the missing piece. After two weeks of work my tools brought me to the same place my coworker had started, and it was humiliating. 

Confident now that we’d been staring down a dry well, he began looking elsewhere—and found something abnormal in our logs. Trying to salvage my ego, I put down my own idea and leaned into his. I visualized his data as graphs. We finally found something, hiding in plain sight—corrupting our data and reopening the wound. He thanked me for my help, but I felt defeated. I hadn’t solved it. Not alone.

I walked away from the situation feeling like what I had worked for years to master wasn’t enough. In the face of an overwhelming problem, I needed more. I didn’t have the language for it then, but computing does. 

When one problem solver isn’t enough, there are two ways forward. First, you consider upgrading what you have into a better computer. This is called vertical scaling, as you’re raising the ceiling on what you already have. It’s how we try, fail, and learn—drawing on our own experience and on others’. It’s how we refine ourselves to beat alone what once beat us. It’s me becoming a better me. Humans and computers both have limits to how much we can do alone. That’s where horizontal scale comes into play.

Horizontal scaling trades the simplicity of solving a problem alone in the hope that two (or more) will be better than one. In computing, it’s distributing an otherwise unmanageable number of occurrences of the same problem (think millions of people trying to utilize the same website) across nodes equally capable of solving the task. It’s hard to relate to. No two people are the same. We’re not equally designed, built, or configured! We may be able to relate more to another application of horizontal scaling: splitting up a problem for specialization so each computer can focus more efficiently on doing one thing. This idea is closer to the context of my own experience; getting to the same conclusion from two different angles and providing two different skill sets to reach a breakthrough. 

Yet, the analogy still misses the rawness and the ego of what actually happened. I wasn’t just trying to help my colleague get unstuck; I was invested in proving that my belief in how the problem should be solved was the missing piece. I wasn’t equally capable of walking down the same path he did to come to the same conclusion, nor was I equally capable in the ability to collect the data that led to our breakthrough. I had something unique to contribute, but my ego made triumph feel like failure because my own agenda wasn’t useful enough to solve the actual problem. Computers, for now at least, don’t have egos. They’re missing out on something that’s as beautiful and informative as it is inefficient and messy.

Egos can get in the way of efficiently solving a problem, but they work really well for establishing what problems are worth being solved. Given a known problem and enough feedback, artificial intelligence is currently awe-inspiring (and terrifying) in its ability to reach solutions, but can it really tell you if the problem itself is worth solving? Doesn’t it have to know who it’s solving the problem for, and what the intended audience needs most? 

The same problem can affect people differently. A broken leg can feel life-ending to a career sprinter. A wheelchair isn’t enough to carry the shattered dreams resulting from a currently unfixable injury, but it’s perfectly fine to aid the minor inconvenience of a software developer unable to use their standing desk for a few months at work. 

My coworker didn’t need my manner of recreating a problem in a different environment to know something was wrong. There was another solution he could implement faster to get to the same conclusion. My coworker needed someone who could get to the same conclusion from a different vantage point; the confidence to convince him to look elsewhere. I could give that to him, even without realizing it. The problem was big enough to maintain importance despite our egos. It was big enough to humble me; it held me in restraint and faced me dead on with the truth that I needed somebody else to face it. It made me compromise and find a way to work with someone I needed and who needed me. 

Years later, the problems in email security continue to get harder, more entangled, and more dependent on people who see them differently than I do. I keep asking myself whether I’m working on the ones that require someone else—and whether I’m becoming the kind of person worth working with.


Want to continue the conversation? Head over to the dmarcian Forum.