Stop Waiting to Feel Like It
Why Motivation is Bullshit
It’s Sunday night. You’re sitting there promising yourself that this week will be different. You’re finally going to work on that side project. You’re going to learn that framework everyone keeps talking about. You’re going to stop spending your lunch breaks scrolling Twitter and actually build something.
Monday morning rolls around. You open your IDE, stare at it for about thirty seconds, and then somehow find yourself watching YouTube videos about productivity instead of, you know, actually being productive. By Wednesday, that fire you felt on Sunday? Gone. And here you are again, dragging yourself through another week, wondering why you can’t seem to get your shit together.
The Problem With Waiting to Feel Like It
Motivation is a terrible foundation for a software development career. It’s fleeting. It’s unreliable. And it absolutely will not be there when you need it most. Like when you’re three hours deep into debugging a race condition on a Friday afternoon, or when you’re staring at legacy code with zero documentation wondering what the hell the previous developer was thinking.
The Stoics figured this out a couple thousand years ago. Marcus Aurelius didn’t wait to feel like being emperor before showing up to run Rome. He understood something we keep forgetting: your feelings are just weather patterns in your head. They come, they go, they change every few hours. Building your career on them is like building a house on quicksand.
Your production bugs don’t wait for inspiration to strike. Your sprint deadlines don’t care that you watched a motivational coding video last night and felt pumped. Your codebase doesn’t give a shit about your feelings.
Think about the last time you felt motivated to learn something new. Maybe it was a framework that looked cool, or a side project idea that got you excited. You probably spent a few hours diving in, felt pretty good about yourself, and then... nothing. The next day, that motivation was gone, and the half-finished tutorial just sat there mocking you.
We’ve all got that GitHub profile with repositories that start strong and end with commits from six months ago. “Initial commit.” “Add basic structure.” “TODO: Finish this later.” Later never comes because we’re waiting to feel motivated again.
What the Ancients Knew (That We Keep Forgetting)
The Stoics had a concept called the dichotomy of control. The stuff you control and the stuff you don’t. Your feelings? You don’t control those. They’re going to happen whether you like it or not. But your actions? Those are yours.
Seneca put it bluntly: “It is not because things are difficult that we do not dare; it is because we do not dare that they are difficult.” In other words, we’re not avoiding that React refactor because it’s hard, we’re avoiding it because we’re waiting to feel ready for it. And that feeling might never come.
Epictetus was even more direct: “Don’t explain your philosophy. Embody it.” Stop talking about the side project you’re going to build. Stop planning the framework you’re going to learn. Just open your damn editor and start.
The Real Solution: Systems Over Feelings
Systems. Habits. Discipline. Not the sexy, motivational poster kind of discipline, the boring, show-up-even-when-you-don’t-want-to kind.
Start stupidly small. Forget about building an entire feature when you’re dragging ass. Commit to opening your editor for five minutes. That’s it. Sometimes you just need to get the ball rolling. Maybe you work on a simple model class. Maybe you add some comments to confusing code. Maybe you just fix a typo. Once you start, that snowball effect kicks in.
I can’t tell you how many times I’ve thought, “I’ll just work for five minutes,” and ended up in flow state for two hours. But I also can’t tell you how many times those five minutes stayed five minutes, and that was fine too. Because I showed up.
Use production days versus consumption days. Some days you create code. Other days you watch tutorials, read documentation, browse GitHub, learn new stuff. Both serve your growth. The key is being honest about which kind of day it is instead of pretending you’re going to be productive while you’re really just consuming content and calling it “research.”
Create environmental cues that trigger work mode. Same desk setup. Same music. Same routine. These remove decision fatigue when motivation is absent. Your brain learns: when I sit here with these headphones on, I work. It’s Pavlovian, and it works.
I like keeping my computer on instead of shutting down completely. One less barrier between me and starting work. Yeah, IT might have opinions about this, but the point is: minimize friction. The more steps between you and working, the more chances you have to talk yourself out of it.
Accept mediocre workdays as normal. Not every day will be your best code. Most days won’t be. And that’s completely fine as long as you still show up. Some days you’ll ship features like you’ve got the Midas touch. Other days you’ll spend four hours chasing a bug that turns out to be a missing semicolon. Both are part of the job.
Plan out your week, but understand that some days will bring unexpected issues that take three times longer than you thought. That’s just software development. Some days are good. Some days are absolute shit. The consistency comes from showing up for both.
The Burnout Trap
Look, I’m not saying work yourself into the ground. When I was younger, I coded constantly: for my job and every evening at home. There comes a point where you have to come up for air and touch grass, as they say.
You need to do things that have nothing to do with code. Read a book that’s not about programming. Go for a walk. Play a video game without thinking “I should build something like this.” Because eventually, if you don’t take breaks, you’ll burn out. Then you’ll absolutely hate what you do and dread Monday mornings. The weekends will fly by, and before you know it, you’re back at your desk wondering where the hell your life went.
This is where the Stoic idea of balance comes in. Marcus Aurelius talked about “the art of acquiescence”—knowing when to push and when to rest. It’s not about grinding 24/7. It’s about showing up consistently over years, not sprinting for months and then flaming out.
The Monday Morning Test
So let’s circle back to Sunday night. You’re sitting there making promises to yourself about this week being different.
Here’s what actually makes it different: forgetting about motivation entirely. Stop asking yourself if you feel like coding. Stop waiting for inspiration. Stop scrolling through motivational content hoping it’ll make you want to work on your project.
Monday morning comes. You don’t feel like it. That’s fine. That’s expected. That’s normal. You open your editor anyway. You write one function. One test. One line of documentation for that confusing piece of code.
You do this Tuesday. You do it Wednesday. Some days you’ll get in flow and ship half a feature. Some days you’ll fix one bug and call it a win. Both count.
By Friday, you’ve made more progress than all those Sundays of feeling motivated but not actually doing anything.
That’s the difference between developers who grow their careers and developers who stay stuck. It’s not talent. It’s not passion. It’s not some magical burst of motivation.
It’s showing up. Even when, especially when, you don’t feel like it.
Because at the end of the day, your builds don’t care about your feelings. And neither does your career.
Now stop reading articles about productivity and go write some code. Even if it’s just for five minutes.
👉 If you enjoy reading this post, feel free to share it with friends!
Or feel free to click the ❤️ button on this post so more people can discover it on Substack 🙏
You can find me on X and Instagram.
Also, I just launched a new YouTube channel - Code & Composure


