Let me ask you something: have you ever looked at the clock, seen it was 5 p.m., and thought "but I'm so close to fixing this"?
Yeah. Me too.
There is a silent conflict in the life of every software developer. On one side, there is the professional who knows she has a time to start and a time to finish, who can't work overtime, and who needs to respect the limits of her workday. On the other side, there is the dev who just can't leave a problem half solved.
I know both sides very well. And I bet you do too.
When nobody is pushing you
Let's be honest: most of the time, nobody is pushing us. Nobody asked us to stay longer. There is no urgent delivery waiting at the end of the day.
The one who can't leave that bug for tomorrow is our own mind.
You know the scene. You spent hours investigating, you finally found a clue, you are two steps away from understanding what that integration is doing and, suddenly, your workday is over.
Wait, I have to stop now? Right now?
That conversation inside our head
The rational side says: "Save everything, write down where you are, and continue tomorrow."
And the dev side answers: "Just one more test."
We all know that "just one more test" can easily become two hours without us even noticing, right?
The interesting part is that this wish to keep going doesn't always come from pressure. Many times, it comes from the joy of solving things. Of seeing it work. Of closing that task and thinking, with a little smile: "I did it."
But, you know, the line between loving what we do and turning that love into constant pressure on ourselves is very thin. And sometimes we cross that line without noticing.
Stopping is also maturity
I want to make one thing very clear here, because a lot of people need to hear it:
Respecting your work hours is not a lack of commitment.
Leaving a bug for tomorrow is not incompetence.
And understanding that not every problem needs to be solved today is also part of growing as a professional.
One tip that helps me a lot: before you finish your day, write down where you stopped. What was your hypothesis, what you already tested, and what the next step would be. It looks simple, but it makes a big difference. The pause stops feeling like an interruption and becomes just one more step in the process. And the next day, you don't start from zero.
When coding is not a sacrifice
Now, there is one detail that not everyone understands, but I think you will: for people who love what they do, coding is not a sacrifice.
Investigating, finding out why something doesn't work, testing possibilities and finally finding the solution is something that really makes me happy. It goes way beyond finishing a task.
Sitting in front of the code was never the hard part. The hard part, sometimes, is getting up.
And it's not because someone is demanding it or because I want to prove something to anyone. It's because I like the challenge, the discovery, the building. And that wonderful feeling of seeing everything work after so many tries. You know what I'm talking about.
Limits are also self-care
Of course we need limits. Loving your job doesn't mean working without rest or giving up your personal life.
And let me tell you something I have lived many times: that problem that looked impossible at 5 p.m. often becomes clear the next morning, after a good night of sleep. Resting is also part of the work.
But it's also important to recognize that not every wish to keep working comes from pressure. Sometimes, it simply comes from loving what we do. And it's okay to feel that.
To wrap up
Maybe this is the biggest challenge for anyone who is passionate about development: learning to respect the time to stop, even when all we want in that moment is to keep going.
So, next time that "just one more test" shows up at 5 p.m., take a breath. Write down where you stopped. Close your laptop.
The bug will still be there tomorrow. And so will you, with a lot more energy to fix it.
So, tell me: are you on the team that can let go of the problem at the end of the day, or on the "just one more test" team?
