AngularJs: Why I Never Should Have Hired Myself
By Spicer Matthews
I am pretty vocal about what I think makes the kind of great programmer a manager should hire. A great programer is more than someone who has computer science fundamentals under control and knows how to write lots of comments in smartly modularized code. These skills are, so to speak, merely the cost of admission. I am on the record saying that a great programmer needs to be passionate and needs to hang out with the right people.
When it comes to PHP, I meet my own criteria. I am very passionate about PHP, and I follow and hang out with the best minds in the PHP world. Before I go to bed each night I search around on Github for new and interesting PHP libraries. And I get giddy waiting to see what Phil Sturgeon and Taylor Otwell are going to do next. Until recently, however, I did none of these things in relation to Javascript—a clear sign that I was not a great Javascript programmer.
Which is why I never should have hired myself. About a year ago I Googled around looking for a new Javascript framework because Jquery just wasn’t adequate. I reviewed all of the possible candidates, including AngularJs. None appeared to meet my design goals so I came to the conclusion that Cloudmanic Labs needed to write our own Javascript framework. We ended up investing thousands of dollars worth of time to develop CloudJs, and we are pretty proud of it. But there’s a catch . . . wait for it.
Recently I began putting in extra effort to become as connected with the Javascript community as I am with the PHP community. Frankly, I wanted to start promoting CloudJs as we got closer to launching version 1.0, but also I had become pretty passionate about Javascript. While hanging out around the Javascript watercooler I kept hearing about the AngularJs framework that I had dismissed. When I finally dug into it, I realized that AngularJs and CloudJs are essentially one and the same—except that AngularJs is far more mature. And so, because there is nothing that CloudJs does better than AngularJs, Cloudmanic Labs is going to adopt AngularJs.
The upshot is that we wasted a ton of company resources recreating something that has been around since 2009. AngularJs is the future, and if I had been a great Javascript programmer I would have known that a year ago. The thing is, I did not miss AngularJs because I neglected to do any research. I missed it because I was not hanging out with the early adopters moving Javascript forward, who have known about AngularJs and all its wonder for quite awhile. I should have been learning from them—not random Google searches.
Learning that lesson the hard way fortified my belief that a big part of being a great programmer is actively engaging with other programmers. Because I do want to be a great Javascript programmer some day, I am committed to engaging. And when hiring—even myself—knowing how involved candidates are in the relevant programming communities is essential because an employee who is engaged is a lot less likely to make the same mistake I did.