I was right. I'm pretty sure I'm still right, even now looking back on it. But that's not the point.

The Setup

Howard and I were both developers on the same team. He's old school - the kind of guy who's been writing code since before frameworks were a thing, who learned to squeeze every bit of performance out of systems because that actually mattered back then.

I was pushing the team to work a certain way - something about code organization or architecture, I honestly don't even remember the specifics anymore. But Howard had concerns about performance. He wanted to optimize things at a level that I thought was unnecessary. Modern shit handles so much of that low-level optimization for you now. Premature optimization and all that.

I believed - and honestly still believe - that readability and maintainability matter more than micro-optimizations. That you should write clear, understandable code first, and only optimize when you have actual performance problems to solve.

Like I said, I was probably right.

What I Did Wrong

There was a meeting. I don't remember the exact words I said, but I know how I said them. Too loud. Too forceful. Too certain. I made my point like I was trying to win an argument rather than have a conversation. I didn't just advocate for my position - I steamrolled over Howard's concerns like they didn't matter.

Did I realize I was being an asshole in the moment? Nope. I thought I was being passionate about doing things correctly. I thought I was helping the team by steering us in the right direction.

My manager pulled me aside afterward and let me know that wasn't cool. That I'd overstepped. The details are fuzzy, but the message was clear: you were a dick.

The Apology

Howard sat directly behind me. After my manager talked to me, I literally just rolled my chair back to his desk.

"Hey, I'm sorry," I told him. "I disregarded your opinion in that meeting, and that wasn't okay. I don't want to be the type of guy who puts himself above the team or doesn't listen to what everyone has to say."

That was it. No grand gesture. No long explanation. Just an acknowledgment that I'd been wrong in how I handled it.

Howard was cool about it. He listened, he accepted it. It wasn't dramatic.

What Changed Everything

Here's the thing that stuck with me, the thing that made this whole experience matter: I could feel Howard's respect for me grow after that apology. Not immediately - it wasn't like he hugged me or said something profound in response. But in the days and weeks that followed, something shifted in how he regarded me.

It's hard to explain exactly, but you know how you can just sense when someone's opinion of you changes? It was like that. And honestly, I felt like he respected me more for apologizing than for anything else I'd ever done on the team. More than any clever code I'd written, more than any good ideas I'd had, more than being "right" about technical decisions.

That stuck with me hard.

What I Learned

The most important thing? I gave up that battle. And looking back now, it didn't matter. Whatever I was arguing so forcefully about - it just didn't matter that much.

The team dynamic mattered. How Howard and I worked together mattered. The trust and respect we had for each other mattered. That stuff compounds over time. You can be technically correct about something and still destroy value by how you approach it.

I became more sensitive after that. Not in a bad way - just more aware of how I was coming across, more careful about making space for other people's perspectives even when I disagreed.

The Real Point

You have to do things right. Obviously. Code quality matters, architecture matters, technical decisions matter. But you have to do it the right way. You can't be an asshole about it.

Being right doesn't give you permission to disregard people. Being more experienced doesn't mean other perspectives don't matter. Being passionate about quality doesn't justify running over your teammates.

I'm not saying you should never have strong opinions or advocate firmly for what you believe. But there's a difference between being strong in your convictions and being an asshole about it. And if you can't tell the difference, you're probably being an asshole.

Why Apologizing Matters

Here's what I didn't expect: apologizing didn't make me look weak or undermine my position on the team. It did the opposite. It made me more respected, more trusted, more effective.

Because here's the thing - everyone messes up. Everyone has moments where they're too aggressive, too dismissive, too wrapped up in being right. The people who refuse to acknowledge it or apologize for it? They don't look strong. They look insecure.

The people who can recognize when they've crossed a line and actually own it? That takes real strength. That builds real trust.

I'm still someone who cares deeply about doing software correctly, about code quality and maintainability. I haven't changed those values. But I learned that how you advocate for those values matters as much as the values themselves.

And sometimes, the most important thing you can do for your team isn't to be right. It's to be humble enough to admit when you've been wrong.


The bottom line: Your team matters more than being right. And if you can't figure out how to be both technically rigorous and a decent teammate, you're optimizing for the wrong thing.

Previous Post