Ten advices for beginner frontend developers
Dedicated for those who already have some experience in frontend development and would like some guidance what to concentrate on when digging deeper.
1. Become a master in ES6 methods
Strive to become a master in using these array methods: map, filter, reduce, concat, every, some; and object methods: Object.keys, Object.entries, Object.values methods. These are the core building blocks of functional programming. Also use other ES6 functionality such as spread, destruct, optional chaining and many more to be more productive (not because they are fashionable).
2. Code your projects only in typescript
I don’t understand how people work without typescript, especially on big projets. It is a life saver and the earlier you’ll start to work with it, the sooner you’ll get comfortable with it. Your final goal is to make every single peace of your code type safe.
3. Learn and apply in your code functional programming principles
Declarative code, pure functions, side effects, immutable data.
4. Which framework to learn first?
From all the frameworks, React forces developers to use most of functional programming principles and is one of the easiest to learn. It also plays very well with typescript.
5. Learn redux in-depth
Very good redux tutorial: https://egghead.io/courses/getting-started-with-redux (may require registration to watch, but should be free). Keep track on other possible state management solutions.
6. Start writing unit tests, mainly for pure functions.
It takes time and effort in order to start writing test in a correct way (especially for more complex pieces of software). But don’t just write tests for everything. Start with pure functions.
7. Understand event loop well
Very good video: https://www.youtube.com/watch?v=8aGhZQkoFbQ
8. Learn reactive programming
It is similar to declarative code, because you declare how you want to react to data changes, instead of imperatively changing state by yourself when data changes (which is error prone).
Main player in reactive programming is observables. Easiest way to practice working with them is probably using Angular (possibly with ngrx-store). But first you should watch tones of tutorials and understand how they work and what benefits they give.
This is a pretty good introduction: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754.
Look for more tutorials/articles of André Staltz. He is promoter of reactive programming. His framework https://cycle.js.org/ is perfect example how reactive programming allows to code practically without side effects (which is the main source of bugs in real world). Great video: https://www.youtube.com/watch?v=uNZnftSksYg
9. Seek to work with dedicated and experienced frontend developers
It is not best for your career if you are the only dedicated frontend developer in the team. The road to to perfection will be longer and more zigzaging.
10. Stay up to date
Subscribe to https://javascriptweekly.com/. This is enough to stay up to date with latest technologies and trends.