DEV Community

Cover image for ng-learn: How to Become An Angular Expert
ng-conf
ng-conf

Posted on

ng-learn: How to Become An Angular Expert

Maria Korneeva | ng-conf | Sep 2020

A black sketch style drawing of three small pile of books, one book is open between them. The book on top of one pile has the Angular logo on the cover and a fabric bookmark peeking out of the pages. The bottom book of another pile has the word

Once I settled to become a frontend developer, I wanted to be a good one. To become an expert, you need to gain the knowledge. To have the knowledge, you have to learn and practice. So, how does it usually start? You pick up a new framework, follow a couple of tutorials, build a couple of demos — your learning curve sky-rockets. You know, what happens next? Once you get familiar with the framework’s logic, the learning pace slows down. Now, instead of learning overall concepts and approaches, you make progress just when something does not work as expected. So the question is, how to keep learning?

I’m going to share my experience with you about how I continued to learn after that initial learning curve. I might mention some podcasts, mailing lists etc., but none of them is my recommendation for you. I care more about the process than the content. So, it is more important that after reading this text you will find your podcasts, mailing lists, or further resources for yourself. Though I explicitly mention Angular, you can use my tips for any kind of frontend or backend or any tech topics.


A black and white sketch styled picture of a stick figure girl with short hair and a large smile. She has her arms crossed over her chest. There is a thought bubble, and in that is the same girl. In her thoughts she's wearing a fancy hat with the Angular logo and has a hand tucked into her jacket lapel.

Let’s start with the problem statement. Here is Maria. Maria wants to become an Angular guru NOW! She could binge-watch tutorials and spend a week or two reading professional articles 10 hours a day if she only could see the result immediately. The problem is, that it does not work this way (yet). The key to success lies in consistency and regular effort. But how to come to this path of enlightenment? Let’s have a look at the main idea.

Whenever you work on your professional or private projects, you progress in incident-based learning. One might go very deep on a specific use case without having an overarching understanding of the underlying principles. The opposite (or rather complementary) way is the concept-based learning — looking at the topic from the bird-perspective. While specific implementation details are shot-lived, the understanding of framework concepts usually survives several (minor) versions. To progress as a developer, you need both — enough practical learning (e.g. from bug fixing) and enough theory to avoid similar pitfalls in the future. So, we need to maximize our information inflow, keep it stable and overcome the instant gratification monkey. Here are some tips.

Put it on your daily/regular To-Do list

A black and white sketch style picture of an elephant holding a pen in its trunk. There is a paper list in front of the elephant containing three list items, each with a checkmark box. The first says

Having a to-do list might be an obvious suggestion. Nevertheless, let’s briefly touch upon it. You probably already know that the elephant should be eaten in steaks. In other words, the huge mission of becoming an Angular guru should be split into easy-to-manage learning tasks. Do not put “learn Angular” on your list, but put “watch tutorial XYZ” instead. Start with a very small step to trick your lazy mind — something like “open the website in the browser”, “find a good course to follow”, “write down the action plan” etc.

And now, how to achieve consistency? Have a look at the concept of no zero days: every single day brings you closer to your goal if you make even the tiniest progress. I have a daily task called “education” in my to-do list. It comprises the following items: “reading 1 article from my list”, “watching 1 video from my list”, “listening to 1 podcast episode”, “searching for frontend community events”. To check the task as “done”, I need to finish at least one of them — daily sense of accomplishment guaranteed. You can drive it even further by establishing a habit through your own reward system. For this, check out The Power of Habit by Charles Duhigg.

Another task that I have on my monthly To-Do list is to answer at least 1 question on stackoverflow. It gives me some karma points and increases my use-case-based learning chances. Every Monday I have a “twitter update” task. It puts me under the pressure of analyzing what I have learned so far or which of my daily Angular experiences are worth sharing with others. To sum up — app reminders and public pressure will help your keep going.

Be a reading / watching web crawler

The reading list or the list of tutorials, conference talks etc. is the foundation of concept-based learning. To keep the inflow of information steady, be just like a web crawler: when you “process” one of the items on your list, check links and concepts that they refer to. If the linked resource sounds interesting, add it to your list. The clue here is to keep updating the list as regularly as possible. For example, my To-Do app allows me to add links from Twitter or LinkedIn as tasks without leaving the social network. The hurdle of opening the article is smaller if the task is clickable and redirects to the resource.

