With new year around the corner, it is resolution time. People usually take resolutions at the beginning of the year. But I am going to continue my mid year resolution I took this year, as my 2016 resolution. It is religiously following Jeff Atwood's How to Stop Sucking and Be Awesome Instead.
Here's what I've seen work:
1. Embrace the Suck
2. Do It in Public
3. Pick Stuff That Matters
Mostly, I think it's the fear that gets us, in all its forms. Fear of not achieving. Fear of not keeping up. Fear of looking dumb. Fear of being inadequate. Fear of being exposed. Fear of failure. The only thing preventing us from being awesome is our own fear of sucking. So that's why I say we embrace it. Who wants to live forever?
I wanted to learn MEAN stack this year. So, I decided to use this post as my motivation for it. I got started with building MyWallet, an expense management hobby project built with MEAN stack. I strongly resisted the usual initial urge to hide my imperfection behind Bitbucket and went ahead and created a GitHub repository.
It was obvious, being a beginner in the chosen tech stack, I did multiple things wrongly. I used SHA1 to store password instead of Bcrypt. I used NoSQL like SQL. I had over engineered database to accommodate future schema changes. I used angularJS with Jquery mindset writing ajax calls on controllers instead of services and many more.
But I also learnt new things by debugging
nodejs application which made it to production. Ghost.org, NodeBB's
GitHub repository were of huge help to me. As soon as I discover a best practice, I would research and learn a
little more about it and will implement them in my app. Every time I wrote something, I tried to keep it little
tidier and better than how I checked it out.
This had a drastic impact in leveling up my developer skill. With the little changes, adding up, I could see myself making transition from newbie to a decent MEAN stack developer. I started seeing every thing as events and was ready to take up lesson when proven wrong. I no longer fear being rejected or wrong.