Thursday, December 28, 2006

How to Become a Software Engineer

Software Engineering was recently listed by Time magazine as still being the #1 career for pay/stress load. In spite of all the media hype about offshoring of these type of jobs, it's still a job that's in high demand. This article is for anyone considering Software Engineering as a career path who is at the high school or college level

Steps:-

1. Plan on getting a degree. With all the success stories of college drop outs becoming billionare CEOs in the 90's, there is a certain lure that "as long as I think outside the box and have outstanding problem solving and programming skills I don't need a four year degree". It's difficult for entry level software engineers to obtain a position without a four year degree.

2. Get all the math you can in High School. Try to advance to college level math before leaving high school, you'll need a ton of math to complete any Computer Science program.

3. Qualify your degree by what you want to do. If you love is game design and you wish to entry that industry as a game programmer, you'll need a Computer Science degree. If you want to work for IBM, Intel, Microsoft, Google, etc... A Computer Science degree will be favored. If you're looking to work for a non-technical corporation building mostly business applications, consider a degree in MIS (Management Information Systems) or one of the many business technical degrees now offered. I highly recommend this type of degree for most, beceause it provides management and general business skills and doesn't focus on a lot of information that will not be useful to most.

4. Suplement your classwork with personal research. Search job boards and note what technologies are hot and buzzing. The colleges simply can't keep up with everything, so you'll need to buy additional technical books and teach youself

5. Unless you're planning to get your foot in the door through an intern position, try to find side projects while in school. No one wants to take a risk and hire someone fresh out of school without projects under their belt. Internships are great and taking care of this problem, but unfortunately a lot of students can't land an internship or do so only to discover they would perfer to work elsehwere. The only way to give yourself options is to find some non-classroom work to put on your resume.


Tips:-

* Software Engineering dress varies greatly from company to company. At one office you may wear a suit at another T-Shirt, shorts and sandals is fine. Always call prior to the interview and ask If a suit is appropriate for the interview. This is a good question because often, even if dress is casual a professional look will still win huge points for showing that you're the type of person who makes an effort to look your best and to be professional.

* If you are asked a series of technical questions during the interview, always answer honestly, however be careful with the words you select. Never say "I don't know", instead say "I haven't encourted a scenatio where I would use that yet", then explain the process you would go through to find the information if you had to. Only do this once during the interview and if you get stumped again on a technical question just remind the interviewer about your resourceful approach.

* Always ask questions at the end of the interview and if the interviewer is technical, try to come up with some relevant technical questions. Don't try to interview the interviewer here, but just try to come up with a clever question that will answers some piece of technical trivia that's relevant to the company or the specific project you are being hired into. Be careful with this though and when in doubt, if it's not something that genuinely interest you, leave this trick in the bag.