How To Have A Successful Career As A Software Engineer, Using The Indian Model
Hello techies, welcome to another knowledge sharing, before writing this post I thought hard on how best to go about this topic that will resonate well with anyone who was willing to pursue a career as a software engineer/developer or any other tech field, I wanted it to be a bit different from the norms of telling you what language to learn first or how many hours to put in and so on and so forth.
In doing that I came about a model used by the Indians to revolutionize their technological industry from nothing to being successful, to the extent of Indians being CEOs of large tech corporations like Microsoft, Twitter, etc. And I said to myself why not write a story around this. And mostly I wanted this post to serve as a strong motivation to anyone who was thinking of trying to get into tech, to know that having a successful tech career was a possibility.
Although there are various roadmaps on how to start a career in the different tech fields, this post is not entirely about that.
So let's go...
Before reading deeper, take some time to read this speech by M.M. Kunte, in 1884 as written by Ross Bassett in his book The Technological Indian:
His speech was a remarkable piece of proselytization for a new global faith that he called “the art of mechanization”— what we would today call technology. The Marathi- language periodical, the Kesari, recounted Kunte’s speech, which had been given in English. Kunte said that if Hindustan wanted its glory to be revived, then the Hindu people needed to suspend the activities of all their religious, social, and sporting groups for a century and a quarter, and then Hindus needed “to travel from village to village, taluka to taluka, district to district and start the activities of blacksmithy with frantic haste and zeal.” His speech reached a climax: “For eradicating the undesirable and establishing the desirable in society, there is no option but to follow and spread widely the art of mechanization. If you want to eat, be a machinist. If you want to win freedom, you have to learn to be a machinist. If you want to live as luxuriously as our rulers, you have to run the machines.
Note: the machines here is what we refer to as technology today.
Now you may want to ask what is the Indian model? The Indian model of technological advancement was a model used by the Indians to advance their foray into the technology revolution to become a known force in the technological world which sees the Indian information technology industry generating billions of dollars as well as playing significant roles in Silicon Valley.
Ever wondered why more Youtube videos on software development tutorials are being made by Indians than any other nationality?
Having read a lot of books on the model used by the Indians to advance their tech revolution these were the major takeaways I felt played a huge role in the successful technological advancement of the Indians which could also be used by any individual wanting to transition into tech, the key points are:
Foresight
Planning
Motivation
Dedication
Ability to learn
Ability to teach
Honesty
Community
So let's go through these key points one after the other and see how they can be consciously practiced to have a successful career as a software engineer.
Foresight:-
This is the ability to predict or anticipate what is needed in the nearest future. In my earlier quote from the book The Technology Indian it was obvious the Indians knew technology was going to revolutionize the way mankind thinks and behaves, they knew it was going to be relevant for many many years to come and so they consciously made plans and decisions that will put them at an advantage.
This is still very much more relevant in today's career decision-making, as an individual aspiring to begin a career in tech, it will pay you more in the long run if you are able to anticipate what technology will be relevant in years to come, the tech world is a fast-pace driven environment were new technology are given birth to almost every other day while old ones die a natural death. You might be forced to ask yourself how can one anticipate the technologies that will be relevant, in say 20-30 years to come:
- Pick a software technology that has a large community, now in saying this, it is always advisable to learn the basics when starting out a career in software engineering, that way you are able to pick up any technology along the way, nevertheless learning a technology that has large community put you at an advantage because you have access to updated resources, support, and opportunities in the long run. For instance, learning technology like Javascript opens doors of opportunities for you and there is the possibility that it will be here for a very very long time.
Planning:-
The Indians had a plan to be amongst the top countries using technology as a form of advancement in this century. Actually, nothing is ever done without planning be it good or bad, this same principle also applies to having a successful career as a software engineer.
Where do you see yourself in the next 5 to 10 years as a software engineer, do you want to work for large tech companies or own a tech start-up yourself, document this plan and let it serves as a reminder when you look at them.
Planning could also come in the form of documenting your progress daily, weekly, monthly, etc. to hold yourself accountable as you progress on your journey to becoming a world-class software engineer, it could also be planning to go to a physical software engineering Bootcamp, or attend one online, what technology to learn first, this should all be put into planning when making decisions.
Motivation:-
The Indians were motivated by taking people out of poverty and becoming a technology-driven society.
You can also apply this principle when trying to become a software engineer, look for that thing that strongly motivates you, it could be you want to transition from your current job into tech, or wanting to earn more money than you are earning right now, it could also be learning tech skills to start your own company, it could be anything, but as long as it's strong enough to keep you awake late into the night to study then hold onto it because there will be days when you feel like quitting, thinking you are not good enough or even smart enough to learn and be good when that day comes, cause it's going to come the only thing that you will hold on to is your motivation.
Dedication:-
In your journey to having a successful career as a software engineer you are going to be committed, it is never going to be easy, but if you trust the process and are committed enough to put in the work then success will definitely come, for it is easier to begin a thing but unwavering commitment is what keeps a thing going.
Ability to learn:-
learning is a big part of the life of a software engineer, and it's one principle you should embrace as an aspiring software engineer, as new technologies are being written out daily and to be relevant you should be able to learn and unlearn and keep learning.
But in learning you should be able to learn the right way, there is a right way and wrong way to learn, for me learning how to learn should be one of the first things you do as an aspiring software engineer, and I strongly advise taking a Coursera course by Barbara Oak Learning how to Learn.
Ability to teach:-
just like having the ability to learn is an important skill, the ability to teach is also a valuable skill to have, as you learn more when you put into teaching whatever information you have.
When you teach what you learn it makes that knowledge stick and there is this feeling of satisfaction that comes with sharing your knowledge, it gets you prepared.
Honesty:-
there is one reason why Indians are being made CEOs of large tech companies, aside from the fact of competency there is also the factor of honesty, in your journey to having a successful career as a software engineer, competency will take you as far as you go but being honesty will keep you in the industry.
No matter how much of a great developer you are nobody will recommend or do business with you if you are seen as a dishonest fellow.
Having said that, honesty could also come in the form of you being honest with yourself and knowing where your strengths lie as well as your weakness which will help you to maximize your strengths and work on your weaknesses. We all have our strengths and weaknesses but the ability to recognize and accept this differentiates a successful software engineer from an average one.
Community:-
This is also one principle the Indians have been doing successfully being around each other and growing together.
There is a story about an eaglet who was raised in the midst of chickens which made it impossible for the eaglet to fly because it started to see itself as a chicken not knowing she had the ability to soar above mountains, this story teaches us the fellowship of being with the right community, in your journey to becoming a successful software engineer you are going to need the community and I must confess the tech community is one of the most helpful community you can be in as an up-coming software engineer, get out there and join a community help people and learn from people.
Alright, folks, this will be all for this post, I hope you find this post helpful as you start a career to becoming a successful software engineer.
Until my next post, keep learning and keep winning.