Have you ever thought about making some project, app, post, video, etc. and eventually convinced yourself it's not worth it because it's already been done before and probably better than you ever could? If not, you can stop reading here. If you're like me and you have, then boy, do I have a lot to say about this. Here are three pretty common proverbs that you should always have in mind.
I wish I could give an idea that would guarantee you success/happiness/whatever metric of good. Literally no one can. Some people have better ideas than others, but no matter who you are, most of your ideas will fall flat on their face. As long as you think your idea is good enough and you would enjoy doing it, you gotta see it through.
Don't base your success on the utility or popularity of your implementation. There is a plethora of variables at play for the function that is success, and the idea itself is only a tiny part of it. In general, focus on an idea that actually intrigues you and gives you something to play around with.
Don't be afraid to take on an idea because it's "too big". Most of the time, it's really not. You might just be missing one or two pieces of the puzzle. Tackle those challenges first. Suppose you have the idea to build a YouTube clone but you're worried that you won't be able to make a good recommendation algorithm. You're also not sure how you would handle storing files and video processing. You are already a skilled Web Developer who can definitely make most of the frontend and backend but are not sure how to go about those things. What should you do? If you're like me, then these seemingly impossible tasks will constantly linger in your head. All you'll be thinking about is how you should do those two things and keep reading articles on the topic. You look at how other people have tackled the problem before you and find out that there are entire areas of research dedicated to this topic. The complexity is overwhelming. All the while you still haven't written a single line of code. "Eh, fuck it", you say, before forgetting about the idea and moving onto your next idea, only to repeat the cycle.
Listen. If it's your first time dealing with a recommendation system and video processing, you are not going to do a perfect job. You're probably not even going to do a decent job. And that's OK. Just get it working. Write some basic code to do this so that you can integrate it into the rest of the project later. Focus on the "impossible" tasks before moving onto the stuff you're more familiar with. Get a working solution, regardless of how bad it is. Perhaps during your process of making a shitty solution you come up with a slightly better one. You never know until you try.
It's very easy to see someone who's particularly good at something and think about how far from them you are. I am a firm believer of the 10,000-hour rule — the basic idea being that it takes about 10,000 hours to become an expert in any field. Think about how much free time you have per week. Based on that, this is how long it would take you to become an expert.
hrs/week | yrs to reach 10,000 hrs |
---|---|
10 | 19.2 |
20 | 9.6 |
30 | 6.4 |
40 | 4.8 |
50 | 3.8 |
60 | 3.2 |
That person who's really good at something probably wouldn't even consider themselves an expert. This is about how long it would take you to be at least as good as them. Don't let their expertise intimidate you. You should strive to learn and improve your own skills. All you have in life is time, so you'd better use it wisely.
I'm starting to realise there's a ton of overlap in all these quotes. Look, you need to stop comparing your idea to others' implementations. It's easy to look at other people's implementation of your idea and convince yourself that your version will never be as good. If you want to make a project, just make that project. In the end, you will learn something from it and that's 50x more valuable than whatever you've created. Time on Earth is short, so make the most of it. Whatever project it is you wanted to start on, go start on it. It'll probably suck, but you can always iterate, and you'll always learn something from each iteration.