4 ms·
> in my (admittedly limited) experience Angular doesn't really introduce anything new If one's coding experience is limited to jQuery et al, it does introduce
by lhorie 12y ago
> in my (admittedly limited) experience Angular doesn't really introduce anything new
If one's coding experience is limited to jQuery et al, it does introduce a lot and very fast: you can't really get very far in Angular before stumbling upon IoC and services/factories, for starters. Just look at the comments for any article that talks about Angular service/factory/provider/etc to see that even the most basics of patterns are not exactly universal knowledge.
A lot of the complexity you talk about originates from other patterns. More advanced tools like parsers/formatters, interceptors, decorators are there specifically to be alternatives to procedural spaghetti code and it's hard for a lot of people to even guess that these tools exist, let alone figure out why they should (or not) use them.
To be fair, it's true that a lot of complexity is very much Angular's fault and not a lack of preparedness from developers (the directives API and the digest system come to mind).
But my point was that it's hard to find Angular devs. Around where I live, a typical non-angular frontend job pays between 60-70k (generous extrapolation from salaries of people I know) and might involve a job interview that talks about responsive design. An Angular job easily pays 90k-110k (from job interviews I've been to) and might have a job interview that talks about algorithms. Even though both are considered "frontend" jobs, the former is more likely to be filled by a self-taught person that reads html5rocks or whatever, while the latter is more likely to be filled by someone w/ a CS degree and backend experience (which, here, usually means either Java or .NET). I think we can agree that the skill sets for the two jobs don't overlap much, and the dissonance in qualifications is not merely because of the level of complexity in a tool.
> Also, this is somewhat tangential, but I'm not sure software design patterns are part of computer science
If we're going to be nitpicky and pedantic, I said knowing when and why to use them is part of a CS foundation. s/CS/software engineering/, as long you get the main idea.
- dpark 12y agoMy impression of Angular is that it makes simple things complex and that it's poorly designed and engineered. I think that it tries to do too much, and tries to be too clever, and doesn't try at all to be usable (beyond maybe trivial examples, which could still be simpler, honestly). It speaks very poorly of Angular that many (most?) people familiar with all the tools it builds on (CSS, HTML, JS) find it difficult and unpleasant to work with. It may be the case that only people with deeper engineering experience can wrangle it because they have the necessary background. It could also be that people who are used to working with friendlier tools just aren't willing to put up with Angular's crap.
- lhorie 12y agoFYI, I actually agree with you that Angular is overly complex and has a lot of serious problems. I even wrote about my gripes with it back when Angular was still somewhat "cool" (here: http://lhorie.blogspot.ca/2013/09/things-that-suck-in-angularjs.html http://lhorie.blogspot.ca/2013/09/things-that-suck-in-angula... and here: http://lhorie.blogspot.ca/2013/10/things-that-suck-in-angularjs-follow-up.html http://lhorie.blogspot.ca/2013/10/things-that-suck-in-angula... ), and last year, I wrote a micro-framework of my own to get away from the frustrations I was getting w/ Angular ( I talk about it here: http://lhorie.github.io/mithril-blog/lessons-learned-from-angular.html http://lhorie.github.io/mithril-blog/lessons-learned-from-an... ). A lot of the stuff I wrote there is still relevant.
- dpark 12y agoI didn't realize Mithril was yours. Seems nice, though I haven't used it myself. The stuff you wrote is valid. I'm just not sure that dev ability is the major factor making it harder to hire Angular devs. Maybe I'm wrong. I'm thankfully not hiring Angular devs.