DEV Community

How do you make time for your dev/tech projects?

Quentin Sonrel on June 13, 2018

Question I was about to write a long post about how I'm unable to allow a part of my free time to my dev projects (and other hobbies) bu...
Collapse
 
quii profile image
Chris James

I'm not going to answer all that stuff as I think you're overcomplicating things :)

Just try and commit 30 minutes a day to do something

But most importantly turn off all distractions. For me I am such a hopeless procrastinator so i need to turn off slack, twitter etc (i also find music distracting so I turn that off too). Then just commit to the time of work and give yourself a "reward" at the end. If you have more time, repeat.

This basically: en.wikipedia.org/wiki/Pomodoro_Tec...

Other tips I would add would be

  • Try and have a "backlog" of stuff you want to work on do. Having a plan for your 30 minute "sprint" will help
  • Don't try and learn too many things at once. Dont try and learn a new programming language, learn a new editor and explore a new product idea at one time. It's too much.
  • Don't beat yourself up if real life gets in the way. It's healthy. Don't feel obliged to be always learning stuff in your free time (i hear a lot of guilt from you in this post). Try and coerce your job to let you do this instead.
  • I cant emphasise enough if you have 30 minutes just commit to it by removing all distractions.
Collapse
 
paula2001 profile image
Paula George

this thread is becoming one of the distractions lol

Collapse
 
sudiukil profile image
Quentin Sonrel

Nice advice about the distractions, I always tend to multi-task a lot but I kind of suck at it (the fact that it took me half an hour to write this reply because I use Messenger on the side is a good example 😂 ).

As for the rest, well, I do know the Pomodoro Technique but I'm not really found of it because the whole "30min then take a small break" feels like I'm just breaking my momentum.

The last time I tried this technique I just ended up expanding the 30 minutes to 45 or 1 hour to finish what I was working on because I don't like being interrupted in the middle of something, thoughts on that ?

Collapse
 
quii profile image
Chris James • Edited

I'm not really found of it because the whole "30min then take a small break" feels like I'm just breaking my momentum.

It's hard to give concrete advice as context is everything but I'll try and give some examples

The idea of bashing out loads of code constantly over a number of hours is often romanticised in software development but in my view it's a bit overrated. You often feel productive but actually you can end up diving down massive rabbit holes.

Giving yourself time to reflect as you complete tasks is important.

Agile teaches us that working on smaller tasks are more likely to succeed. So does things like TDD. Practicing how to break down big tasks into small tasks that makes sense is an important skill in software development so it's nice to be able to practice it on your own work too.

So try and aim to finish something that you think you can do in half an hour instead. Have your break, think about what you've done and then move on to the next thing.

Thread Thread
 
sudiukil profile image
Quentin Sonrel

Yeah I guess breaking down my tasks is something I should do more and better... I'll try that.

Collapse
 
juan__wolf profile image
Jean-Loup Adde • Edited

I would add to 'Try and have a "backlog" of stuff you want to work on do': Ask yourself what will be beneficial for you in the future. It helped me a lot to clean up some bad habits (less procrastination!) and useless projects I added to my backlog.

Collapse
 
sudiukil profile image
Quentin Sonrel

I try to do that a lot, but even if I only keep "useful" stuff on my backlog, it still seems to be a lot. Maybe I just don't know how to correctly measure how "useful" something really is. How do you prioritize things ?

Thread Thread
 
juan__wolf profile image
Jean-Loup Adde • Edited

Oh my bad.

Hum, the problem is that I have a backlog really really light compared to what you sound to have, so not sure that's gonna help you but anyway:

For example in my list I have:

Learn Rust
Write an article about how a NAT gateway works
Write an article about true colors in tmux
Move my website to netlify

  • Learn Rust

Long task and not the easiest one, the language is quite tough to get your head around so not particularly fitting for a "pomodoro" during a late evening.

  • Article about NAT gateway

Short time ish task. It's related to my work so easy to work on that during my working hours,

  • Write an article about true colors in tmux

