Mostly as an entry level graduate, although quite opposite to our belief, we are no less than an illiterate about IT industry’s dynamics and usually do not know much about how things practically work on the ground level. Believe it or not it remains a mystery even after a good amount of experience & this fact is realized only after through some real-time work.
It is quite natural for an average student therefore to fall trap to many misconceptions that are developed being through several unstructured and amateur talks during college days with exposure to only the creamy-layered-talks either by the senior batches or corporate(s) presenting a seminar, talk etc. I sometimes wonder isn’t it reasonably important enough to develop the right knowledge about an industry which almost any branch student eventually planning to serve whole of his/ her own life?
Somebody very correctly said, “IT and cricket are the only brands in India”. Besides their mass acceptance, I believe both involve quite a huge amount of money, tremendously high energy levels, early exposure to International standards and global attention etc. Given that the Indian sub-continent is actually the–hotspot for IT related activities today and the future of generation-next software products, therefore, the demand for talented, skillful and great programmers is ought to increase like never before.
In Parallel as the success of Indian services giants is getting phenomenal, the demand for analysts, testers, developers, QAs, leaders & managers is bound to multiply on the same hand. Thus, one thing is very much for sure that getting a job after college sooner or later shouldn’t be big deal. It wouldn’t be wrong if I say that today it is actually difficult for you not to be able to find a job (with just a basic degree diligently completed in hand, a fair amount of smartness & communication skills).
As mentioned above, we have two broad category of companies, one Services Giants (often termed as software factories) like Infy, Accenture, Wipro, Satyam, TCS, CTS, HCL etc, second all core product based companies (but sometimes they too operate in services segment as well) like riya, ziva, opera, trilogy, adobe, soliton, informatica etc. After whatever experience I have I believe none of the category is a stain to once career quite opposite to what many of the geeks around say usually, its just a matter of preference about the kinda company you want to work for or which model suits your ambition(al) temperament.
I usually find concerned about the people who are a part of services giants owing to the fact that it takes very less time for a majority of them to find frustration with this model. Once we are a part of this software factory, it is very natural for everyone of us to go through some sort of mental turbulences for the simple fact that you are a lost ‘one’ among the several thousands trying to justify your uniqueness, trying to evaluate your achievements, trying to find a niche for your individual self or just trying to seek better prospects at any given point of time.
I believe this is where we need to be little clear & conscious about our expectations from ourselves & our ambitions coz overly rated expectations/ ambitions often lead to depressions in such a case. Doesn’t matter how big a stud or reputation you enjoyed during college days, everyone is treated similar here.
When I say depression I’m serious, which would start its course without any sign or gesture. There have been extremely shocking incidents with people, therefore, it is extremely important to learn to be stable right from the beginning of your career and set short term goals with an eye on the long term ones.
Few inevitable views to be kept parallel in your mind are:
1. Open Mind
Open mind probably matters the most in the long term success. Honestly seek from yourself about how clear an idea do you have about making things happen on your own! Are you indecisive about anything you want to work upon? Are you drifting away with only the heard talks so far? Do you think with some experience and understanding you can better find a niche for yourself? Or are you not able to find the way out to do something that you want to work upon for any reason?
In any such scenarios accepting the work you get to work upon with an open mind and deriving out the benefits out of it (rather than being pigheaded about it) is the best thing you can do to yourself. Its practically also not possible for a million software engineers to get what they exactly want (if in case they do), therefore, carving out your way to do what you actually want to do is another approach to it; but this indeed needs a good amount of focus and efforts both on learning technical stuff as well as developing a fairly good amount of business intellect.
Explore as much as possible in parallel, there will definitely be a day when you will be free to make a choice in your work for yourself but wait for little experience. It always pays!
Every star/cricketer works for it, why shouldn’t you? Obviously we can’t forget this fundamental motivating factor, No way! Believe it or not Money is the only thing and also it is nothing; both on the same hand.
Comparison with the colleague’s salary is again an inevitable thought process and I have seen people comparing even while working in Microsoft in their initial years (I was actually no less than surprised) getting as good as three times the salary compared to an average graduate’s salary in services giants. I can’t defend that it shouldn’t affect you but believe me it just does the harm only and nothing constructive.
If at any point of time you feel that you are getting lesser money compared to anyone for that matter, evaluate whether do you have the feeling of achievement in your work? If yes, let him earn, if no, make sure you strive for the achievement first, money will definitely follow in both the cases. Its’ just a matter of time, someone earns little early-someone little later; focus on achievements is something extremely crucial.
Don’t be surprised to see even 80% of your friends right after a year coming fed up with the company they work for or may be the IT industry overall coz they didn’t do anything good so far, didn’t learn anything constructive or rather forgot whatever they knew/ learnt during college days over this year. And are in no good position to even apply through to other companies or when they apply, rejection is the only result. Therefore, it’s again very important to understand that you can’t expect your organization to help you grow always! Taking command of your career with patience is one thing to be learnt along with the job with utmost priority.
4. College Books
Aren’t cricketers involved in regular state level games? Aren’t they under regular practice of very basic lessons like holding a catch? If you got 3 jobs in campus and started working in no time, it’s no guarantee of a happy career. All you need is just three more months to realize that you aren’t doing something that you ought to, which might demand restructuring yourself with a lot of fundamental knowledge back again.
Take these words, there’s no harm in going back to college books back again! studying chapter by chapter and practicing the examples, which you probably never looked at during the lab examinations as well. Do not let this harm your ego; it is these fundamental problems that carry most of the basics.
5. Is IT industry for you?
I don’t say quit your job if it is not for you but always strive in parallel for what pleases you the most. You might be earning a corpulent salary with a free bank account or two, enjoying cross country travels, overwhelmed with the attention at workplace or the global infrastructure at your toes but in long term it might not make a meaningful difference for your personal self, coz you are not the only one, look around, you’ll find several thousands like you or probably you wanted something else always but just kept flowing where the work took you to. Sense of achievement comes only with something that pleases you the most. I have started to believe that not everyone is for IT or may be IT is not for everyone.
Let’s talk about few steps you can take on your own to ease out problems you might encounter in a few more days to go.
1. Evaluate your Programming Quotient (PQ)
Do you prefer pointers over arrays to refer to memory addresses?
Can you write 200 lines of fresh code in C or double the size using C++ at a single stretch?
Can you analyze a given problem and apply a suitable data structure to come up with a working and efficient algorithm?
Evaluate several such questions, quantify your PQ and if you find a score of more than 5, target the companies that can use your programming talent and avoid being the part of software factories (Services giants). Working with a funded startup or a group in a stealth mode shouldn’t be a bad idea either.
Reading doesn’t mean for Cosmopolitan or India Today but something relevant to the industry, am sure you do not need anything more than an internet connection. I recommend BBC portal, Del.icio.us, scribd, digg etc. as I use them more often than any others but there are several many others as well.
Write your own articles. Blogs are probably the fresh(est), universally accepted and superb means of marketing yourself with a complete control in your own hands. You can be a tarzan overnight if you can bring a unique voice out of your blog. Widely used services today are Blogger, wordpress, livejournal, typepad etc.
Find yourself a part of good technical communities; associate yourself with people better than you, networking is as important as not networking today. Attend technical talks, workshops, seminars, conferences etc. They certainly provide you with the breadth in knowledge, that’s the only way to to maintain yourselves into the learning mode. ‘LinkedIn‘ is one professional networking site I found better than any others. Personally for me the primary mode is still blogging and commenting over other’s work.
Every geek/nerd has his own style and unique methodology, there’s indeed nothing wrong in it but believe it or not, it’s quite a common scenario today that you will be regarded as a software engineer or even as senior software engineer but you will not write even a single line of code throughout your career. I’ve realized this only after joining the industry and that software jobs are not only programming and coding but much more than that. There are all whole numbers that fit into the industry besides only the 0 & 1 bit.
I can’t simulate the situations though but can only recommend finding an experienced persona, whom you can trust and believe. Silently bring them to advice you more often than you need. It’s vital. Am sure you’ll better understand practically.
5. Ideal Company
I have been asked several times by the budding engineers from my campus about what should be the idea company to work for?
This question probably doesn’t make any sense. First find out your own Knowledge Quotient (KQ) and then probably ask, which company is suitable to my KQ e.g. if you have not coded even a single algorithm during your college days and aspire to jump right into MS, Google or Yahoo kinda companies as a programmer, am sure the association wouldn’t work out for long, whereas you might do extremely good in a company like Infosys. Therefore, answer is essentially in your own knowledge, all you need is to make little research about it.
It is rather important to understand the level of technology would you be comfortable with, given in your work! how good you feel not doing technical work or rather how bad you feel being out of technology than being stubborn about working on a specified technology platform only, or to work only with a few chosen companies or being adamant about having your own ASAP. Try avoiding such immature thoughts, they most of the times lead to disaster.
Therefore, there is no ideal company to work for, not Microsoft, not Yahoo and not even Google, any organization with which you can establish a loyal relationship is probably good to work for. Focus to strengthen your knowledge base should be the primary objective always and indeed an ideal gesture.
Lastly: Even if you do not like programming or coding, a software job can get you into a comfortable career without having you to code at all, that’s another big truth.
Disclaimer: Above thoughts reflects very much my own understanding of things and hold true only if there’s a level of trust with me. There’s no intention of pushing anyone onto any path. I am open to any comment or discussion but only for the meaningful & structured ones.