Learning Angular: Slow is Smooth and Smooth is Fast

I’m writing because I’m having a monstrous anxiety attack (or at least the closest I’ve had to one). Three days ago I purchased this course to learn Angular: Angular 8, the Complete Guide. It’s an extremely in-depth course by an excellent teacher: Maximilian Schwarzmuller. I decided to learn Angular because a friend that is helping me in my code journey is an Angular specialist. So, not only I have the opportunity to learn in person from someone that already knows it really well, but I also have the chance to ask for help when I inevitably have questions – which I’ve probably been doing too much, sorry Chris. 😀

However I spent these three days in front of my laptop feeling like an absolute idiot. Actually, in the first day, when I was just creating the components and learning some basic functionalities for the application I was creating in the course project – a very dynamic recipe book – I felt good about my progress.

However, as soon as the Databinding part started, where we learn how to share data amongst components, things got a little bit darker. I quickly realised that if I even flinched I would miss an important piece of information. Maximilian teaches at a good pace, but for someone that has been developing for as little as six months like me, there was no way I was going to follow along without stopping every five seconds to process what he was saying. That experience – along with a few articles I’ve recently read about how to learn code – showed me how important it is not to rush things and try to process every bit of code that’s being written before moving to the next part. “Slow is Smooth and Smooth is Fast”, as someone once said.

“Slow is Smooth and Smooth is Fast”

Unknown

But having a lot of time in my hands during my break from work, of course I pushed through and moved on to the next section, the “Directives”, which are attributes for DOM manipulation. Having recently learned how to manipulate the DOM using Vanilla Javascript I was feeling that in Angular I had to use 10 steps as many as I have to use in JS to achieve the same thing. And then I started thinking: “What’s the point?”. I could be doing the same thing with JS in a much easier way. That’s when I got up from my chair consumed with anxiety, as frustrated as I’ve ever been in my short developer career.

What saved me was finding this thread on Quora: Is It Me Or Angular Is Just Too Hard?. It’s a very interesting discussion amongst experienced developers about the pros and cons of working with angular. This particular part instantly decreased my anxiety:

But, I really don’t like Angular. I don’t feel productive in Angular. I feel I fight Angular more than it helps me. It feels overly complicated. To compare to another environment it would be as if I’m forced to pick up C# ( generally easy language to learn) but then have to use every advanced C# practices to just get a simple “hello world” going.

Expect a learning curve of at least a month or two. I confess I’m not the fastest learner because I’m one who needs to have a deep understanding of a framework before I feel comfortable using it. I feel for any new JavaScript developer who picks up Angular. 

Andy Jarrell

Suddenly I wasn’t feeling stupid anymore. But after reading the rest of the thread I understood that the learning curve is very steep because basically we’re learning how to build very complex applications with functionalities I don’t even know yet and elegantly solving problems I never came across. It’s like learning how to build an enormous foundation for a huge sky-scrapper with state-of-the art technology while only knowing how to build a wooden hut on top of it.

Well, apparently I’ll have to grow into Angular. It sounds like a good plan to me to dive into a very complex piece of technology that will open many doors in the future instead of sticking to easy-to-learn frameworks/APIs that anyone will be able to pick up very quickly. And even if Angular is abandoned and not used at some point in time, which I don’t think it will happen, it will teach me a lot about how to learn, how to manage my time and general concepts of computer programming/web development.

At the same time, the last few days taught me a lot about how I easily get distracted by the web. Often times I catch myself opening tabs with articles totally unrelated to coding and obviously – as I think most people – in the whirlwind of social media apps. I will have to tackle that. But that’s subject for another post.

I’m ready to embark in the Angular adventure. I’ll just manage my expectations and go slowly. Way more slowly than I previously planned. And because I need to increase my portfolio relatively quickly, I plan to keep building websites on the side, using less complex technologies.

I’m excited to see where this approach will take me.

Leave a Comment

Your email address will not be published. Required fields are marked *