The manager I hated and the lesson he taught me
How a tough manager changed my approach to leadership (and why I’m grateful now)
I was still a Software Engineer.
It all started with a code review.
I’d spent days working on a complex feature. Hundreds of lines of code, edge cases covered, performance tweaks in place. I was proud of it. I hit “Create Pull Request” and waited for feedback, expecting maybe a comment or two.
What I got back was brutal.
“Over-engineered. Too many moving parts. Refactor.”
That was it. No “nice work.” No “good attempt”. Just a hard stop.
I sat there, fuming. I thought, “Does this guy enjoy tearing people down?”
But this was just the beginning.
The manager who didn’t care about my feelings
He wasn’t like other leads I’d worked with.
No hand-holding. No fluff.
He rejected half-baked ideas without blinking.
He hated complexity for the sake of cleverness.
He cared about one thing: clean, maintainable, efficient code.
In sprint retros, he didn’t sugarcoat things. Missed a deadline? He’d say, “We scoped it wrong. Let’s fix it.” Built something that didn’t scale? “That’s tech debt. We can’t afford it.”
At first, I thought he was just that manager. The one who made engineers miserable. But there was something deeper going on.
If you enjoy posts like this, consider supporting my work and subscribing to this newsletter.
As a free subscriber, you get:
✉️ 1 post per week
🧑🎓 Access to the Engineering Manager Masterclass
As a paid subscriber, you get:
🔒 50+ templates and playbooks (worth $79)
🔒 A weekly "What would you do?" scenario & breakdown from real challenges EMs face
🔒 Full access to the complete archive
The ego check that changed everything
The tipping point came during a sprint review.
I demoed a feature I was sure would impress him. Instead, he cut me off halfway through.
“This is fragile. What happens under load? What’s the rollback plan?”
I scrambled for answers but didn’t have good ones. He paused and then said, “You’re thinking like a coder, not an engineer. Build things that survive failure.”
That was a tough moment for me.
I spent the whole night replaying that comment. At first, I was pissed. But the more I thought about it, the more I realized he was right. I was too focused on clever solutions, not resilient ones.
The real lesson: it wasn’t about me
I started approaching my work differently.
I stopped writing “smart” code and started writing readable code.
I designed for failure scenarios, not just ideal cases.
I stopped coding for myself and started coding for the next person who’d touch my codebase.
And something wild happened:
My pull requests started flying through reviews that he would do.
It wasn’t that he’d softened. I’d just finally levelled up.
How it shaped my own leadership style
When I eventually became an engineering manager, I thought a lot about that experience.
I didn’t want to be the kind of leader people hated. But I didn’t want to be soft, either.
So I stole the parts that worked:
Brutal honesty backed by context. Instead of “This sucks,” I say, “This creates hidden tech debt, here’s why.”
Focus on system thinking. I push engineers to look past their tickets and think about how their code fits into the bigger picture.
High standards, but human feedback. I don’t just point out flaws, I help map the way forward.
I find that engineers want to be challenged, but not feel belittled in the process.
Why a tough Engineering Manager might be exactly what you need
Leadership is messy. There’s ego, pride, deadlines, and pressure.
A tough manager cuts through that noise. They:
Force you to think about scalability, not just functionality.
Push you to write code that’s maintainable, not just clever.
Teach you to plan for edge cases and failures, because they will happen.
These managers care less about how you feel and more about whether your code will survive production. And that’s not a bad thing.
How to survive (and thrive) under a tough manager
If you’re currently under a manager who feels like they’re breathing down your neck, here’s how you can make it work:
Don’t take it personally. If the feedback is about the code, it’s not about you.
Ask “why” after every feedback. Most tough managers respect curiosity.
Anticipate failure points before they call them out. Start thinking like they do.
If you’re managing engineers:
Set the bar high, but explain what’s at stake. Engineers respect high standards when they know why they matter.
Be specific in feedback. Vague critique frustrates people. Get to the point.
Celebrate growth, not just success. The first time someone catches an issue before you do? Call it out.
The Pull Request I’m glad got rejected
Looking back at that brutal pull request I can say it was one of the best things that happened to me as an engineer.
It forced me to stop treating coding like a personal art project and start thinking like a system builder. Like an engineer.
Tough managers will not make you feel good. But they will make you better. And if you can get past your ego, the lessons they leave you with will last your whole career.
Sometimes, the best PRs are the ones that get rejected, because that’s where the real growth happens.
Props to you for making the best out of this and shaping it into a win. Based on your story though that's just poor feedback and communication from the manager. I stay away from comments like those in any of my reviews. Why does he think that's over engineered? Retractor what? What's their reference to call it out as one engineered?
You're right that it's not personal but we should expect better from managers when they provide feedback.
Would this have been a better experience if the manager had expressed care in day to day conversations, like expressed belief in your growth or shown empathy about your personal life?