AngularJS is driving a lot of freelance work

Matthew Nuzum —  — 5 Comments

Like it or not, if you’re not writing apps with AngularJS, you’re not getting much freelance work. This is sad news for a few reasons, but maybe not the reason you’re thinking.

I like to keep my finger on the pulse of what skills are in demand. I do this because I help coordinate training events and part of that is deciding what topics we’ll present. A few good ways to do that are to keep an eye on the job boards and freelance websites. It’s no surprise that job boards are still overwhelmed with work in the typical enterprise topics. Java, C#, Ops, etc. UX is getting more prominence, which makes me feel good (that’s my main job function these days).

The freelance websites are showing a different trend. There, AngularJS is blowing up. Many of the front-end development jobs specify AngularJS as a requirement.

What I find most discouraging about this is that client’s are hiring people for a technology. I strongly prefer potential customers to come to me with a problem, not a solution. What I like to hear is, “Hey Matt, can you help be build a tool that will do X and Y?” I say, “Yeah, sure, considering your needs, I think we should use Z to get that done.”

Instead, people are saying, “Hey, we need you to come write an AngularJS app.” What problem are they trying to solve? Apparently they don’t have enough AngularJS apps.

Another problem with AngularJS is that it is about to go through a state of major churn. Before 2015 is out, expect to hear news that a major new revision to Angular will be released that is backwards incompatible. This is a good thing and a bad thing. A lot of great front-end people are concerned with AngularJS’s architectural decisions. There are some well thought out, well reasoned discussions on this. Here’s one to get you started. A rewrite is needed. But that means all the code you write today will be obsolete. Ouch.

I’ve been doing web development for about 15 years now and I’ve seen trends come and go. My gut tells me to use some caution with AngularJS. I recently had a discussion with a colleague and was describing the problems of getting AngularJS working with Polymer, the reference implementation of Web Components. He made the off-hand comment that they were both Google products and should work together.

Yes, in case you hadn’t heard, both Polymer and AngularJS are built by Google employees. And yes, you heard correctly, they don’t work together nicely. Here’s the interesting thing: At Google I/O the presenters have been selling Web Components pretty hard. In 2012, 2013 and 2014 they all had prominent mention. Angular, on the other hand, hasn’t been mentioned. In 2013 I attended a hands-on lab for web components that they offered, in 2014 there were 5 web components or Polymer tutorials. Google released a set of web components sculpted to match their Material UI guidelines.

After reading that last paragraph, answer this question: Between AngularJS and Web Components, two technologies that don’t play well together, which do you think Google is more committed to? To me, it sounds like they’re behind Web Components.

Now we come to the crux of the problem. Many great devs are steering away from AngularJS. Google is steering people towards a technology that is incompatible with AngularJS. The Angular development team is about to make all the AngularJS code you write obsolete.

But clients all want you to write AngularJS apps for them. Now. As in, right now.

So what do you do? Here are a couple options:

  • Just say yes. Follow the money. You want Angular? You get Angular.
  • Just say no. Don’t take the work. Fight over the other stuff.
  • Steer clients towards being open to alternative technologies. “Sure, I can write you an AngularJS app, tell me what our goal is… Ah, we can certainly do that with AngularJS, but let me tell you about another way that may work out better for you in the long run…”
  • Say yes but use React instead. (or whatever framework you like) When they ask, just tell them you used AngularJS and hope they don’t notice
  • Other suggestions are welcome

I’d say, if you’re actively looking for freelance work, your safest bet is to invest some time in AngularJS now, but keeping your eye down the pipe so that you’re ready for what’s next. My prediction: ES6, React, Browersify and possibly Ember 2 when it launches.

If it helped, please share!Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+

Matthew Nuzum

Posts Twitter Facebook

Web guy, big thinker, loves to talk and write. Front end web, mobile and UX developer for John Deere ISG. My projects: @dsmwebgeeks @tekrs @squaretap ✝
  • ejunker

    Great post! This reminds me of the story of VHS vs BetaMax. BetaMax had superior technology but didn’t win in the long run. I feel the same may happen with Angular and Ember. I’m sure a big part of Angular’s popularity is due to people assuming that if it is made by Google that it must be good. So yes, if you are a freelancer you have to go where the money is and right now that appears to be with AngularJS.

    From a merely technological perspective I would put Ember at the top of the list of things to invest time in especially if you want a more comprehensive framework. React is focused on just the View in MVC and the main innovation that it has is virtual-dom diffing which Ember will be adding to future versions.

    And if you want to use ES6 and ES6 modules, you can do that now with Ember CLI http://www.ember-cli.com/ I feel that the Ember team has put a lot of time thinking about their architecture and they are focused on making a framework that you can build long lived stable apps on that will be easy to upgrade to new versions of the framework.

    If you want to use Web Components then Ember should make that easy because Ember components follow very closely to the Web Component specification and should be easy to migrate to the W3C standard when browsers support it.

    Finally, I’m interested to see what type of adoption the newly announced Aurelia framework http://aurelia.io/ gets. It was started by a former AngularJS team member that didn’t like the direction it was headed so he made a new framework.

    • Nikos

      Defo recommend ember! Its fab.

    • David Moody

      +1 aurelia

      • mbokil

        I like Aurelia better than Angular but… most of the enterprise customers I work with have already written a lot of apps in Angular so instead I have tried to tighten the process using standards like UI Router for routing with multiple controllers and plenty of factory functions to make the code more modular. Problem I see is there is a reasonable learning curve before you understand how all that fits together well. If you know Angular well it is great for contracting!

    • Jared Thirsk

      I dabbled in Angular 1.3 and am learning Aurelia and the learning curve seems much lower as the framework is designed to get out of the way and built around ES6 syntax, and convention over configuration/code. It makes me less afraid to hire an Angular (or other framework) freelancer on an Aurelia project.