No. 18 After Alexander Rodchenko, 1924
We’re Gonna Be Okay, Just Don’t Go Full Mr. Krabs, Kay?
Growing too fast feels like winning until someone else pays for it. On 2024, layoffs, and why I’d rather grow slower than go full Mr. Krabs.

If you’re a tech worker, let’s face it, 2024 has probably been a shit year for you. Massive waves of layoffs have rolled through the industry worldwide, and Indonesia hasn’t been spared. It’s brutal out there.
And honestly, as an industry, we fucked up big time during COVID. Yeah, I’m including my own company in that mess. We got greedy. We grew too fast. And there’s always a price to pay when you bite off more than you can chew. The shitty part? That price is usually paid by the people we hire.
Let me zoom out for a second, because this isn’t only a SoftwareSeni story. It’s an industry story.
Between 2020 and 2022, the global tech sector went on a hiring binge that will one day sit in the history books next to tulip mania and the dot-com bubble. Amazon hired 800,000 people. Meta grew from 48,000 to 87,000 employees. Google, Microsoft, Salesforce, Stripe, everyone was hiring like zero interest rates and exponential growth would last forever.
The logic seemed airtight at the time. Remote work was permanent. Digital transformation was accelerating. Every company was now a tech company. The demand for software engineers, product managers, designers, and data scientists was, we were told, essentially infinite.
Then 2023 arrived like a hangover.
Google laid off 12,000 people. Meta cut 21,000 across two rounds. Amazon dropped 27,000. Twitter fired 80% of its workforce and then acted surprised when things broke. By the end of 2023, over 260,000 tech workers globally had been laid off. In 2024, the number climbed past 150,000 and counting.
In Indonesia, the pattern was the same, just smaller. Startups that had raised hundreds of millions, like GoTo, Ruangguru and LinkAja, announced “efficiency measures,” which is corporate speak for “we hired too many people and now we need fewer of them.” The Jakarta tech scene, which had been buzzing about Indonesia’s digital economy, went quiet. People stopped posting about their new jobs on LinkedIn. The recruiters stopped calling.
Back in 2020, we grew the company by 40% year-over-year.
Forty. Fucking. Percent.
Sure, there were companies that grew 100% or more. But let’s be real, it’s not sustainable. It never is. And the truth is, we paid for it. We didn’t hire as carefully as we should have. We let things slide. And the burden hit us hard the very next year, and the year after that. Some people we hired? They didn’t fit. They didn’t belong at SoftwareSeni. And yeah, maybe they deserved to be let go. But you know what? It still fucking sucked.
Ben Horowitz writes about this in The Hard Thing About Hard Things. There’s a chapter about layoffs that I’ve read maybe five times. He says the CEO’s job during a layoff is to own it. Not to hide behind “market conditions” or “strategic restructuring.” To stand in front of the people you’re letting go and say: I made a mistake. I hired too fast. I was optimistic when I should have been cautious. And now you’re paying for my mistake.
Nobody wants to say that part out loud. When a company over-hires and then lays people off, the people losing their jobs aren’t paying for their mistakes. They’re paying for yours. The CEO’s. The founder’s. The leadership team that looked at the hockey stick graph and decided the answer was more headcount.
Horowitz also says something that stuck with me: “The right way to think about a layoff is that you are trading the well-being of the people who are leaving for the well-being of the people who are staying.” It’s a transaction, and an ugly one. Once you dress it up as “right-sizing” or “focusing on core competencies”, you’ve failed the basic moral test.
At the end of the day, people lost their jobs. People I hired. People who trusted us.
I keep telling myself it’s normal. “This is business,” I say. “We’re not family. Everyone’s replaceable.” Hell, even I’m replaceable. I’ve been running this company for ten years, but the second I become a liability? I’m gone. No hesitation.
That’s just how it works, right?
The “it’s just business” defense is true, and it isn’t enough. Yes, employment is a contract. Yes, companies have to make hard decisions. Yes, sentiment can get in the way when survival is at stake. And also, you hired a human being. You told them you had work for them. They reorganized their life around that promise. They turned down other offers. They told their family they had a stable job.
The contract may be transactional. Living through it never is.
I think about a guy we hired in late 2020. Smart. Eager. Relocated from Surabaya to Yogyakarta for the job. Found an apartment. Bought a motorcycle on installment. Started building a life. Fourteen months later, the project he was on ended and we didn’t have enough work to keep him. We let him go.
On paper, it was clean. Proper notice. Severance package. Reference letter. Everything by the book. But I saw his face when we told him. It wasn’t anger or sadness. It was blank, like watching someone’s GPS reroute in real time. He’d built his map around a landmark we’d just removed.
A few months ago, February or March I think, I had to let someone go. He’d been underperforming for months. When we told him, he admitted he’d been lying about being sick. Turns out his wife didn’t want him leaving the house for work. The nerve to telling this in front of my face.
Look, the guy was unprofessional. He deserved to be fired. Maybe even punched. But knowing that doesn’t make it any less painful. There’s guilt. Guilt toward our clients. Guilt toward the team. We put so much strain on everyone, all in the name of growth. And for what? To watch it all unravel?
Nobody talks about the strain. When you over-hire, the first feeling is euphoria. More people! More capacity! We can take on more projects! Then the new hires need onboarding and mentoring. They need to learn the codebase, the culture, the clients. The existing team, the people who actually know what they’re doing, gets stretched thin trying to bring everyone up to speed.
And when the new hires don’t work out, because they underperform, don’t fit, or were never needed in the first place, the existing team pays twice. First they paid the cost of training. Then they pay the cost of picking up the slack.
It’s a tax on loyalty. The people who’ve been with you the longest carry the most when you make mistakes. They usually do it without complaining, because they care about the company. Which makes it worse.
Deep down, I think we all want to save everyone. We want to be the heroes. But sometimes, we just can’t.
There’s a passage in Andy Grove’s High Output Management about how much a manager invests emotionally in their team. Grove, a man not known for sentimentality, argues that caring about your people is an obligation, not a weakness. He also argues that caring about them sometimes means making decisions that hurt them in the short term to protect the organization in the long term.
That contradiction is the job. If you can make layoff decisions without feeling anything, you shouldn’t be leading people. If you can’t make them at all because the feeling overwhelms you, same thing. Leading means working between those two. It’s not comfortable, and it was never supposed to be.
I’ve been doing this for ten years now. Some days I handle it well. Some days I don’t. The bad days are usually the ones where I’ve confused growth with progress, measured success by headcount instead of capability, and let the Mr. Krabs in me, the one who sees revenue and thinks more, more, more, take the wheel.
So here’s the takeaway, Ganis: don’t be a greedy asshole. If you’re riding high, enjoying a purple patch, remember this. You don’t have to devour everything in front of you. Share the load. Grow smarter, not faster. Learn from my mistakes. Because if you don’t, the cost isn’t just numbers on a balance sheet. It’s people’s lives. And that shit stays with you.
A few things I wish I’d known ten years ago:
Hire for the work you have, not the work you hope to get. Speculative hiring is gambling with other people’s livelihoods. If you need more capacity, use contractors until the demand proves itself. It costs more per hour and less per conscience.
Growth rate is a risk metric, not a vanity metric. Growing 40% year-over-year means that 40% of your company has less than a year of context. They don’t know your clients. They don’t know your culture. They don’t know where the bodies are buried. That’s fragility dressed up as growth.
The best time to be conservative is when everyone else is being aggressive. When the industry is hiring like crazy, when money is cheap, when every pitch deck has a hockey stick, that’s when you should slow down. The correction always comes. The companies that survive it are the ones that never got drunk in the first place.
Your team remembers how you handle the bad times. They’ll forget the pizza parties and the annual bonuses. They’ll remember the layoff. They’ll remember whether you looked them in the eye, whether you took responsibility, and whether you treated it as a tragedy or an inconvenience.
We’ll be okay. The industry will recover. It always does. New companies will form, and the cycle will repeat, because it always repeats.
But the people we let go along the way will carry that experience with them. The least we can do is carry it too.
Don’t go full Mr. Krabs.