Lately I’ve been noticing a trend with my skill set – its been increasing which is always great, but also starting to veer in directions that are alternate to that of a typical “.net developer”. I say this because, for all intents and purposes, I am a typical “.net developer”. Every recruiter I get a call from always has a “great .net opportunity that you would be perfect for!”. I’ve always prided myself on this notion, always considered myself a .net developer, and never thought there really should even be a world that exists besides .net development. The fairly recent inclusion of MVC in the .net world of web development solidified that thought for me, or so I thought.
I had a debate with a friend who’s shop decided to ditch .net altogether and go exclusively Ruby on Rails. [gasp] “Well, good luck with your career!” I sarcastically remarked.
Fast forward roughly 6 months, and I kind of feel like an idiot. I’ve been discovering all of these great new front-end frameworks (Backbone, Angular, Ember, et al) and I keep noticing the same trends over and over – most of these are built on top of a Ruby on Rails back-end or some other NON .net back-end. Because of that, I’ve been trying to get into more “non” .net development like RoR and node.js.
I’ve also noticed something else about myself – I’ve never been more interested in my career, progressing my skill set, and learning than I am right now – and I can attribute that directly to my realization of how much I love “front end” development. I’ve always fancied myself more of a back-end guy – digging into all aspects of C# development, database design and integration, service layers, etc. I realize now that I only really liked that aspect because of the raw coding involved. I love coding, pure and simple! With the recent transformation that the web is experiencing and the onslaught of truly hardcore JavaScript frameworks and design patterns, I feel like I have finally found my calling! To that end, I’m finally realizing the power of JavaScript and how much I love it as a language. I recently discovered node.js, and doing web development with ExpressJS on a node.js back-end This was an awesome discovery for me because it instantly made sense, and I instantly felt comfortable with it and instantly wished I was working full-time doing node development instead of .net 😉
I have been spending so much time working with JavaScript, I’m appreciating that the front-end truly is agnostic to the back-end. Anything can run in the back-end and it really doesn’t matter. Because more and more of the presentation layer is being processed and handled by the browsers nowadays, the back-end is becoming less and less tightly coupled with the front-end.
Don’t get me wrong, I am in no way saying or suggesting that the back-end is going away or less important (obviously). I’m merely suggesting that the back-end and front-end have never been more separate than they are today. Which is a good thing!
Update 11/17/2013
Figured I should update this post as it still gets a bit of traffic. In August of this year (only a few months after I wrote this post) I was contacted by AWeber and started a new job as a purely Front-End developer. The beauty is that at AWeber its all open source! Since I’ve started, I’ve worked primarily with (lots of) JavaScript, Cake PHP, some Python, node.js, Backbone.js, Angular, jsClass, TDD (in JS, PHP, and Python)!