Skip to main content

Delicious Reverie

blog of developer & bookworm benjamin read

The Art of Compromise

We developers are inherently precious about things. Our tools. Our technologies. But we can't afford to be precious about those things too much. In fact, working in cross-functional teams and with other teams means that we sometimes need to compromise.

I was seething.

So upset that, I have to admit, I came close to criticising someone whose opinions I really value, and who is a more skilled developer than I. This was because they said they didn't like the way I was leveraging the CSS cascade: "It makes components leaky and not well encapsulated".

I love the cascade, and have been using it to pass down colours to components instead of re-declaring colours on each paragraph, heading and link inside nested components. I thought this was an approach that everyone should take: use the cascade to our advantage.

I nearly voiced some critical opinions to my colleage. Then our designer spoke up. "We need to stop discussing this between just two people. Involve all of the other developers working on this set of components. Then you can reach consensus and all be in alignment."

He was right. Everyone has an opinion, and whether one is correct or another is isn't up for debate. What truly matters is what the consensus is.

Compromise is a strength, not a weakness. And on any project that involves more than one person (which is, like, all of them), it's the only way of moving forwards.

"The Art of compromise has been our greatest strength" — Clannad


You're currently on the javascript disabled version of the site. To enable the site search and some pretty animations, view the javascript enabled react app.

About This Site

Delicious Reverie is the blog of developer & bookworm benjamin read. Set in Skybird and your system font. Built with Gatsby, hosted by Netlify. © Some rights are reserved. This site doesn't use any cookies or other session storage and has no tracking scripts.

Where you can find me: