… while practicing front-end development
In today’s world, new technologies and tools appear every day and this is no different to front-end development. Let me show you how complex the front-end development ecosystem became.
“Technology, like art, is a soaring exercise of the human imagination”
As it stands now you have a lot of libraries or frameworks to choose from, top 3 most popular being Angular, React and Vue. If you create an app using Angular 5, you firstly have to learn TypeScript. Once this is accomplished then you have to use SystemJS (dynamic js module loader) in order to import dependencies like RxJS Observable library. Overwhelmed? If not yet, let me remind you that you have to consider a compiler and in the end a bundler (Rollup or Webpack). All these – to put all your code and dependencies in just one .js file.
All these tools and libraries just cover the basics, there are many more out there. To be highly effective in our roles we need to use all the new tools and libraries.
In a fast-moving environment, how do we keep up?
The simple answer is that we have to use learning strategies that help us embrace and assimilate new knowledge and skills. I will now talk about two approaches that helped me in the quest of picking up front-end development.
Overcome Your “Reptilian Brain”
a. Be aware of your “Reptilian Brain” instincts
The first thing that we have to do in order to increase our learning capabilities and problem-solving skills is adjusting our attitude by trying to control our old brain. Reptilian brain is a term that describes the most primitive part of our brain. It is responsible for ensuring survival by reacting to a perceived threat quickly and in an automatic way.
Today’s modern world offers a safe environment. Because of that, our reptilian brain adapted in making snap judgements. Instead of choosing to use the newest technologies, we choose the old ones. These are the ones that we know and we are familiar with. This is called “Resistance” and it’s our brain reaction when we are doing something new. Even if we cannot completely eliminate it we can learn to tone it down.
For instance, trying to choose between Angular, React or Vue.js, for a new project becomes a challenging job. You will try to find all the details that should help you choose the right one. Even after you’ve decided, the results will never be good enough for you. This is the result of your reptilian brain actions.
b. Techniques to apply in order to avoid being influenced by the “resistance“
In order to avoid being influenced by the resistance, you can apply the following techniques:
Act and Reflect – start working on a small demo app using Angular 5. Starting something will push you to continue. It is because of the feeling you get when you finally complete a project, albeit a small demo.
Accept failure – treat failure as being part of the learning process. If Angular seems too heavy for your application, stop and look at React. Accept failure and don’t focus on making excuses in the process. Even if Angular wasn’t the right choice, you already gained useful knowledge for your future projects.
Keep in mind that work experience is cheap to acquire, you only need time. Gaining skills is harder but it only requires hard work and a lot of people do it. Having a healthy attitude is even harder to grow, your reptilian brain will never cease to act. Being aware of its faults will help you in your career and personal life.
Apply “First Principles” thinking
Every application that you see and use can be created by you. Using a new front-end development technology seems complicated and difficult. The main reason for this is the fact that we are not always focused on understanding. We treat frameworks and libraries as users, not as programmers.
“First Principles” thinking is the process of breaking down to fundamentals complicated problems. In our case is breaking down new frameworks, without assuming anything and developing new solutions based on these fundamentals.
Without having a firm grasp of the basics, there is little to no chance of mastering all the details involved in using new frameworks and libraries to their full potential.
Let’s take the following example. If you used .Net technologies to build web applications, then you already have some fundamental concepts that you’re used to. The best approach when learning how to build a new web app using NodeJs instead of .Net, will be to map your existing .Net concepts to a correspondent from NodeJs. For example, IIS (.Net web hosting server) is replaced by Node.exe. Most common languages used in .Net are C# and VB whilst in Angular you will use TypeScript.
I leave you with a presentation about TypeScript. Writing in TypeScript will be something that you’ll have to do if you want to create an interactive front-end application using either Angular, Vue or React. You have to understand the foundation and add to it, one framework or library at a time.
There is much that we have to understand in this industry, most of it we can implement by ourselves. Remember, the ability to understand and use things faster is a competitive advantage in this time and age.