Productivity is hard. Everyone is different. When it’s side stuff, all the usual barriers can become even more daunting.

Advice about this is hard to give. I think the important thing is experimenting over time and understanding what works for you. Often the first step is disregarding one size fits all models of productivity and starting from what has worked for you in the past. Most internet self-help advice on this isn’t too great, but occasionally, some excellent resources have suggestions.

With everything, try anything for some time before committing to it. And don’t feel any shame if some advice doesn’t work, drop it and move on because you will eventually find what works for you.

Here is a list of stuff that may or may not help but is worth exploring. There is no one size fits all solution. You’ll likely need a unique combo of many strategies that work for you. Many things will be hard at first, but things get better with practice.

Time of the Day

Some people are morning people, and some are evening people. Some are night owls. Figure out what times work for you and start scheduling productivity around that. Often you’ll have different tasks that also work well at different times of the day, and as you figure it out, you can broadly set up daily schedules.

Days of the Week

Some people work better on weekends, some on weekends. Some work better with deadlines nearby, and others like it away from their deadline schedule. What works for you might vary, but experimenting with days of the week can be worthwhile.

All at Once or Spread

Some people are far more productive doing large chunks of work in one go—others like interleaving with other tasks or doing a bit a day. There isn’t a fixed answer of what works and a lot of variation between these two, but try to figure out intervals that work. You can also have a hybrid approach where you have maybe 6, 50-minute work - 10-minute break, and you do this twice a week—getting the best of both worlds.


The idea is that you have 25-minute timers with 5/15 minute breaks in between. It’s named after tomato clock timers. People like the structure and clear time blocks, but others find it limiting or the pauses quite unnatural. Some people only use it to gain momentum, while others use it to prevent burnout as they want to be productive throughout the day.

There are variations in the timings too. Some people like short burst times while others want longer (50 minutes, 2 hours, etc.).

Goal setting

This pairs well with Pomodoro-style working but doesn’t have to be. The idea is that you set fixed goals for specific time bounds that help you get things done. A rule of thumb is SMART goals.

  • Specific - you set a clear end deliverable that can be met instead of some vague idea of a result. Starting with a vague idea is fine but quickly distill down to something more specific. Vague goals make it harder to start.
  • Measurable - you can tell if you achieved it. If you can’t measure, it will be more intimidating and would lower your productivity.
  • Achievable - don’t set yourself up for failure or aim too high. Some goals you can do within the constraints of today (not what future you can do after years of learning). Sometimes you can set a stretch goal and make sure your main goal is reasonably achievable, and the stretch goal is nice to have. Having achievable goals helps you get started and retain momentum.
  • Relevant - what you’re aiming to do is something that actively helps towards the overall task you’re trying to do. Treat your productivity as a scarce resource that you will value, so you should ask if a task is worth your time. If you have an MVP already in place, it will help you figure out what is relevant and what is not.
  • Timely - this is probably the most important. You have to have a finite and fixed time bound on a task. Software can be hard to estimate at times, but we still have to learn how to give reasonable estimates to people despite that, and developing this skill will help both you and others.

Here is an example: “I will create a sign up button (measurable) that links to my backend register function (specific and achievable) which I need for creating user accounts (relevant and possibly linked to an MVP) within the next 50 minutes (timely).”

Over time you’ll figure out your form of goal setting, but I suspect you might have a few core ideas in common with this. I don’t think it’s effective if someone else does them for you like corporate upper management but only if you set them up. It’s a rule of thumb, and you’ll figure out when it works and when it doesn’t over time.

Social Productivity

Sometimes doing things alone might be enough for some people (and for some people, it actually works better), so it’s also worth experimenting with what kind of crowd you like working around.

  • some like public places like coffee shops and campus hang out areas
  • others like quiet sections of a library without ambient noise
  • some like doing the same thing virtually (especially with the pandemic), websites like focusmate (stranger pair-ups for 50-minute sessions) or (pair up with friends and see each other’s to-do lists with timers)
  • others like comparing progress at the end of the day or holding each other accountable
  • some people just work best alone

There is a lot of variation on this end, but this can have some pretty strong gains.

Setup pomo

Sometimes, when you don’t feel like starting a task right away, do a quick setup step and then start after a fixed time. This works surprisingly well in practice because you got a little work started and reduced friction. This also ends a procrastination hell sometimes because you have a clear start and lower activation energy. For example, if I don’t feel like programming right now, I can quickly open up VSCode and my terminal and then set a timer for 15 minutes where I can still chill and then get started.

2 minute rule

The idea is that starting a task is the hardest but keeping at it gets easier. The idea is that, instead of aiming to do the whole task at once, your goal is just to do two minutes of work. You can even count 1 to 120 in your head if you need to. After 2 minutes, you’ll realize it’s not that bad, and you can decide to keep going, or you can decide it’s too overwhelming right now and try the 2 minutes again later. Either outcome is perfectly fine, but odds are you’ll keep doing the task. It sort of like jumping into a seemingly cold swimming pool and then realizing after a minute or two that it’s pretty alright.

This strategy pairs well with setup pomo from above because you can have the 2 minutes be set up. Even if you walk away, the work you did in the 2 minutes makes it easier for you to come back.

Have high-quality breaks

