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
- 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... 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. 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 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 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.
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
encountered a scenario 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.
- Rather than getting a Computer Science Degree and working you
way into a Software Engineering position, just get a Software
Engineering Degree to start with. Many schools now offer this
degree, and Software Engineers usually have receive larger starting
salaries at the same companies than Computer Science Majors do. The
reason for this is that proper design and documentation of a system
is more important than the ability to program.
- Apart the university degree, there is another path to this
position through becoming a Free software hacker
but it is is also very difficult. While Free software community can
give an excellent skills, you will likely need to prove you really
have them, and you must first find a job where you would be allowed
to try. If there is any possibility to choose, the university is
highly recommended anyway.