There's no better way to learn something quickly than a side project. It puts your knowledge to the test and turns you from a passive consumer of courses into an active creator of projects.
Side projects are not only great for learning; they're great for your career too. New developers with side projects have a much higher chance of being hired than those without side projects. You'll find that the most successful programmers are always tinkering in one way or the other, either to expand their skills or transition to a new role.
But do you sometimes feel as if you have no good project ideas? As if the ideas you come up with are boring and stale? You're not alone. It's not always easy to figure out what you want to work on next. This article will explore a few good habits to generate ideas, as well as a number of questions that should get your creativity engine going.
No matter how much it may feel that way, ideas don't come out of nowhere. You need raw material first. Consume content that generates ideas. Both the quantity and the quality of the content you consume matters.
Nowadays, we consume a lot of content, but we do so to distract or entertain ourselves. How much of the content do you use to learn or think? When you select your sources of information carefully, you feed your brain with the raw material that ideas need.
Secondly, keep an idea book. Whenever you have an idea, write it down in a centralized place. Don't be too hard on yourself either. It doesn't matter whether your idea is incredible or not, just write it down. Eventually, you'll have a list of ideas that can spark inspiration in their own right.
The benefits of an idea book are many:
- You won't forget your ideas;
- You'll be less likely to reject them out of hand;
- you won't have to think about where to store your ideas.
Thirdly, vary when and where you think of ideas. Think of ideas when you go for a walk, while you take a shower, when it's late at night. If you don't experiment with this, you'll never know when and where ideas come to you most easily.
What's something I do every day that could be more efficient? Our daily routines are full of small inefficiencies that we could automate if we put our minds to it. For example, create a script that shows you the price of your financial investments once and only once a day.
What's something I complain about? Complaints are often idea nuggets. For example, if you catch yourself complaining about the state of truth on the news, create something that displays the relevant Wikipedia pages for every news article.
What popular platforms can I build something on? Sometimes, it's all about surfing the wave of popular tech platforms. Today, this could mean developing a Facebook chatbot or an Alexa app.
What websites can I browse that inspire me? Good examples are Show HN, GitHub, Kickstarter, Product Hunt, Kaggle Communities, or even random tech forums. There are a huge number of good websites where ideas are ripe for the taking.
What feature of a standalone app can I improve? For example, does the UI of your mobile banking app bother you? Repurpose it until it's much better (and then, possibly, pitch it to the bank).
What do I want to learn? As we said at the beginning of the article, there's no better way to learn something new than a side project. Google "[topic] ideas," pick an idea you like, and get your hands dirty.
Generating ideas needn't be hard. But you need to have the right habits in place and the right questions in your mind. This means that you need to consume content that generates ideas, keep an idea book, and vary when and where you think of ideas. Armed with that and the questions above, and you'll be generating ideas in no time.