Warning - what follows isn't code related - it's a bit mushy. I apologize in advance. Something has been on my mind this morning and I thought I'd share. A little over a year ago, I shared an article on how developers can improve their craft, "Leveling Up Your JavaScript". For some reason, this article has been picked up by a few outlets on Twitter this week and I've seen renewed interest/RTs/etc on the content, so I guess that's a good thing if people are still finding it useful.
The central tenant of that article was the idea that it's possible to progress in JavaScript, and really, any skill, by focusing on small steps that improve the way you do things.
I cannot tell you how often I feel horribly inadequate when it comes to client-side development. I look at folks like Eric Elliott and his incredible "Master the JavaScript Interview" series (note, that's a link to one article in the series, see the rest at the end) and I shudder under the weight of how much I don't know, or to be more fair, how much I don't know completely.
The point is - I do not have to be at the top of the JavaScript ladder. It will always be my goal. I will always attempt to move up, but reaching that peak is not necessarily my actual goal. I look at myself on that ladder, maybe, half way up (on a good day), and I remind myself, if I can help someone else move up to where I am, than I'm helping them on the path as well.
We can all do that, even those who are barely above that first rung. Every time you share your code, your questions, your suggestions, you can help someone else move up, and as a whole, we all improve.
Keep that in mind.