How to Side Project
This probably sounds like a silly article, but I've met many people who want to do side projects and never do. I think those people see side projects as big things that need to be maintained or require a lot of time to do... Which is not the case whatsoever. Anyone who knows me knows that I have a ton of side projects. Not that I'm an expert on side projects, but there are a few things I want to go over, for those people and others who can't get started with side projects. There's a few different kinds of side projects ranging from ones you'd want to upkeep to ones that you do once and forget.
Contents
Tips:
I'm starting with two tips that are incredibly useful and will lead to some more understandings
Always always always have a separate ide/editor open. A. Just having the tool open means you can quickly move to it. To test things or to have a mental break from the real project.
Upload everything to version control. A. It may sound silly, but it becomes like an encyclopedia that you can pull from or use as an example. I've done that a countless number of times and it usually comes in handy. To look back on your work on a problem you ran into already means less figuring out how to do it again, and more moving forward. This also means you can optimize it with that second look.
Types:
Let's start with the types. There are lots of different types of side projects.
Quickies:
The first kind is the one and done. These are the ones that you do to learn a quick thing/concept to make sure it works. Don't count these out because they can be useful in the future! Upload them to version control and you can quickly look at it!
Concepts:
These are side projects that are a little more in depth. They take a concept and flesh it out a bit. These kinds can easily become samples if you're not careful. I usually will spend maybe 6 hours total on these. Anymore and they become samples, in my opinion.
Playgrounds:
These are fun since you throw whatever you want into it. You're just playing around with no real goal. Sometimes you'll work on something that ends up becoming a sample or even a real side project. This kind of side project can be a place for concepts or quickies.
Samples:
These are the next level. These are mini projects that you spend a little more time on. These are fleshed out concepts, stemming from a full game like solitaire to a full bot like a discord bot. Usually, these become a focus for a good few days until the next side project takes hold.
Real Side Projects:
These are the big beasts. The only things that have higher priority than these are work projects. These are the projects you spent hours upon hours on, using a lot. Maybe it's even a second source of income. Maybe it's a project you're maintaining or helping to maintain. Maybe you're a contributor. Either way, you are invested into these. Maybe your interest eventually wanes, and that's okay! There will definitely be another one of these.
More tips:
Now that I have gone over the kind of side projects, here are some tips I follow to make sure I know when one is done or to maintain that good work-side project-life balance.
As I mentioned before, keep another ide/editor open, so you can quickly and easily work on a side project without losing focus for work. It makes it so you can start working on a side project of a type while still being able to work and even take stuff from a side project that you can use in your work!
Use version control! This is the second most important thing. You can look back on your side projects that you learned so much from and can use that in new projects. If nothing else, you have a paper trail of your growth that you should feel incredibly happy with.
Don't spend too much time on these. These are to make sure you can grow, continue to learn, and maybe even use a bit of creativity.
Communicate! Show some of these off to friends or coworkers! Engineers are always thinking. Even if it's not about work, we think of ways to optimize our to improve.
Research! The world is a big place and people make some pretty cool stuff. Look online at things other people have done. That's usually how side projects start.
Conclusion:
I know a lot of people feel like they don't have time to do side projects, but I see that as an excuse. Not doing side projects, I feel, leads to burnout. Explore things! Learn new things! Even if you just start with having another ide/editor open! If you have a thought of "I want to try something but can't", switch over to the other window and try it out!