No one really cares about this so that can wait

  • Move my website to hugo and netlify instead of django

It's getting pretty urgent as I changed of employer and my old website is still on their servers...

So knowing the list, I'll do:

  1. Move my website to hugo and netlify instead of django
  2. Article about NAT gateway
  3. Learn Rust

Not the "Write an article about true colors in tmux" because I know that I had the issue because of my own terminal / tmux / vim configuration so the value of this article is kinda worthless.

The 3. is quite different as well. It's a learning task so I would do this in the morning before going to work and more regularly than 1 & 2 that will be done by the end of next week during the evenings.

I don't know, I am not sure that's gonna help you ahaha

Collapse
 
ssmusoke profile image
Stephen Senkomago Musoke • Edited
  1. About me:

    • Free time - none at the moment
    • I am currently overworking, 12-14 hours a day, with 6 days a week but its purposeful as I am trying to break into a new domain
    • Sleep is a weapon - try to get between 7/8 hours regularly and about 10 every 10 days (made the last one up - but essentially get enough rest)
    • Family obligations yes kids, but I have worked out an arrangement
    • Motivation with overload: see #3 below, however I do my best to remain communicative with all those who depend on me so that I can stretch the time, and I invest in building capacity of those around me to take on the load
  2. The best side projects are:

    • Using technology that is similar to your day job (very little context switching) and pays off very well later by improving the performance at your day job
    • Solve a particular need or itch (focused scope)
    • Something you are interested in hence no need for motivation
    • Release fast release often and throw away anything that does not work
  3. For focusing I use the 2 paradigms:

    • Eat the Frog (Brian Tracy) - do the most mundane and usually most impactful/important tasks first
    • The One Thing (Gary W. Keller, Jay Papasan) - the most important thing you must be doing now so helps prioritize

It is okay not to be as productive as you set high targets to be, but just start and move along slowly and u will get better

Collapse
 
alainvanhout profile image
Alain Van Hout

An additional aspect of Chris James' very good suggestion, is to also make sure that you only commit 30 minutes a day to do something. For me personally, I've noticed that it gets progressively harder to commit something daily, if you tend to commit hours and hours rather than just a little bit every day.

Collapse
 
sudiukil profile image
Quentin Sonrel

I do get why it's easier to commit for 30min rather than 1+ hour but when I code I can't be efficient and productive if I don't have enough time, and 30min is clearly not enough to me (sometimes I try to work on a side project during my 1 hour lunch break, even then I don't have enough time to actually DO something).

Collapse
 
alainvanhout profile image
Alain Van Hout • Edited

Obviously you can't get a big chunk of work fully done, but that's not necessarily required. The (not so small) trick there, is to split things up sufficiently that you're able to get an atomic amount of work done in 30-45 min (for myself, I used that timeframe), in such a way that you can get a git commit done which improves your project.

Again from personal experience, the results of 5x 30min are of higher quality than e.g. 1x 2.5h, because you have to think about it beforehand, and you can't help but also think about it while not actually being busy coding.

Though, as with most things, YMMV.

Thread Thread
 
sudiukil profile image
Quentin Sonrel

Yes, I realize that not splitting things up (well, not enough at least) seems to be my main issue here, I'll try to learn how to be better at that.

Collapse
 
simoroshka profile image
Anna Simoroshka

I recently wrote a post about this :)
dev.to/simoroshka/full-time-side-p...

  • How many hours do you work a day?
    7-8, with no commute

  • How many do you sleep?
    7-8, waking up without alarm

  • Do you have other unavoidable obligations?
    Spending time with my partner, and soon we are going to get a dog! :)

  • How much free time do you have, daily? (on average)
    What is considered free time? There are always chores, cooking, eating, etc. If we exclude this, maybe 5 hours. Of which I try to have, spread throughout the day, 2 hours of some sort of physical activity, like a walk at least.
    Then there are weekends and they vary, depending on the plans.

  • How do you stay motivated when you have too little time and too much to do?
    I do something that motivates me. I do it every day for at least 30 minutes (usually more). I keep my todo lists super short and only filled with essential things. I allow myself to rest and have fun when I need it: read books, watch youtube, play games, meet with friends.

