For several years now I have been a “full stack” developer, which in my case means that I’ve worked with HTML/CSS/JS (and AngularJS in particular) on the front-end and Ruby on Rails on the back-end, done some database optimization/tuning, and helped out on the server side (Chef deployments, Ubuntu server maintenance, and little Unix scripting, etc). I’m sure it means I’m not great at any one of those particular skills, but I know “just enough” of each to do things mostly on my own along with plenty of Googling. I like it…mainly the diversity of the challenges this presents. I’ve never been one to enjoy “uber-specialization”, as I often get tired if I’m constantly in a single domain.
In my most recent job I got a chance to maintain/enhance a reasonably-large AngularJS application communicating with a Rails back-end. I noticed that I was enjoying the JS more than Rails, and then we got a chance to stand up a new NodeJS server that communicated real-time with a social media chat API (early release…not public). In turn, that server integrated with socket.io to provide a “reactive” chat interface. This application is currently in production, and I learned quite a bit about JS, NodeJS, and the whole deployment story. Unfortunately, the social media provider decided to deprecate the API before ever releasing it to the public. The API they did go public with was a webhook-based one, and due to several business and technical reasons that meant we moved all this functionality back into Rails and discontinued our NodeJS development.
That does not mean it’s necessarily the best candidate for all of those applications, but for someone like me that likes to spread my skills around it is enticing to know of the “places I could go” with JS as a core part of my toolkit. I’ve got several side projects in mind to enhance my JS skills, but like the rest of the “working public” I have to balance those with my other interests (woodworking, bike riding, spending time with my wife…just to name a few). I don’t exactly know what this means for my future, but I hope at a minimum it starts meaning there are more “blog post ideas” that I get about JS. If it turns out to be even more than that, then all the better :-)