As someone without a full-time job, I’ve plenty of free time to explore various things. However, too much freedom can kill productivity and make one feel lost.

Since October, I’ve been gearing up for job hunting. In software engineering, there’s a lot of to work on to land a job. You may face coding interviews, design interviews, take-home assignments, behaviour interviews, and so on. Data Structures and Algorithms are fundamental knowledge to acquire.

I worked on problems in LeetCode day and night, often worked until late at night. It seemed as though I was spending countless hours on the same task, but I didn’t feel I was making much progress. My quality of life declined, not to mention the decreasing time I spent with my girlfriend.

Feeling stuck even after investing long hours of work? Here’s a solution that looks counter-intiutive: spend less time work each day.

Let’s be honest. How much that time was I actually focused? Maybe 60%. The longer time I worked, the more I got distracted by random things: messages, social media, manga, or even thoughts as irrelevant as “Should I buy a television or camera?” Each time my focus shifted, I lost time and energy getting back on track.

On Monday morning, I set myself a weekly goal. After that, I create rough daily plans for Monday through Friday using the schedule (in my case, Google Calendar) with one rule – work can be only scheduled from 10:30 to 19:00. I schedule events for lunch, gym and groceries. Then I schedule work events aligned with my weekly goal. Every morning, I adjust my daily schedule based on my actual activities.

Does this sound familiar before? It’s the concept of enabling constraint.

Shortening working hours forces us to focus on a single task. We build a system for ourselves and should trust it can guide us towards our weekly goal. We must be strategic in spending these precious hours. If non-urgent ad-hoc thoughts come to mind, our system simply filters them out, allowing us to concentrate on the most valuable task to at the moment.

What about distractions? Now, we have free time after 19:00. Simply save those activities for after the focus hours. You could even schedule time for checking the messages or playing computer games in the evening. This might seem strange at first as we typically use our scheudules for productive work. However, our leisure activities deserve respect, too. There’s no reason we can’t schedule them – it’s just a matter of prioritisation.

My schedule does slip occationally. It could be due to an urgen ad-hoc task from officials or unscheduled maintenance work from the building management. It could be simply the ad-hoc thoughts coming to mind, distracting me. It’s okay. Just record them in Google Calendar with the suffix “S ->”.

I got a task from DVLA last Tuesday. It was impossible to work with them after work.

At the weekend, we should review the Google Calendar and seek improvements. Don’t blame youself if there are many deviations. We don’t have a crystal ball, and we can’t predict the future. Use empiricism to adjust the plan for the following week. If an event consistently start late, reschedule it for a more realisitc timeslot. If you really feel the need to check your phone during the day, admit it and allocate 30 minutes in the schedule to do it.

We aren’t building a system to punish ourselves but to reflect reality. Now I can be more focused on my productive work from 10:30 to 19:00. After my “working hours”, I can spend my time guilty-free. This system, of course, has room for improvement, but I will evolve it gradually.