I Was Wrong to be Afraid of Angular.js 12 March 2014

Last week the startup I have been working for started wrapping up due to lack of funds. It’s not been unexpected, so I’ve kind of put the week aside to try being ‘funemployed’.

It has given me the time to catch up with old friends, do a little bit of writing, but also to spend some time processing everything that’s happened over the last few years.

I was finally writing the announcement for a project I built on a whim a few months ago, but when I tried to justify why I had chosen to use Angular.js specifically on that project I came to a deeper realization.

I needed to build something with Angular.js because it scared me.

Now, I’m sure some of you might think that being afraid of a piece of software is a ridiculous proposition, and you would be right… but at least for myself, a lot of my experience seems to have been integrated into my decision making processes on a more emotional than strictly intellectual level. It sometimes causes me to have an instinctive distrust of things that look even vaguely automagical.

So it wasn’t fear it filled me with, but rather dread. You know, dread at losing days or weeks of my life trying to fix bugs that end up being part of something that would work so much better if it just stopped trying to be so clever all the time. That kind of dread.

Some people call this code smell, but the word I seem to reach for the most to describe it is ‘overwrought’.

o·ver·wrought, ˈōvəˈrôt/
1. in a state of nervous excitement or anxiety.
2. (of a piece of writing or a work of art) too elaborate or complicated in design or construction.

Ultimately though, I don’t trust my intuition completely.

While it can be useful, i am really uncomfortable forming any kind of technical opinion when I find myself operating on this level. I’m certainly not comfortable with being able to make an informed decision based solely on my gut.

The only way I know to combat this is to actually build something to see if my instincts prove correct or not. Often, I don’t get very far in this, but I get far enough to allow myself to finally form an opinion. When I’m lucky I’m able to work through all this in something that isn’t critical to whatever project I am on…

A lot of the times my fears end up being valid (like require.js), but sometimes they end up being completely wrong (like angular). Those are the times I actually learn something.

What was very interesting to me about Angular, though, is that it had been 6 months since I had spent any time even looking at it. Even so, about 2 weeks before I started on this project I had this really involved almost-lucid dream that I was building an application in Angular and having the time of my life doing so.

I wonder if my subconscious was trying to let me know that I needed to do something about this creeping unease with it.

I still have a lot more notes about my experiences to publish, but this feels like a natural place to split this post in two. I also think having the time to think about what I was feeling about angular is probably just as important as what I ended up thinking about it.