How can I find time for side projects when I have a job, family, friends, and hobbies?
Most devs I know have programming-related side projects.
Some use their projects to explore new frameworks and programming languages, others have the goal of replacing their full-time income with them.
I've always done multiple things in parallel. From studying economics at a university while I was still in school, over part-time jobs to finance studying computer science to creating software projects out of the desire to just build something practical.
The 5 tips in this article help me to:
Let's start.
You're much more determined to do a project if you know WHY you're doing it.
Imagine how you want your future to look like.
Why do you have this image? What about it makes it appealing to you?
For me, it's about having more time for my family, for friends, and for staying fit.
After finding your why, determine your long-term goals.
It's not about deciding "this needs to happen, THEN I'm happy."
It's about finding milestones on your journey towards your dream life.
From your long-term goals you can make magic happen.
"What needs to happen before this goal?" "And what needs to happen before that?"
Go back step by step. The further in the future something is, the fuzzier it can (and must) be. But you should have a good oversight over where you want to be in 3 months, and much more so the end of the week.
Some goals can be done with one project. Some goals benefit from multiple projects.
"Financial freedom" benefits from keeping an eye on your spending, as well as from multiple income streams. Each of these is a project you can work on.
Ultimately, you need to know exactly which next step you need to take in every project.
Then, it's just a matter of looking at your tasks and decide which one you want (or need) to work on.
If you just take one thing from this article, let it be this.
Keeping all tasks in your head just wastes resources you could use for something else.
And you may forget things.
So, develop a system (e.g. a physical Kanban board, a notebook, or an app) to keep track of all your to-dos. I manage my whole life inside Todoist.
The benefits are immense: every time I notice something I need to do, I write it down. Then I forget about it until I look into my task list and plan it for the future.
No more dozens of pieces of paper, or to-dos occupying my head.
Some days, even though I worked all day, I felt discontent.
There was still so much on my list that even though it was time to go to sleep, I could continue working for hours without completing everything.
This is exhausting.
The solution is two-part:
Every evening, sometimes in the morning, I plan the day ahead. I order tasks by priority, look for fixed deadlines or meetings, and break tasks up into smaller ones.
So I always have one task with highest priority every day.
There will be days where you will only work on your most important task. You may finish it, or you maybe won't. That's okay. If you did finish it, be content that you finished your most important task today. And if you didn't it was probably too big to complete in one day, anyway.
Take some time to plan your next week or month, and to look back to assess what went well and what didn't.
This session is key.
I do it once every year, quarter, month, and week (Sunday evening). You can also just start with yearly and monthly. Or just yearly and weekly.
Do a mini-retrospective and ask yourself what went well, what didn't go well, what you can improve, and what's coming up next week.
Looking for inspiration for your weekly retro? Here are my 7 questions for weekly retrospectives.
The best way to become more productive is to:
This is possible with regular planning and personal retrospectives.
You can do all the hard work you want. With the wrong technique, it'll take you much longer, and you won't arrive anywhere if you go in the wrong direction.