Updated

I was sitting in sprint planning a few years ago, already working on three things I hadn’t finished, when someone added “one more small thing” to the sprint. Everyone nodded. I nodded too. I knew it wasn’t going to work. I said nothing.

I think about that moment a lot. Not because of the task itself — I don’t even remember what it was… but because of how automatic the silence felt. Like pushing back wasn’t even an option.

And the thing is, nobody ever prepared me for that part of the job. I’d read hundreds of tutorials. I could set up a Kafka pipeline, debug a race condition, containerize pretty much anything. But telling a lead that the timeline was broken? That I was drowning? There’s no Stack Overflow thread for that.

Software engineering is 50% code and 50% people. But almost everything written about it pretends the people part doesn’t exist.

Why we only talk about code

Code is safe. You can write “How to build a REST API with Spring Boot” and nobody gets uncomfortable. There’s a clear input, a clear output. It’s clean.

But writing about how to tell a VP of Product that their deadline is physically impossible? That involves emotions, power dynamics, ego — yours and theirs. Technical platforms tend to wave it away. Soft skills. Not real engineering.

Except there’s nothing soft about it. It’s the thing that burns people out. The thing that quietly breaks teams while everyone’s busy debating framework choices.

The pressure flows downhill

Something I’ve learned over 8+ years: leaders aren’t villains. Most of the time they’re under just as much pressure as you are, it’s just a different shape. Stakeholders pressure the VP. The VP pressures the engineering manager. The engineering manager pressures the lead. The lead pressures the engineer. And the engineer is the last stop — there’s nobody left to pass it to.

What makes it harder is the complexity gap. You’re working on three things at once. One is blocked by an infrastructure issue nobody else knows about. Another looks simple from the outside but depends on a fix that touches half the system. You know that releasing one API endpoint means bumping a kernel version, and god knows what tests that breaks. But to leadership, it’s just a ticket on a board. A checkbox.

That’s not their fault. But making the invisible visible — that falls on you.

The things we say yes to

Let me ask you something. Have you ever taken on more than you could handle, not because someone forced you, but because your ego wouldn’t let you say no?

I have. More than once.

You say yes to everything because saying no feels like admitting you can’t keep up. So you pile it on. You tell yourself you’ll figure it out. And then the procrastination kicks in — not because you’re lazy, but because you’re so overwhelmed you don’t know where to start. So you start nothing. Then mid-sprint someone asks about that task, and you hear yourself say “yeah I’ve started it, got through the initial setup” when you haven’t opened the file once. You were buried in something else entirely.

I think most of us have been there. We just don’t admit it.

What happens when you don’t speak up

I want to share something personal here. Not as a failure story — as a lesson that took me too long to learn.

A few years ago, at a previous workplace, I burned out. It wasn’t sudden. It built up over months—task after task, sprint after sprint, saying yes when I should’ve said “not right now.” And on top of work, things in my personal life took a turn I hadn’t expected. Family stuff. Pressure I couldn’t have planned for. It all stacked up in a way that left me with nothing.

I didn’t rage-quit. I wrote a calm, professional resignation letter and sent it to all my leads and my engineering manager. One-month notice. Done.

But I didn’t actually want to leave. The email wasn’t really a resignation — it was the sound of someone who had run out of quieter ways to say “I can’t do this anymore.” I ended up withdrawing it, staying on, and carrying the awkwardness of what I’d just put everyone through. My leaders didn’t expect it. It caught them off guard in a way that I’m sure was uncomfortable for them too. The whole thing felt like a burden I’d created out of a conversation I never had.

What I wish I’d done was have one honest conversation. Not a formal email blast. Just sitting down with one lead or one manager and saying “I’m carrying more than what’s visible right now.” Even the personal stuff — not every detail, but enough. I wish I’d learned earlier that saying no to a few things doesn’t make you a failure. It buys you time to do the things you said yes to properly.

How to actually have the hard conversation

So what do you do when the deadline is wrong and everyone’s pretending it’s fine?

Timing matters more than being right. Don’t drop bad news in a standup with fifteen people listening. Find a 1:1, a quieter moment. Give the other person room to actually hear what you’re saying.

And be specific. “We need more time” is easy to wave away. But “this endpoint depends on a service that needs a kernel version bump, which means full regression testing, and we haven’t even scoped that” — that’s a lot harder to dismiss. The goal is to make the complexity real for someone who isn’t in the code every day.

One conversation usually isn’t enough, and that’s fine. Come back to it. Not aggressively—just consistently. “I flagged this last week and nothing’s changed on our end, so I want to raise it again.” That kind of persistence isn’t annoying. It’s responsible.

And here’s the thing I wish someone had told me earlier: most leaders are decent people. Every manager and lead I’ve worked with, past and present, has been supportive when I approached them honestly. They want to make good decisions. They just need the full picture, and sometimes you’re the only person who can give it to them.

The last thing

The hardest bug I ever fixed was learning to speak up. Learning that “no” isn’t shame — it’s just buying time to do things right. That a resignation email should never be the first time your manager hears you’re struggling.

I don’t have all the answers. I’m still figuring this stuff out. But if I could go back and tell myself one thing, it would be this: just have the conversation. One person. One honest moment. Everything else follows from that.

Well, now what?

You can navigate to more writings from here. Connect with me on LinkedIn for a chat.