- You never want to edit the DOM manually unless you absolutely have to; use the provided helper 'directives' and methods which will give you the most optimum way to do it
- Architecture your applications well; AngularJS uses a MVC architecture to separate the various business logic components of your application. Show the user something? Use a view container. Want to manage your information? Write a model. Need interactivity? Define that stuff in a controller. To share data around various modules in the application, and to retrieve data from other sources, you'll want to use services.
- Use Stack Overflow lots, and don't be afraid to get your hands dirty in code along the way. AngularJS is, unfortunately, a poorly documented framework, and it'll take a long time to 'get it'.
- If you want to get a good idea of how an Angular application should be organised, you can take a look at Angular Seed and Angular RequireJS Seed; they provide two common methods of handling the many many lines of code you will write in your app
As part of my Business Requirements Modelling class at university, I decided to write a small web application that you can create user story maps out of, based on AngularJS seed. It won't beat Atlassian's JIRA by any means, but it's free and relatively easy to use. Check it out.
It's hard to explain precisely how cool AngularJS really is. It's a well thought out framework that has a host of little gems that you come to appreciate one by one. I'm sure I'll write more about it in the future.