A black and white sketched style drawing of a stick figure girl with short hair walking across the image. Beneath her are four pages, one has an arrow leading to another, and that has two arrows each leading to one page.

It is also possible to keep the reading list on the blogging platform of your choice. Here are some examples that have tons of articles on Angular:

For further blogs and even more input, check out and chose your favourites yourself from ‘Top 43 Angular websites and influencers’ or the verified education list from Angular. The drawback is that you might end up with 2–3–4 lists on different platforms.

Mailing lists are another source of Angular insights. There is an old saying: “If the mountain will not go to the man, then the man must go to the mountain”. So if I do not personally check for the most recent articles myself, then I should have the must-reads delivered to my inbox automatically. Such emails serve as a reminder for my learning goals and as an input source for my reading list (remember, be like a web crawler!). Yet, chose wisely, which topics you would like to follow… As of now, I am getting digests from (Angular + overall frontend focus):

You can also go for further product-specific lists (e.g. Cypress, NX etc.).

When there is no time for reading…start listening to podcasts. I am not a podcasts person, but maybe, you are? A friend of mine listens to podcasts when doing the dishes, another one when jogging. Maybe, you can listen to an episode, when driving home? A quick search for the keyword “Angular” on Spotify gives around 10 matches, even more for broader terms (“JS”, “JavaScript”, “Frontend”, “Web Dev” etc.). Apple Podcasts is a good source, too. Insider tip: check if blog authors have a podcast, like Minko Gechev (and vice versa — if the podcast authors have a twitter account). One really great podcast worth checking out is The Angular Show.

Besides articles, books, or podcasts, you can learn from other people! That is why one of my daily tasks encompasses searching for new events — check out LinkedIn, Xing, This Dot, Mozilla, list of conferences or Angular MeetUps for that. Due to COVID-19, more and more MeetUps go online so that you can join from anywhere! Many of them are being recorded and can be watched later on YouTube, so it is definitely worth it to search for such channels. Some examples include:

Create your learning bubble

Being in a bubble is generally not good. I don’t want to only see only the content that I going to hit the “like” button for and get even more of it (vicious circle!). The “learning bubble” I’m talking about is different. I see it as a mind hack to maximize information on Angular that I get. If I spend plenty of time on Facebook, I make sure that my newsfeed has some learning potential. For example, I follow Dev Community to get some posts on frontend topics (including Angular) and have joined some similar groups. Here are some further ideas:

  • Follow people on Twitter that post Angular content
  • Check “who to follow” suggestions for the keyword “Angular”
  • Search for authors of the articles from your reading/watching list, speakers from conferences, tutors, peer developers (just like web crawler, huh?). Check their posts before subscribing, though —the keyword does not always guarantee tech-only content.

Once you get it all settled —let’s customize! The learning bubble only works if the information you get is valuable and relevant. Like, follow, unfollow, hide content, unsubscribe from unuseful lists, show less irrelevant content, let the recommender system learn from your feedback— design your own learning bubble and make it inescapable!

And now — what to do with all the input?

The best way to turn information into knowledge is to create new things using it (side projects, blog posts, twits). Even better — to expose it to the wider audience. This is exactly what Shawn Wang underlines in his brilliant essay “Learn in public” (I am not going to repeat his suggestions here). Create some mind maps to structure your knowledge and share it with your colleagues. Illustrate some articles on Angular that you liked and post it on social networks. Process and output it.

That’s it. The final words:

this.informationStream$.pipe(
   shareReplay(1);
   ).subscribe(
      (input) => {
         this.doDiscipline(habit, reward);
         const referredInput = this.process(input);
         this.informationStream$.next(referredInput);
      }
);
Enter fullscreen mode Exit fullscreen mode

Learning is not a one-time action, it’s a system!

ng-conf: The Musical is coming

ng-conf: The Musical is a two-day conference from the ng-conf folks coming on April 22nd & 23rd, 2021. Check it out at ng-conf.org


[Disclaimer: did I miss something / is something not quite correct? Please let me and other readers know AND provide missing/relevant/correct information in your comments — help other readers (and the author) to get it straight! a.k.a. #learningbysharing]

Thanks to Rogelio Flores Zubillaga.

Top comments (0)