As a developer, we love to create things. There is a satisfaction in discovering how things are constructed first hand, even if we reinvent the wheel and what we build is inefficient, verbose, or, in a way we wouldn't show even our closest friend the source code.
And this is where an internal conflict comes into play. Many developers want to show off their new creations, sharing them with anyone and everyone. It's like the days in elementary school when you were selected to show and tell something really cool of yours to your fellow classmates. That short moment in the spotlight to be popular, to have others know something about you!
So why don't more developers push their projects to Github, to blog their journey of what they built, learned, and want to tell others, and video themselves and their creation for immortality?
Because we're afraid. Fear, a very common emotion, and social anxiety cause a conflict for many, preventing them from taking that extra step. What if my project is stolen and someone else gets the spotlight instead of me? What if someone judges me and tells me how terrible I am at coding? My cover will be blown and I won't be that elite coder I want everyone to see me as. What if I built the project completely wrong, I won't be able to take it back and hide under the blanket?
In this social media-hyper focused world we live in today, these are all valid concerns and could perhaps lead to a lost of position in social ranking. But this doesn't have to be high-school clique all over again. These fears really shouldn't be limitations that prevent us from sharing our projects. The worst thing that can happen is that no one else will notice the project as it collects dust. Oh well, you would have been the only one to see it in the first place. Posting it on the internet at least makes it discoverable.
Being selfish for a moment, I want to share a couple of benefits I found for sharing my projects and not being concerned about the social promotion everyone else seems so concerned over.
I used to compete in hackathons regularly and would post about my project afterwards. It was a haphazard effort and really varied on what I felt was most important to showcase the project. Each blog post was different, sometimes including screenshots, demo videos, lessons learned, explanations on user experience or the problem, and what future improvements I thought could be made.
These blog posts are spread across a number of my blogs I've left for that next blogging platform. But the content still remains. It gives me a perspective of where I was at just a couple of years ago and how I've advanced both personally and professionally.
A couple of weeks ago I came across my 15 projects in 30 days project I did in the summer of 2015 as an exercise to learn Angular. I clicked through the projects to see how outdated the code was and wondered for a moment why would anyone read it nearly four years later. Should I retire these projects as I clean up for my new year resolution. Again, being self-centered, I was awed by the effort I put into these projects and the creativeness I "had" back then.
While the tutorials I've written are out of date and the frameworks vastly improved, there's a historical value for me in keeping them. In a sense I'm leaving a time capsule of what I've done for my future self, and others are welcome to come watch the journey if they choose.
And yes, I do regret not having written about all my projects. I sometimes recall a few details here and there about a project that was and am unable to locate even bits of source code. If I could go back in time, I would have written about more of my projects so I could go back and watch the video (and even share it) today.