A lot of productivity advice is centered around working, but having good breaks is just as important. Many people think they shouldn’t have breaks or believe that breaks are something to be ashamed of. Not all breaks are alike, and you’ll have some breaks that you like more than others. It might seem counter-intuitive but try to find as high-quality breaks as you can. Higher quality breaks will often end up being shorter, more satisfying, and make you more productive. Many people try to shame themselves or treat it as some reward but treat it as part of the productive process.

For instance, I might find a 15-minute call with a friend far more likable than an hour scrolling through social media. Or it might be more fun to do a walk or even a short exercise.

Schedule no work times

Like the previous piece, I find it nice to actively block out periods of time where you will not be doing any work. It could be a day, a few hours, or even a few minutes spread over the day. In this slot, you have to take a break and not work at all. Regardless of how the day is going, you will have guilt-free no work during that time. When you treat your non-work time as sacred, you also start learning how to keep your work time sacred.

Todo lists

Some people find it overwhelming just to keep track of what needs to be done, and keeping it all in their head can get overwhelming. Having a to-do list is quite helpful since the cognitive load is pushed onto technology. You can use this to split up big intimidating tasks into smaller and nicer tasks as well. Some people like the motivation from sharing these or from checking off items. Many sites online have gamified to-do lists as well, like Habitca.


Deadlines are great, and it’s perfectly fine to use them to your advantage. That’s why we’ve set up two stages for each project every week. We don’t have a way of enforcing these, but this can help create structure. In general, if deadlines are what works best for you, then you can even create artificial ones. Some people can set that up for themselves, while others need external enforcers (both are perfectly fine). For example, if you have a big project due at the end of a month, schedule a weekly call with a professor where you tell them you’ll show them stages of your progress. You might think you’re an inconvenience, but most people are glad to support efforts like this.

Mental Health and Undiagnosed Issues

We are not qualified to give specific advice on this, but this is something that trips many people over a lot while just some attention and specific help can go a long way. If you suspect something or have an untreated issue, definitely do consult with qualified experts who can help you a long way with improving aspects of your life, including productivity.

Sleep, Food, and Quality of Life

In general, try to keep your quality of life and health factors as good as practically possible. Trying to sacrifice those for productivity doesn’t really work short-term and mostly doesn’t work long-term either (even if you think it does). Sometimes, these issues are hard to fix, but even a 20% improvement in some quality of life factors can significantly affect your productivity. You don’t need to be the pinnacle of health, but any progress there will also help your productive life.


“Perfect is the enemy of done” (origin disputed).

When things are not going well, your brain will often try to sit really high and often unrealistic starting goals. It will not even allow you to get started since you’ll aim for perfection right away instead of getting there with eventual iterations. People might think this kind of thought process will lead them to good results, but it rarely does. Instead, you just get started less than perfectly, feel confused a lot, go back and forth, erase some work, experiment, and keep refining what you’re doing. This type of workflow will get you far closer to perfect than perfectionism at the start will get you.

To quote Paul Graham’s Hackers and Painters,

I was taught in college that one ought to figure out a program completely on paper before even going near a computer. I found that I did not program this way. I found that I liked to program sitting in front of a computer, not a piece of paper. Worse still, instead of patiently writing out a complete program and assuring myself it was correct, I tended to just spew out code that was hopelessly broken, and gradually beat it into shape. Debugging, I was taught, was a kind of final pass where you caught typos and oversights. The way I worked, it seemed like programming consisted of debugging.

For a long time I felt bad about this, just as I once felt bad that I didn’t hold my pencil the way they taught me to in elementary school. If I had only looked over at the other makers, the painters or the architects, I would have realized that there was a name for what I was doing: sketching. As far as I can tell, the way they taught me to program in college was all wrong. You should figure out programs as you’re writing them, just as writers and painters and architects do.

Non-Zero Days

This point and the next point are inspired by this famous reddit comment.

The idea is that you will have days where things go wrong, days where nothing happened and your entire to-do list is a reminder of how worthless you are.

On those days, before it’s over, do a tiny amount of non-zero work. You read a single page of a book, write a single line of code, add a single test case, a single push up, or whatever. Anything that is not zero. Your perfect, ideal productive self won’t happen right away (while we do wish) but rather from a series of non-zero days that slowly add up. If you’re not doing well then at least you can break the negative streak and it gives you a fresh start all over again.


No matter how hard you try, things will not go as well as you expect. That’s fine.

Always forgive yourself. If you want, I, Harsh Deep, will forgive you too. Maybe you had the skills you needed, and perhaps you had something unexpectedly go wrong. Perhaps you can’t come up with a reason at all. Everything is going to be okay.

The past is gone, and forgiving yourself pushes you towards creating a better tomorrow. Being stuck there is a spiral that only drags you down, and life is too short for that. This is easy advice to give but hard to follow. I promise it’s worthwhile, though.


And finally, motivation. This one is tricky because this is what people blame first when they’re not able to work, but there is honestly such a large variety of factors that are usually the problem. Motivation is also a complex emotion with many different types and ways to gain it. It does certainly help if you have something motivating you forward, figure out your style, see what is blocking you, and work specifically to remove blockers.

Good luck

Productivity is complicated, and quite honestly, no one has figured it out yet. Over time you will arrive at what works for you, but don’t beat yourself over it too much or try to be a perfectionist about it—as always, having a good starting idea and proper workflow will go a far way.

You got this!

See More

Contributors: Harsh, Nehal