I used to be well known amongst my peers as the developer who built 80% of something and then gave up or lost interest. “Name one thing you have ever finished” is something that I would often hear in jest.

“Name one thing you have ever finished.”

It should have been frustrating, but it didn’t phase me; I never finished a project. I would start something I was passionate about and then drop it before it was ever fully realized. I was an established failure.

One day I thought to myself, why do I need to finish something to release it to the public?.

Why do I need to finish something to release it to the public?

Granted I have had a GitHub account since 2008, but it was pretty sparse. There was one partially completed Wordpress plugin hosted there, of which I had hadn’t told anybody it existed. In fact most of my development work was done behind closed doors in private repos on BitBucket, so no one could see me fail. No one could see me succeed either.

No one could see me succeed either.

So I tried something that I had never done before; I started committing unfinished development code to public repos on GitHub.

It was scary. It was liberating.

Fast forward two years and I now have ±40 public repos on GitHub in both my personal profile and organizations I am part of. I have also publicly announced my first major project: Facade.js, a JavaScript library that makes drawing shapes, images and text in HTML5 canvas easy. I have even submitted my first major pull request to sniff, a JavaScript library for when you absolutely need to know what browser you are in.

And it all started because I put myself out there even when it was difficult to do so.

The first step is always the hardest, but it will be the one you remember forever.