A side project should be pure fun only. I'm not talking about forcing yourself to make a boring todo app just to fill up your portfolio. I'm talking about creation and fun!
I'm not going to lecture you on why you should have a side project going on. The number of side projects made by a developer does not determine its value. It really doesn't.
There will be no organizational advice either. I already dedicated another article to it and internet is fill of this kind of stuff.
Today, we're going to talk about why you should do the adventure of a side project. Without answering this question first, your project will end up like 99% of side projects. Forgotten, deep in your folders.
Without knowing it, in the summer of 1999, I started my first side project. At that time, I was just a kid. I didn't know how to code. But I had a silly crazy passion: Final Fantasy 8.
The most logical way for me to share my knowledge? A website i thought ! In a few minutes, I find myself making HTML tags and displaying things on a page. Code! I had no idea how it worked. Frankly, I didn't give a fuck. I was just in a trance talking about Final Fantasy 8 to my PC.
Code is a way to create stuff. A means, not an end. It is the essence, the basis of what side projects are.
The subject you're going to choose is the most important thing to think about. This will determine how your side project will unfold. This will really harness your power.
With your job where you are told what to do for 8 hours, you tend to forget something crazy. Something that is unique to your job and that millions of people envy you. You are a creator.
Most people with ideas don't do anything. Unable to realize them. You can. You know how to make what you had in your head come out on the screen. Pure creation. Enormous power.
This incredible power has a crazy value. And let's face it, you and I rarely use it. It's incredible to think that we can do anything, but most of the time we don't do anything. Code is the ultimate creative tool of our time. And we master this tool!
Now, I know what you're thinking.
So what? Why should i do it? You're a nice little prick, but I don't want to work again after my day of work. I don't have any project idea. Anyway, you really think I have time for this ?
We're going to address all this.
I'm supposed to give you a list of logical facts that are supposed to motivate you.
- More practice will make you a better developer.
- A side project will make you a more attractive developer for recruiters.
- You will consolidate your knowledge about the things you already know
- You will learn about new technologies
I could also talk about passion. But you know my opinion about passion among developers. I could really emphasize on the recruitment side of things. A profile with side projects is more likely to be noticed.
But even for recruitment, this is not a good enough reason. Except for young developers struggling to enter the job market, with or without side projects, you'll find a job easily.
If we're honest two minutes about all this, who cares ? I know that none of these reasons are really going to convince you because of a common reality.
We get into the heart of what I wanted to tell you. Most developers get into side projects for the wrong reasons.
Somebody, somewhere, probably a stupid blogger like me, lectured you. He told you that a developer without a side project is a bad developer. When you felt the anguish of having to justify yourself, you took the plunge.
You took the first shitty idea found on the internet, like a basic todo-app, and you made a hello world. That's where it ended. That was six months ago. Just thinking about it depresses you.
You will never finish a side project that doesn't give you pleasure. I can give you all the logical reasons in the world. I can tell you about career, visibility, skills and even money. It doesn't change the fact that you won't be working on a chore after 8 hours of work.
You have to start with the fun. It's the only thing that will count when you'll have the choice between Netflix and your side project.
And I'm going to be a bit extreme here. If you can't find anything that motivates you more than Netflix (I have nothing against Netflix), don't waste your time with a side project.
With that in mind, the problem to solve is now obvious.
Last week I shipped a side project called Across The Universe. A three minute web experience that takes you through the universe via the browser. I was obsessed with this project.
When I had finally finished my work day, I couldn't wait to go back into space. It wasn't a chore, it was an adventure! How did I come up with such an idea?
Along with a lot of other things, I love video games and everything related to space. So I ended up watching this video on YouTube. The part with the wormhole gave me the idea to reproduce the effect in a browser. And one thing led to another it became an exciting experience with story and music.
With my hands I created a trip across the universe. I was over the moon! Pure injected fun in my veins.
I can't tell you what kind of project will have the same effect on you. But I can tell you that to find it, you have to start with what you like. You have to start with you. That's the only thing that matters.
You should not give a fuck about your portfolio, the originality of the idea or whether it's already done or not. You should not care if it could make money or not right now. You should not care if it makes you a better dev or not. You should not care if it's useful or not.
It's by removing the notion of drudgery from your project that you'll keep at it. I'm convinced of it. Everybody starts for the wrong reasons. So there's only one question to ask yourself first.
What do you do for fun? Getting drunk with your buddies? You play games? Watch TV shows? Go for a run? In whatever you do, there is potential for some super fun creation.
For some of us it's doing something creative on a subject they love. Others will love to do a backend API. Others will be excited to do open source. Everybody love something. Use this to found something you are all about and start from here.
Now, there's still a huge problem.
This one is hard honestly. I'm not a complete idiot and I understand that time management is a real challenge. Family, work, friends. We all have busy days.
Once again, I'm supposed to say something like "win the morning". Get up every day at four o'clock and work on your stuff. And even if, having tested it, yes it works, it's still super constraining.
I prefer a more pragmatic approach before going to these extremes.
Often, when people hear side project they are thinking about a huge project. A huge project will indeed suck up all your time. You have to start by changing this way of thinking.
A side project can be something very small and quick to do. Last March, during confinement, I did a very small side project. A little app that reacts to your facial expressions using artificial intelligence in the browser. I rarely laughed as much as when I did that crap.
The actual development of this project took me only a few hours. More if you count the upstream research and the writing of the article.
You can tell me all you want that you have a crazy schedule, we all have a little bit of free time. It's amazing what you can produce just by putting in a few productive hours a week. A few productive hours a week is all you need.
Finally, I return to the main point of this article. You will suddenly discover a lot of free time if your personal project is as fun as Netflix. That and the smallest possible scope are the key to ship anything you love.
Replace the notion of drudgery by the notion of pleasure in your side project and I promise you that you will finish it. All other reasons should be secondary. Otherwise it becomes work. And work, you're already doing it 8+ hours a day. I think that's enough.