Roundabout Learning

I had to present about AngularJS The other day.

I was asked to present about Dependency injection, a common concept in javascript, which I thought was going to be totally simple, but as it turns out, I was recommended to present Angular’s way of doing it, or, alternatively, the C# method of dependency injection. Luckily I stuck with the javascript.

Now I know you’re thinking “Wow. The title of this post was entirely misleading. He’s talking about exploring new stuff. LO AND BEHOLD he sticks with what he knows.”

Hold your horses, that’s not entirely true! For what it’s worth, I barely know AngularJS. In fact, there was a time long before the era of Code and Comedy that I was floundering in the water with Angular, and additionally, I REALLY wasn’t looking forward to this presentation. After all, what I knew about dependency injection was simply through my application of revealing-module javascript patterns.

However, it’s worth noting that once I starting reading more about Angular, I just got it. I understood it. It was sort of amazing to me. Here I was, completely grasping the concept behind Angular’s dependency injection, and I was floored.

After all, over a year ago I had no idea what I was doing when I tried to build something in Angular. As I looked at a simple sample application, I understood everything that was going on. It was almost natural; It was full-on freaky.

The reason I understood everything there is the reason I’m writing this. It’s because having spent enough time around different, smaller-in-scope technologies (that Angular happens to implement,) I was able to see what was happening piece by piece. It was NUTS. I felt like NEO. You know that moment where Keanu Reeves is like “I know kung fu.”? THAT WAS ME.

In the past year of employment, I’ve dealt with things that angular bakes in:

I’ve dealt with templating languages

I’ve dealt with modules and less elegant methods of dependency injection.

I’ve dealt with sorcery that has to do with HTML data attributes.

I’ve dabbled in other Model-View-Star frameworks (only dabbled. Never built anything noteworthy.)

None of these things are specific to Angular. They have broad applicability, and yet, I come back to Angular and everything clicks? That’s just fantastic. It proves to me that I’ve been doing nothing but putting together smaller pieces of a bigger machine. That’s what I recommend to you. If there’s something you don’t understand, find smaller portions of that thing, and use smaller facets of that thing.

It might just help you learn AngularJS (Pre 2.0. Angular 2.0 is entirely different. IT’S A MESS. Not really. Actually, I wouldn’t know. I should try it sometime.)

Don’t be afraid to spend some time doing roundabout learning. Spend time away from the thing you want to learn and instead use that energy to learn about smaller, domain-related things. Given enough time, you’ll pick it right up.

Happy learning!

Written on July 24, 2015