I have heard it many times and I have had enough.
Some devs(mostly junior) come up to me and ask what to build as a side project and my answer always has been is to build something that you see everyday and improve if possible. Then the next thing I get is “I wanna build that but it already exists” or something like “Even if I build it I can’t show it on my resume because there is a better alternative.”
IT DOESN’T MATTER.
If people stop doing things that are already done, there won’t be any Tour de France every year. No one would climb up Everest again. No country would spend millions for a Man-on-Moon mission.
THIS IS JUST FULL BLOWN HYPOCRISY.
When a developer builds an Instagram clone, it’s actually means that he has single handedly created an application which was actually developed by an army of engineers in the first place. It shows nothing but the capability and understanding of the developer.
In fact once you build something like and Instagram clone, you would get to know how real world projects actually work behind the scenes. You could make some changes and take decisions that the original engineers couldn’t afford. That could even open up a possibility to improve some skills in certain areas.
So bottom line is if you find any project that’s fun, copy it, reverse engineer it, go nuts and make it happen. There is nothing wrong with reinventing the wheel.