If you have things piling up, I'd suggest to go through your priorities and decide which things you absolutely must do, which things you want to do now, and which things would be nice to do but they can be done later. Get rid of the first ones as fast as you can, and then focus on the second. The third go to a backlog which you can review periodically.
Statistically, half of todo list items are never done. I argue that they are not done because they are not that important or desired. Therefore, they can be easily scratched. Dropping things from todo lists is one of my favourite things! :D

Collapse
 
tterb profile image
Brett Stevenson • Edited

I appreciate this topic being addressed as this seems to be a topic faced by most developers at one point or another. Personally, I find that the amount of free-time I have seems to have a direct correlation with my level of productivity and the number of things I'd like to work on. So I have found that keeping a list or backlog of things I'd like to work on is helpful when I find myself with some spare time, as others have suggested.

Though, I still often find myself in a similar situation to what you're describing, so I'm interested to see what solution others have to offer.

Collapse
 
robencom profile image
robencom

The shortest answer: MOTIVATION.

The short answer: try to find motivation to do the things that you are not doing but wanna do.

The answer: take 5 minutes of your time, close your eyes, and imagine your life if you did one or more of the things you wanna do: what would change in your life? Would you improve it?
We never do anything if we don't see a reason to do them. Hence motivation is the sum of all reasons to WHY you should do something or not.

Collapse
 
hakash profile image
Morten Olsrud

First of all, don't reduce sleep. After a while of less than 7.5-8 hrs a night, your brains gets old, literally. It works slower, it learns slower and has problems actually storing stuff. Newer research has also uncovered mild forms of brain damage when you are sleep deprived over time. One reason parents with small kids often tend to be a bit... off, myself included ;)

Second tip to get more time, skip TV, Netflix etc on the days you want to accomplish something. Even try to restrain yourself from social media and random surfing.

Third, make yourself publicly committed to a goal, 100daysofcode.com/ is one popular variant where you publicly announce on Twitter that you are starting, and then you do minimum 1 hrs of code per day, with daily updates on progress on Twitter. (As a side note, they also have similar projects for fitness, health etc., and regular exercise is proven to make you a more focused and productive knowledge worker)

Keep public/shared Trello boards of all your stuff to do. Share the dev stuff with your dev-friends, your non-dev stuff with your friends or family that are stakeholders in those activities. This also helps to grab yourself by the neck as you feel some pressure to make progress on stuff you've said you'll do.


That said, and with the exception on having time (kids remember?), I am struggling with similar issues myself. I have tons of motivation, but as I'm always tired, I have a hard time keeping focus.

Cheers!

Collapse
 
cojok profile image
Cojokka

I think when you talk about dev/tech projects which are not in a freelancer way done( you don't do them for money), you don't have to be worried about there is to much to do. You set the targets, nobody else.

Currently I am trying to do something everyday, even if it is only reading new blog posts(lets put everything related to research/documentation/inspiration in this) and not really coding. Every time I try to do some coding, I split the task in so small chunks, so it can be done quite fast. I have a reminder set on every day at a specific hour in the evening, when I know I am home. If I miss a day, that's fine. Sometimes it might work if you are doing some projects with someone else. Maybe that person is so motivated that he/she can push you more to your limits.

Collapse
 
spideroxy profile image
spideroxy

I feel the same. Agree with some guys writing here their advice.

Just say...the best tool I use to plan daily is Trello. Insert columns - Backlogs, Priority, In Progress, Done. Something like that. It keeps me motivated. Good luck!

Collapse
 
adamjabone profile image
adamjabone

Feeling of unproductivness is often caused by feeling of overwhelming or mess in plans, desires and obligations. You can read David Allens "Getting Things Done".