Last month, I had a project I called “Phoenix.” It was a big one, a six-figure build for a client who’d been with us for years. We were three weeks from launch, everything on track. Then, the first punch: my lead developer, the guy who built half the backend, gave his two weeks’ notice. He got an offer he couldn’t refuse. Fair enough. But it left a gaping hole.
I spent a day scrambling, trying to reassign tasks, adjust timelines. I felt that familiar knot in my stomach. Just as I thought I had a new plan, the second punch landed: an email from the client. They’d had a “brilliant new idea” over the weekend. A feature change that would rip out the core architecture we’d spent months building. They wanted it in the original timeline, of course.
That’s the kind of moment that can break you. The kind where you want to throw your laptop across the room and walk away. But you can’t. You have to show up. You have to figure it out. That’s where knowing how to develop mental toughness isn’t some abstract philosophical concept; it’s a survival skill. It’s not about being emotionless. It’s about not letting those emotions dictate your actions when the stakes are high.
The First Punch: What You Can’t Control
When that client email hit, my first reaction was pure frustration. Anger, even. My mind immediately went to all the things I couldn’t control: the developer leaving, the client’s sudden change of heart, the looming deadline. If I’d let myself wallow there, I’d have spiraled. I’ve done it before. A 2 AM spiral where you replay every bad decision, every missed opportunity, convincing yourself the whole thing is doomed.
But this time, I stopped. I took a breath. I remembered something Seneca wrote, about how we suffer more often in imagination than in reality. Most of my suffering in that moment was anticipating the worst, not dealing with the actual worst. The actual worst was a problem to solve, not a catastrophe to mourn.
The key here is separating what’s yours to influence from what isn’t. The developer’s decision? Not mine. The client’s request? Not mine. My reaction to those things? Absolutely mine. My plan for moving forward? Entirely mine. This isn’t some magic trick; it’s a deliberate mental shift. You acknowledge the external event, you feel the initial sting, but then you pivot to your internal response. What’s the next right action I can take? Not, ‘Why is this happening to me?’ but ‘What can I do about it?’
For Project Phoenix, that meant acknowledging the client’s request was a huge problem, but not letting it consume me. I couldn’t change their mind in that moment. What I could do was gather information. I scheduled a call, not to argue, but to understand the ‘why’ behind their new feature. I needed to know if it was a ‘nice to have’ or a ‘must have’ for their business. Turns out, it was critical. So, the problem wasn’t going away. My job was to find a path through it.
Your Circle of Control: Practical Steps to Build Resilience
Once you’ve accepted what you can’t change, you focus on what you can. This is where the real work of building mental toughness begins. It’s not about being a robot; it’s about being a strategist in your own life.
Letters to My Younger Self
30 short essays applying ancient philosophy to modern problems — career, relationships, money.
Read the Letters → $12
- Define the Problem, Don’t Just Feel It: Instead of ‘This project is screwed,’ I wrote down: ‘Client wants Feature X, requires Y architectural change, due in Z weeks, Lead Dev A gone.’ Specificity cuts through the panic.
- Brainstorm Solutions (Even Bad Ones): My first thought for Project Phoenix was to tell the client no. That’s a bad solution, but it’s a solution. Then came: ‘Hire a contractor,’ ‘Push the deadline,’ ‘Simplify other features.’ The point is to generate options, not immediately judge them.
- Act Decisively, Then Adapt: I decided to bring in a senior contractor I knew, someone who could hit the ground running. It meant a higher cost, which, yes, was annoying, but it was a concrete step. I also drafted a revised timeline for the client, explaining the impact of their change. They pushed back, naturally. But having a plan, even one that gets challenged, is better than having no plan. You adjust, you don’t crumble.
- Premeditate the Next Punch: This is a Stoic idea called premeditatio malorum – anticipating what could go wrong. Not to dwell on it, but to prepare. What if the contractor couldn’t start for two weeks? What if the client rejected the new timeline? I had contingency plans for those scenarios. It doesn’t eliminate stress, but it makes it manageable. You’re not blindsided; you’re ready.
This approach isn’t about avoiding difficulty. It’s about meeting it head-on with a clear head, not a panicked one. It’s about understanding that your power lies in your response, not in the event itself.