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 those considering Software Engineering as a career path.
- You must love programming! If you’re in junior or senior high, and you haven’t yet explored programming, do so. If you’re not interested in math or science to begin with, you should probably explore other options.
- Plan on getting a degree. With all the success stories of college drop outs becoming billionaire 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.
- 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 and Engineering program.
- Qualify your degree by what you want to do. If your love is game design and you wish to enter that industry as a game programmer, you’ll need a Computer Science degree. If you want to work for IBM, Intel, Microsoft, Google, etc., then a Computer Science degree may be good for you. 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. This type of degree is best for most, because it provides management and general business skills and doesn’t focus on a lot of information that will not be useful to most.
- Supplement 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 yourself.
- 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 at taking care of this problem, but unfortunately a lot of students can’t land an internship or do so only to discover they would prefer to work elsewhere. The only way to give yourself options is to find some non-classroom work to put on your resume.
- Develop contacts with software engineers. If possible try to develop some software projects under their guidance.
- Understand that software engineering is not the same as programming. Every software engineer knows how to program, but not every programmer is a software engineer. The principal difference is that software engineering is typically a group effort, with differing and often fluid roles and responsibilities for the group members. Engineering projects have timelines, release dates, and considerable interaction between people responsible for its various components.
- Be prepared for a rollercoaster ride, the industry is always changing and your self-education will never end. If you don’t enjoy teaching yourself new and complex things often, change majors now.