In this article, I am going to write my thought about how to become a successful software professional.
Till few years back (and even now?), software industry was one of the most lucrative industry to get job in and in general software professionals were getting more respect, money and value in the society than other industry professionals. However, recent down turn in the economy has changed this a bit but not completely. Still software professionals are rocking wherever they are and flourishing in their career and life.
As I am also a software professional and have served this industry for more than 10 years, I am going to write down my thought on how to become a good software professional.
What is the success mantra to become a software professional?
Nothing ! Just be a good human being and behave naturally ;)
Yes, I felt so. Before we go into in-depth analysis of how, what and why etc. Lets understand what is expected from a software professional in the company. Any employer expect their employees to be knowledgeable, loyal, attentive and smart so that they get most out of you. If you have all these, probably you will be the last person to get fired from the company even in the absurd situation.
Knowledge comes by reading or by experiencing. Unfortunately, its not a tablet that someone will give you and you drink with water and you are knowledgeable :). So start reading, read as much as you can. Whatever you are reading, practice them. Practice them really hard (no copy-paste, write the code with your own hand). Without practice, no one can remember what they have learnt. Even parrot practices what is told to keep it telling every time.
Google is my friend, isn't it?
Many folks can argue that with the help of google you can do everything, no need to remember or practice. Its funny and not true. Remember that google gives you search result based on the keyword you enter. To write keywords google understand, you should be knowing about what exactly your problem is. Even to understand what problem you are facing you should have knowledge about it. Otherwise, you are looking for Apple and Banana will come and you will keep hitting your head on the monitor to look for Apple.
Remember the quote "God helps those who help themselves". So you consider Google as God, it will only help you when you help yourself (have certain level of knowledge about the subject and the problem). Even if you have found the solution in Google, you will face really tough time implementing it in your project if you do not have knowledge about the subject. As every application is unique and exact code that suits your application is near to impossible to get by googling. So keep reading, practising and sharing.
I do not like reading, what should I do?
Look for other industry jobs! Software industry is not for you. Go and do farming
or go to any other industry but I can bet you will not be happy there also. The world is changing so fast that every industry is changing. "Change is the only constant", it will keep happenoi.
In case you are happy thinking that you have now chosen a job where you do not have the headache you had in the software industry, you are wrong. Just after spending couple of months or years there you will come to know. Grass looks always greener the other side of the mountain but it is actually not. So feel fortunate that you are in the software industry and you have an opportunity to learn and implement. There are hundreds looking for the same or even less attractive opportunity that is in your hand right now.
How to read?
Get admitted in LKG :). Simply start one by one. Do not get deviated or shocked by seeing technologies popping in every day. Just take one subject at a time and give full respect to that subject by spending enough time.
Technologies will keep coming, as the requirements are keep changing. Technologies have to be at par of the fast changing requirement so new technologies will come, newer versions will come. Just be on it and slowly keep enhancing your knowledge on the technology you like. You do not need to be master of all but you should be ready to learn what is required.
Why new version of the same software or technology comes every now and then?
I already explained above but if you are not satisfied with that, here is one more way to understand this.
Lets assume that 3 months back version 4 of the X framework was released and now 3 months after version 4.5 is being released. So what's wrong in it after all the developer of X framework have to keep working after releasing version 4 otherwise company will put them on bench and after few months throw them out. So to save their job, they have to keep inventing different ways to get the work done so they keep releasing X4 then X4.5, X4.5.1 and so on. In this way company thinks that something good is coming every day and their developer are working really hard. Also company has to pay to the employees and for other expenses so unless new version comes with some dependency, client will not buy it again and company will not met the expenses. So its a complete chain and its good for us :D Ha Ha Ha.
I do not like the work I am doing in my company, what should I do?
Resign and if you can, resign right now. There can be two scenarios here
Scenario 1: You have just joined the job as fresher and you do not like this kind of work. Then simply get out of it. Look for different type of job that you will enjoy doing. Do not think about what your parents, your society, your relatives will think and whether you will get enough do*ry or not. Ultimately you have to work/face and no body else will come for the rescue (permanently). If you enjoy the work you do in the job then its not a job, its a fun doing so you can do it with 100% concentration and dedication and in this way success is evident.
Scenario 2: You are keep doing the same kind of job for last several years and its no more exciting now. Then look for a change. Ask your manager/lead about this clearly, he is not a robot and he may understand you and put you at right place. If he doesn't, its your fault that you were working with a robot and you even didn't realize it. Look for a change in other companies. There is no lack of opportunities for good candidates. There are many companies who are looking for suitable candidates but they are not finding.
No body like non loyal person or company. Even you do not want to join a company who doesn't understand your real problem, give you enough respect and wish for your success. Loyalty doesn't mean harming yourself for the benefit of the company. For me loyalty means not cheating to the company by any means. Working hard on the work assigned to you and finish it on time. In simple terms understand it like "Give your 100% for the work assigned to you". Do not look a way out to escape from the work assigned. Remember, there is no short cut of hard, and now smart work.
Attentiveness to me in this case is to know about the company, the work that is assigned and mould ourselves accordingly. Be flexible on the time you spend for the work, be flexible with the type of work you do. The end result should be to get the work done. Do not pull or push legs or blame others.
Do not misunderstand the word "Smart work". Few thinks smart work is like a cheating (somehow get the work done). Its not! To be smart, you first have to be knowledgeable, attentive and aware about what's happening around and do the work in the best possible way. Remember, "There is no benefit if its a temporary benefit". Look for permanent solution and permanent benefit to the application, client or the company.
All above points I have described are simple to follow and I feel these help in getting success in the software industry. To be successful, you do not necessarily need to do complicated stuff.
If this article help even a single person to be better in their software career, I would feel fortunate.
Thanks for reading, if you liked this article do share with your friends and colleagues by clicking on the social icons below. To read my previous articles, click here
Disclaimer: The opinion/views expressed here is my personal, it may or may not be correct. Please feel free to respond to this article for any comment or suggestions.