I often get messages from developers asking how to improve their skills or become experts in Angular. In this article, I'd like to share some insights:
- Master the fundamentals of the Web
- Read the documentation thoroughly
- Stay informed
- Work with experts
- Practice intensively
- Specialize in Angular
- Explore Angular's source code
- Be cautious with AI
- Share your knowledge
Master the fundamentals of the Web
Many developers mistakenly believe they can master a framework without understanding the basics it is built upon. To become an expert in Angular, it's crucial to have a solid understanding of web standards: HTML, CSS, and TypeScript.
There are plenty of resources available to learn HTML and TypeScript. However, CSS tends to be more intricate and challenging to master. One of the best resources I can recommend for learning CSS is the excellent book CSS in Depth by Keith J. Grant. Every Frontend developer should read it.
Read the documentation thoroughly
The most challenging part of learning a technology is knowing what you don't know and identifying what is important to learn. The best solution to this problem is to read the documentation end to end.
At first, it might seem overwhelming, and you probably won't understand everything right away. However, going through the entire documentation is still an excellent way to deepen your knowledge and identify your weak points.
This is a crucial step to complete at least once during your learning journey, especially since Angular's documentation is clear and concise.
Stay informed
The Angular framework is constantly evolving. Even though breaking changes are rare, a new version is released every six months. Therefore, it is essential to stay informed.
Read blogs such as Angular Architects or Ninja Squad. Subscribe to high-quality YouTube channels like Brian Treese, Deborah Kurata, or Decoded Frontend for more advanced content. If possible, attend conferences such as ng-conf, NG-DE, or Ng Baguette Conf.
I also recommend following Google Developer Experts in Angular on social media. These experts, recognized by Google, are a reliable and valuable source of information.
Work with experts
Confucius is often quoted as saying, "If you are the smartest person in the room, then you are in the wrong room." I'm not sure if he actually said this, but the message remains powerful.
To improve your technical skills, it's essential to surround yourself with developers who are more skilled than you. Working with experts will enable you to learn faster, avoid certain mistakes, and adopt best practices right from the start.
Practice intensively
"Practice makes perfect." This expression, present in all cultures and languages, illustrates a universal truth: the best way to learn is by doing.
Practice a lot. Practice both at work and at home. Work on concrete personal projects, as they will allow you to tackle real challenges while enjoying complete freedom in your technological choices—a flexibility often lacking in corporate projects.
Specialize in Angular
Becoming an expert requires a lot of practice. In his famous book Outliers: The Story of Success, Malcolm Gladwell claims that it takes approximately 10,000 hours of deliberate practice to achieve expertise in any field. Although this number is theoretical, it highlights an important reality: truly mastering Angular takes time, consistency, most importantly, extensive practice.
The best way to accumulate these hours of practice is to specialize. I don't believe in the myth of the Fullstack developer who is an expert at everything. In my opinion, specialization is not only preferable but also essential for achieving true excellence.
Explore Angular's source code
The Angular GitHub repository is a goldmine of information. While contributing code is ideal, it's not a requirement. However, make it a habit to browse through Angular's GitHub repository.
Reading commit messages is an especially valuable activity. It allows you to follow the framework's developments in real-time without delving too deeply into implementation details.
If you'd like to gain a deeper understanding of a specific Angular topic, I recommend reading the related source code, especially the unit tests. This is an excellent way to fully master any particular aspect of the framework.
Be cautious with AI
AI tools like ChatGPT and GitHub Copilot have become valuable resources for developers. However, it is crucial to remember that AI-generated content (answers, suggestions, code) is not always reliable. It may contain subtle mistakes, obvious errors, or outdated and inappropriate solutions.
Before relying on AI, ensure you have the expertise to analyze and assess its responses critically. Most importantly, use AI as a helpful assistant, not as your replacement.
Share your knowledge
It may seem counterintuitive, but teaching is an excellent way to learn. Explaining a concept pushes you to clarify your ideas, structure your thoughts, and, most importantly, identify and fill in your own gaps.
You don't need to become an international speaker to share your knowledge.
You can give a short presentation during a team meeting or present a topic at a meetup. You can also write a blog post if you prefer writing.
Ultimately, the method and format you choose to share don't matter much.
Regardless of your level, sharing your knowledge is a great opportunity to deepen your understanding of Angular while improving your written and verbal communication skills.
If you enjoyed this article, follow @ahasall on Twitter for more content like this.