Advice on how to enter the software technology field
I am in the U.S. and have I completed my engineering 6 years ago. Now I am planning to go for a job in the software industry. I have performed a Mainframe and Java course and I know "C" language. Can you tell me what in the software technology industry I could learn, so that my job searching will be easier?
There are two approaches to the answer. Career advancement and job placement both have two axis, which must converge: your interests and skill sets, along with the employers needs. Therefore providing a specific answer to your question is challenging, at best. Let me offer some general guidance:
First, it is important to have a rewarding career. Are you interested in a software career because that's where your passions lie, or because that's what your degree is in? Sometimes a rewarding career takes several years of building up for instance, if software management is your passion (like it is mine), you can't just start out as a manager. You have to start as an individual contributor, prove your skills both as a technical contributor as well as a project lead, and grow into a manager. You need to perform some introspection, look inside, and ask if this is really what you want to do.
Secondly, the good news is that, in six years, you're not terribly behind in terms of programming languages. C has morphed into C++ (with a huge emphasis on object-oriented programming). Java is still Java, although it's several versions ahead. The challenge you face is that the technologies below the languages especially in Java, have come a long way. For example: interested in Java Web application development? Knowing Java is helpful, but you really need to become familiar with Spring and the underlying Spring technologies. Just being able to code isn't enough; you need an entry-level familiarity with the common technologies.
Third, a great strategy for getting a job is to look at the requirements out there and become familiar with them. If you think you want to program Web applications, look at development positions in that niche. See what additional technologies successful candidates need to be familiar with. Once you have that figured out, take books out from the library, buy them, take courses at local community colleges or vocational education institutions. Become familiar with the technologies by applying them. Build a simple Web application at home. Contribute to an open-source community project.
Fourth, you need to network. Especially without having any experience, it's critical to develop a network. Some may scoff at this advice, but one of the best ways to network is to take positions as a contractor. Take a position testing, take a position fixing defects, take a position writing code. Whatever you can do to start to develop a network, both with local recruiters as well as hiring managers.
Fifth, hire a resume writer. It's the advice most often given, and most often ignored. You'll need help tuning your resume to catch the attention of hiring managers.
Once you have a direction, familiarity with technology, and a network of contacts, you'll be much more likely to have a position.
Finally, a last piece of advice: nobody owes you a job. Regardless of how smart you are or how well you did in school, no one owes you a job. Especially in this economy! The only way you'll get a job is by earning it that means hard work preparing, searching, and securing the job. Don't let yourself get down if it takes a while just stick to it. If you're passionate and smart, you will succeed.
Good luck in your search!
This was first published in July 2009