Off late, I am increasingly witnessing a disturbing trend in entry level IT hiring. A lot of fresh college graduates have a grouse. And for a definite reason. The new hires are bemoaning that the gap between when they get signed on to the time they are asked to show up at the office has been increasing with much regularity.
BTW, the title may sound goofy but I picked it up from actual new hires discussing this issue and I guess this is how they feel about it.
Many a times when the engineers are placed at their “dream companies” in the last semester right off the campus, they are given a joining date. But subsequently this date is postponed. The letter from HR is not really forthcoming on details. Reasons could range from a project in the pipeline to downturn in the US economy to Rupee getting stronger.
Meanwhile the software engineer is left sitting at home, wrangling his/her hands and getting desperate.
The factors which are outside the control of the engineer, there is nothing we can do about it. But there are some things which are within the purview of our influence. What is the best way to deal with it.
How Best To Utilize The Gap
1. Lay the ground work. Prepare for your joining. Whatever field you have been asked to join for, be it networks, databases, programming in various languages etc, expand your horizons in these fields by researching on the internet. Know whats the latest going on in these fields.
2. Contribute in Open Source projects. A lot of websites have these projects listed out. My favorite is Source Forge (http://www.sourceforge.net). Additionally if you just want to review or re-factor, check out production level code from sites like Koders (http://www.koders.com/)etc.
3. Get a 360Â° world view. In case of CS majors, when we are in college we usually pay more attention to complex subjects which which require deeper understanding like Data Structures, Discrete Mathematics, Compilers etc. Real time job involves a lot more than than. For instance, a company makes use of source control for maintaining sources, it also needs a way to track bugs and enhancement requests, a way to benchmark all this, testing and QA is another integral part of any software project. If you spend some time on these issues, then you can bring them up in meetings and contribute positively in improving the quality of work w.r.t to best practices etc.
4. Find out the free software tools in your specific trade which would help you make your job easier and perform it better. For instance, I use tools like WinSCP, FileZilla, Putty, XWinLogon, Jakarta Tomcat for dev/testing web applications. I also use locally hosted WordPress to manage documentation and notes. (See how to do this from another post of mine). If you are using text editors like TextPad, EditPad etc, very good but don’t stop at just that. Go beyond and develop personal macros which would help save time while doing the repetitive jobs.
5. Last but not the least, keep exploring other job options. If you already have a job in hand, you can negotiate better with other companies w.r.t your take home/benefits/perks etc. Keep scouring job websites for availability of more jobs, call up your contacts etc. No harm in continuing the search for that best package.