Hey Liz, let me start off by explaining I have around 10+ years experience with the front end.
Chris Simmons

Thank you, Chris, for such a thoughtful response. I think that you’re absolutely right that I dove a bit too far into the deep end as my first foray into the Javascript world (well, technically second foray. My first foray was in 2009 when the most whiz bang thing around was JQuery). I knew that I was climbing a lot of learning curves all at once, and I expected it to be hard. That was okay though because I was just doing this in my free time and I was mostly focusing on trying to learn what the Javascript community is all about these days. I actually have built a Ruby on Rails web app in the past, so although I did say I was trying my hand at web development, it wasn’t truly my first rodeo. I figured I could brush up on Javascript for a few weeks and then dive into some new stuff. As far as why I chose Angular 2, it really came down to that and React. I did the tutorials for both and found that, even though Angular 2 was in beta at the time, their Quick Start Guide and their Tour of Heroes tutorial were easy to follow, and fun to do. I didn’t find an equally easy and fun tutorial for React (although I didn’t try all that hard). I also read that React is more free form and less opinionated, and, being such a new comer, I wanted to use an opinionated framework that would hold my hand and tell me how building a web app should be done, which Angular 2 did deliver on quite nicely. Once I grasped the basic concepts of Angular 2, it was a lot of fun to use and it was surprisingly intuitive. By far the hardest part was dealing with upgrades and dependencies.

I wrote this article because I was just astounded by the culture of the Javascript ecosystem and it’s fascinating to compare it to the Java world. I was feeling so much frustration and anguish, and it didn’t seem like it was totally caused by the learning curves, or the way Angular 2 was released, or how any one tool works or any specific bug. It seemed to be caused by the Javascript ecosystem as a whole, by the culture that has evolved thanks to tools like npm and the ease of building and releasing new libraries (and new versions of libraries). I wanted to seriously ask myself and the community the question: is this normal for JS developers? Does anyone else feel this pain? Because I tell you one thing, developing Java is no where near as painful as trying to build something using today’s Javascript tools.

That being said, I think the Javascript world has tremendous potential. I think it could be the first ecosystem that truly makes it easy to build modular code and effortlessly reuse existing code. After considering the replies from everyone, it does seem that Javascript is currently in a period of extreme growth and rapid evolution. Like you mentioned, many things are changing right now, and there’s bound to be some pain. Were I do to do it all over again, I’d certainly build my blog using only stable libraries. But then again, things change so rapidly in the JS ecosystem, if I were to spend 6 months learning a new technology (progress is slow when you’re only working on weekends), would it be out of date by the time I finished my project? On the other hand, experiencing first hand the release of Angular 2 has been an incredibly interesting experience.

At any rate, thank you for your reply. I found it thought provoking and illuminating. It’s always interesting to compare the perspectives of engineers with different backgrounds, so having your perspective as a seasoned web developer is fascinating.