Why I decided to build my MVP in Angular rather than React or Vue
Yesterday I reached a personal and project milestone — I completed a progressive web app from beginning to end with payment and authentication integrations. It’s the first app in years that I’ve made from scratch. Since then, Angular has morphed and transformed into something so very different from what I started with.
5 years ago, at the ripe old age of 24, I landed myself in the IT department of a startup by accident. The boss had plans for me to be in marketing — but after displaying my obsessive nature towards trying to fix up the WordPress side of their website, I found myself in the deep end of REST APIs, interface designs, Java Spring and the OG version of Angular.js.
Fast forward 5 years later, that journey led me down a path that took me further away from my original joys. A few promotions, late nights and a merger, I ended up as the company’s tech team leader in less than 2 years. But with the promotion came sacrifices — I lost the time to learn.
The Red Queen’s Race
the Red Queen effect, is an evolutionary hypothesis which proposes that organisms must constantly adapt, evolve, and proliferate not merely to gain reproductive advantage, but also simply to survive while pitted against ever-evolving opposing organisms in a constantly changing environment. — Wikipedia
When you have a career in tech, you’re constantly playing the Red Queen’s Race. You have to keep running to stay in the same place — or risk dropping off the map because you’re not up to date.
While the initial 2 years of intense focus on creating gave me the initial push to be a better coder, the ensuing 3 years of office politics management took away whatever gains I had.
When I became team leader, I did a lot less coding. It was the price of moving up the ranks. I was spending more time on things I didn’t exactly enjoy — mostly putting out fires and playing the code janitor.
During that time, Angular 2 came out and it looked nothing like the original Angular I worked hard at mastering. React was climbing up the ranks in popularity and Vue was right there next to it.
After the company closed its doors and I became jobless, I found myself looking at my outdated skills and began to panic.
Wise words from Grand Master Bo
When I started my journey as a developer, the company hired a guy in his early 30s from China named Bo. He was tall and lanky with black rimmed glasses. His English was not the greatest but his efforts to communicate made him a lovable character. He could solve anything. In the eyes of us juniors and the boss, Bo was a tech god.
During that time, I was obsessively trying to learn everything I could about everything. Bo, however, just sat back and watched. Sometimes he would pipe up and show some interest in what I was doing — but most of the time, he just let me be.
Then one late deployment night, I was showing him the latest thing I learned and he shook his head.
“It’s all the same,” he said. “Everything is all the same, just different. You need to learn one thing and you can do everything.”
In his grand wisdom, I didn’t understand his words until the last few months.
All tech is the same
All tech is the same. At the most basic level, there are the loops, functions, and other building blocks of logic. Then there’s the syntax and structure. When you learn a new language, that’s what you generally learn. Mastery of a programming language is the marriage between learning how to write the logic you want in the way the language requires it.
When you’re new, you’re trying to learn both things at once.
When you’re a seasoned developer, picking up a new language is a lot easier because you’ve already got the necessary knowledge for the first part. They’re the people that make coding look like hackers in a Hollywood movie.
My former junior team members have been trying to get me to look at React in the past few months. I did as requested and made it as far as implementing an auth system integration.
But then I stopped.
Not because I didn’t like React but because Bo’s word of wisdom came back to me. He got his master coder god-like status because he took the time to just focus on his craft and get really good at it. I, on the other hand, had nothing in the way of a single mastery.
Angular 1 was close to it but that’s almost irrelevant now. Angular 2 onward is like when Apple released Swift in 2014 — people’s entire careers and life stories went down the drain and everyone had to start again.
The people that thrive are the ones that select a path and stick to it — especially when it comes to tech, contrary to popular belief that you have to be a jack of all trades unicorn.
When you master a language beyond the usual shopping list app, the demand for your services goes up. You learn the kinks, know the errors and how to fix them. You’re more efficient and therefore less costly for whoever is hiring you. You become more employable than the person that has all the current trends listed on their résumé but know jack about them. There is a lot of mediocre developers at the lower tiers but it takes dedication and sticking it out to climb the skills rank.
And that’s where I want to be — at the top of my chosen field.
Where to from now?
The first app is completed — well, the big parts. Last night, there was a moment of intense pride as I took a step back and looked at my creation. It felt like I just finished building a house and all that’s left is the cleanup. I still have to run the vacuum through and put in the furnishings before the launch and house tours.
Apart from that, it’s done.
I’ve got a list of things that will help me increase my mastery levels and more Angular projects and additional features in the future. But first, I need to fully finish and launch my first MVP. I’ll probably pick up a few more skills like marketing along the way, but Angular will always be my priority from now on.
So for now, I’m saying no to React and Vue. There’s no use for me to jump around watering a million different lawns when I can make my little plot of grass flourish into a forest.