Future-Proof Your Career with the Right Attitude and Willingness to Learn
A belief that work is a craft, workers being craftsmen, and an undying eagerness to learn new languages, tools will stand one in good stead
Despite the huge number of benefits that automation brings to organizations, it has also created a great deal of uncertainty and fear of redundancy for technology workers.
Reports suggest that by 2021, four out of every ten jobs globally would be lost because of automation. According to a Nasscom report, nearly half of the 4 million IT workforce is likely to be irrelevant in the next three-four years - undoubtedly a scary proposition.
New Jobs in the Offing
But the good news is that while the technology revolution will take away some jobs, it will also create many new jobs. The IT sector could add about 1.5 lakh jobs during financial year 2018 as per Nasscom, which has identified cyber security and data analytics as the two major areas of job creation in the future.
There could be considerable demand in areas such as AI, data sciences, design thinking, Data Analytics, Block Chain and Machine Learning.
This has created has created an urgent need for the IT workforce to reskill themselves to cater to the changing industry demands. This is critical if they hope to remain relevant in the future knowledge economy.
But while we are in a period of unprecedented changes, some things have remained constant:
No matter how great a programmer you are, there are some basic values -- humility, respect, communication skills, simplicity of thought, ability to take feedback etc. that organizations highly value. Attitude matters too. Companies like ours encourage our people to be 'pragmatic programmers.' This means developing attributes such as:
- Belief that our work is a craft and that we need to be like craftsmen (Simply put, caring for your work)
- Eagerness to always learn new languages, tools, techniques and methods
- Understanding that change is inevitable
- Awareness of what and why
- Understand the overall process rather than just discrete activities
Getting Basics Right
No matter what you choose to specialize in, understand the foundations of computer science. This means garnering deep knowledge of core data structures, Algorithms; understanding of basic networking concepts; in-depth knowledge of operating systems; Object Oriented concepts and most importantly, application of all these in designing modern software systems.
Another basic aspect is coding skills. Learn to be an ace coder by developing attributes such as clarity in thought (which should reflect in code), continuous practice, understanding of legacy systems etc.
Your motto should be to 'always learn.' It's quite amazing how learning multiple programming languages and paradigms can widen your thought process. Rather than taking a formulaic approach, see if you can try something new.
You can either choose to be a Generalist Programmer or a specialist. We've seen a recent trend of 'Full-Stack' developers working on backend and frontend. This might soon become the norm. Understanding the end-to-end process and being able to execute it is a valuable skill. Of course, that doesn't mean you shouldn't specialize. Specializing is part of being a craftsman. However, being a specialist does not mean that you get to skip the end to end aspects.
To sum up, technology may be changing at a scorching pace, but the right attitude and willingness to learn the right skills will hold you in good stead.