I remember a conversation I often had with a friend, the first team lead I ever worked with. Many times she would be putting in extra hours for days at a time and I would say to her “Put that off until tomorrow, it’s time to go home.” and she would reply along the lines of “But I still have so much work to do.” and my usual rejoinder would be “Are you expecting to finish all of that work tonight?”

The modern working world is full of problems, issues, tasks and other work that needs to be resolved, and it can be overwhelming at times. It can seem like the list of to-dos is endless. Software development in particular can seem like never-ending crises and issues and tickets to be resolved, especially for larger teams and larger projects. But that shouldn’t mean we sacrifice all our time in pursuit of emptying that to-do list. We put in our hours and pare down that list the best we can.

One learns this quickly when faced with any nontrivial project with an issue tracker. Often the list will seem to keep growing with no signs of slowing down. You might have a tendency to say “but we can’t release software with this many issues!” But deadlines are real, and you learn that you have to triage and make trade-offs with the time you have available. Real-world software is released with issues still pending, simply because there isn’t enough time to do everything. So you prioritize and choose the most important things, the most critical bugs, and fix what you can in the available time.

One has to apply this to one’s personal workload as well. No matter how many things you have to do, you don’t have infinite time. You have to figure out what’s important for you and that’s where you focus your time and effort. Pushing yourself beyond what your time and health allow will do no good. That way lies madness.

Even for personal goals this is an issue for me. I want to do a lot of things. There are so many things I want to read, write, create, draw, learn, watch, and try out. I want to do everything. There are so many things I want to have mastery over. Mastery implies regularly spending hours on practice and effort. But there are only so many hours in the day.