More Thoughts on Compromise

I wrote about compromise last year, but when the topic for February’s @startYourShift was announced, I knew I had more to share. Specifically, the topic is:

Compromise. Balancing Project Needs with Internal Ideals.

The concept of “internal ideals” is interesting to me. Since I began the journey from writing code all day to building an organization, I think a lot more about “internal ideals.” That’s not because having a set of ideals is more or less important for me now, but because growing a team forces you to think about these things. (Or, at least, it should.)


I see ideals as a set of standards that you strive to adhere to. Perhaps you strive to make your work on the web accessible to as many people as possible. If that’s the case, you likely strive to adhere to approaches like progressive enhancement, which relies on the fault tolerance inherent in the web to serve layers of content, presentation, interaction, and so on. Working for clients (whether eternal or internal) will quickly expose you to folks with very different opinions about how the web should be built. And, while we all would like to think we can simply walk away from the projects that don’t align with our internal ideals, it takes time to grow a business to the point where you can do that with confidence. So, sometimes we compromise.


I’m never content with the work we do. I always want it to be better. I believe there are times to push for an ideal solution, but there are also times to shift our understanding of “ideal” to consider the context a specific customer is facing. Maybe this is the wrong way to think about it—maybe there is always one right way to solve a problem. That’s just not the philosophy that I subscribe to.

I suppose this means that one of my internal ideals is to provide value to the people who trust us to work with them. In this way, we have some flexibility in how we determine the best path forward because we can consider their budget, their timeline, their internal team’s ability to maintain the thing we build, and the places where their customers will benefit the most. I still want to challenge our clients, to have a voice in higher-level decisions on their products. I just want to do so in a way that is sustainable.

For me, the key consideration is identifying when you are making a compromise. The ability to tell the difference between the compromise and the internal ideal means you’re in control of those decisions. And, real compromise—the “selling your soul” kind—is when you lose that control.

This post is part of The Shift: a writing project designed to help us produce and consume unique perspectives on topics relevant to the Web industry. Follow along with #startYourShift.