Saturday, July 21, 2007

Career planning for csc gradutes

In the last two years I have seen a lot of ups and downs in the Software Industry. So I thought of writing this post specially for fresh graduates who will enter the industry.

Initially there are two options for a computer Science graduate :
1 - Software Industry
2 - Telecommunication

In breif I can say if you are confident about your programming skills do not you choose Telecommunication just for the intial spark of salary they offer. If you are good enough as a programmer then defiently you will get better salary and satisfaction being in the Software Industry. Plus in the long run if you compare with your fellow mates you will find out that you are getting better salary and plus you are happy with your work.

Since I have not worked in the Telecom Industry I will not go in details about how to choose one to work in.

For the Software Industry according to me the best advice for freshers is to start working with a company who gives you the oppurtunity to work independently and have atleast one or two seniors. Even though there are lots of companies where you might even get to be the senior in no time .. but at the end of the day it is not worth it. So choose a company where you have atleast one or two good seniors. Make sure the company gives you actual development work rather than make you test softwares by saying be professional and do testing temprorary as soon as there is project you will be switched. Or makes you wait by saying there are projects in the pipeline, so you wonder around like a dangling pointer with no reference. This companies will create memory leaks in your career, so the solution is to leave those companies immeditely. No matter how much work you do each day make sure you are involved with opensource projects. Working on opensource porjects just takes you to another level. Always keep an eye on System design, try understand the project you are working on, understand its architecture. Since there are projects which have been going on for years, its understandable that understanding its architecture is not a piece of cake, so try understand the portion you work on and how it interacts with the rest of the system. Try getting yourself familiar with the upcoming technologies and do small sample projects when ever possible just to keep your self up with the rest of the world. Knowing the latest release of API's and Technology will also aid in your daily work.

The last advice is WORK WORK WORK and understand your WORK
- Reza