When it comes to building new software I tend to get discouraged by building anything. The common reason being is that it has already been done. It doesn’t matter the language, but since I am a Javascript/PHP developer, lets use those two specific languages.

Javascript has an ecosystem that is rich with frameworks, libraries and tools to do just about anything and everything. One could argue that there is "literally" nothing left to build. We have libraries for string manipulation, common tools for collection sorting, array filtering and we have frameworks such as React, Ember and Angular as well as Vue to name a few.

We have libraries such as Moment, Lodash, Underscore and many more that do a variety of things that developers find useful.

PHP has the same concepts and issues with its own community. Zend, Symfony, Laravel and Slim are some of the frameworks.

When it comes to building anything new, I personally feel discouraged, especially seeing time and time again people sharing their content on popular sites like reddit and github to get community feedback. Nine-out-of-ten times these projects go no where, it’s the one percent that tend to go everywhere, star wise.

Maybe you have to be popular in the community to be take seriously, or maybe you have to have the next Taylor Otwell idea? Who knows what the true answer is.

The main thing people yell at each other is: "Don’t re-invent the wheel. "

In most use cases this is completely acceptable as they are (literally) re-inventing the wheel or creating security concerns that I, as a developer, may have to clean up some time in the future when they leave their job.

When is it appropriate to re-invent the wheel and who sais it can't be me?

For example, this whole post you are reading, this blog you are looking at, it's not Wordpress, its a whole custom blog (CMS) that I created for my purposes that I would love to open source, but again with the "Just use Wordpress, why waste your time?"

Even if we took, what Laravel did for example, symyony components and tied them together with some of our own string, we are still told: “oh x does it better, just use x, don’t waste your time.”

The core question for these two communities is: Do we really have such a love for these other frameworks, concepts and ideas that we have no room in our hearts for anything new or experimental?

Which leads me to ask:

Are we not a community of people who help other people grow and learn? Or are we community of fan boys (and girls) who cling to one popular notion, like React and shun anything else that tries to take ideas, concepts or imitate for the sake of learning?

Why not re-invent the wheel, learning or other wise?