In Software and Everywhere Else, Keep Learning
Nothing stays the same and rates of change vary from discipline to discipline. There are certain areas of expertise that undergo tremendous change in relatively short bursts of time compared to others. One area of accelerated change is in software development.
Even though the accelerated rate of change is more pronounced in software than other areas, it exists in each and every field. Developments in technology are driving change in all areas at an increased pace.
Due to fast paced technological developments, even classic professions that have remained virtually unchanged for centuries such as teaching in a traditional classroom are demanding that teachers adapt and embrace change in order to stay relevant.
My Experience With Jquery and VueJS
When JQuery came out just over a decade ago, it was the new kid on the block and was adopted by many companies big and small. However, web developers have found new and better ways to do what JQuery used to do and there are even more alternatives including technologies for front-end development including React, VueJS and Angular.
JQuery has fallen out of favour mainly because it directly manipulates the HTML Document Object Model, which is a treelike representation of elements on a webpage. This approach is considered to be inefficient. At the same time, JQuery also represents a way of thinking which is too far in the past.
As a result, I have started to learn a new framework, VueJS which I anticipate will replace my use of JQuery over time. A consequence of this is that I am now having to learn a new framework in order to achieve results that I relied on JQuery to achieve just recently.
Effectively, the knowledge and experience gained from my use of the JQuery framework is now useless even though a fraction of it is transferable to VueJS.
The Need To Develop A Certain Way Of Thinking
My experience with my recent and ongoing transition from JQuery in favour of VueJS has a few trinkets of lessons to be gained, one of which is the need to develop a certain way of thinking. In the modern work-space, one cannot stay complacent by thinking that the knowledge they have gained in a certain area will serve them indefinitely.
We all need to change our way of thinking when it comes to skills we develop and acquire. It is important to realize that there are certain skills that will serve you for a time and others that will see you through long-term on your career journey.
There are skills that are specific to a given area or task and then there are those that will apply across vast ranges of disciplines. In software for example, the ability to abstract from a problem and come up with a solution is independent of the tools being used.
The ability to formulate an algorithm and develop a practical software solution comes first before you can decide which tools to use. In simple terms, problem solving is a key skill that will apply across disciplines.
Whether you are a teacher or an engineer, the ability to rationally tackle problems and situations is a universal skill that will serve you well wherever you find yourself, be it the classroom or the field. This is the new kind of thinking that everyone needs to cultivate.
The Need To Specialize
Change breeds many alternatives. When people improve on the work of others, they have different opinions about what form the improvements will take hence with each incremental change, there will be more options to grapple with.
A consequence of this is that you can be tempted to do it all. To become a jack of all trades and master of none. Whilst knowing everything seems like a useful approach, it can cost you in the long run because the more you take on, the more you spread yourself thin.
In the era of accelerated change and overwhelming complexity, it is better to focus on certain areas and master them enough to become an expert of sorts in those areas. After all, no man is an island and for areas where you lack in-depth knowledge, you can always collaborate with others with expertise in those areas.
The Need To Keep Learning
I once heard that the half life of technical skills in software is 2 years. This means that the technical skills a software developer possesses at any moment will only be half as marketable in 2 years.
This is shocking and it is relatable to other professions as well and means that you cannot get too complacent in your profession. The only solution to this shocking notion is to keep learning. In other words, you cannot rely on your certificate or college degree which you earned whilst the knowledge you gained was already accelerating out of date.
What this means is that we have to be custodians of our own self-learning journey. We have to constantly update our knowledge tree in order to stay relevant. We have to keep moving in knowledge and without this kind of thinking, we will be left behind.