6 rules for mastering AngularJS

In no particular order of importance here are some rules/tips I follow when learning new programming language/framework. I am sure they can be applied to any language, but in this post I will focus primary on AngularJS.

AngularJS learning curve can be at times steep, very steep indeed- so early last year when I was trying to pick up the framework myself these tips/rules proved to be invaluable:

  1. When you are just starting make sure you learn from many simple examples, rather than from one that’s very complicated. Good example here would be series of tutorials from egghead.io – short & focused.
  2. It is important that you try to learn in time blocks and fairly frequently – e.g. 90 minutes every day.  Back when I first started with AngularJS, taking a two weeks break from using directives proved to be too long – I usually had to start from a blank page to “get back into the zone”. On another note, in my experience if you don’t work regularly on a project that seems very exiting at first you lose your interest & motivation.
  3. Always type in all of the code examples by hand, you may be tempted to just copy/paste, but typing in yourself will help you to get familiar with the syntax quickly (especially if there are plenty special characters such as “(“, “{” , “[” etc.. ).
  4. Always try to add something from yourself in every exercise you try,  maybe add extra parameters or functionality. For example, if the example you are working on means just submitting a form (just in browser memory), you can try extend this with LocalStorage or real database (MongoDB/Restangular/MongoLabs).
  5. Share what you have already learnt with the world, every tested and working example/exercise you have done can be of a great value to other people – share your code on GitHub, JSFiddle or write a blog post – this will help others following the same path as well may help you stay motivated & engaged.
  6. If you have a big resource on a language/framework you want to master – something like a book or a video course. I aways do my best to read/watch the whole thing. You don’t have to fully understand  what is going on – but if you get stuck on something that you know was covered in the book/video you will know exactly where to look for a solution. I highly recommend ng-book, but if you have a very strong willpower documentation will be good as well.

Here is a short list of other resources I’ve found very useful:

That would be all, if you have any tips please do share with us in the comments.