Software engineering internships are increasingly common as employers become more discerning in their hiring processes. Internships provide valuable training and work experience to their participants. Due to their growing popularity, there are hundreds of internships available in this field, each with its own specific requirements. Potential interns usually consider several factors to compare software engineering internships, including payment, type of development, and length.
One of the important considerations for most people looking at software engineering internships is the type of software that they will be working with. Software engineering is a diverse field with many specific skill sets, so an internship that is not well suited to the career goals of the participant may be counter productive. Some internships expect participants to already have some experience with their platform, which can consist of classwork or independent study.
Most major operating systems offer internships in their software development departments. Each of the internships could involve a different development environment, programming language, and type of software. One intern might end up developing a database while another debugs a network stack. For this reason, it is very important for prospective interns to fully investigate potential internships before applying.
Depending on the participant's financial situation, payment might be a critical issue. Many internship positions are unpaid. In these cases, interns are motivated by free training, improved prospects of future employment, or curiosity about what working as a software engineer is like. In other cases, the internship will provide payment. Payment is generally low, ranging from a small stipend to a little more than minimum wage.
Length is also an important consideration. A college freshman, still undecided on his or her major, might be interested in a part time two week internship to get a taste of the field. This sort of internship is similar to job shadowing and is nearly always unpaid. A recent graduate with a masters degree in computer engineering would most likely be looking at more comprehensive summer software engineering internships.
Most students who look for internships choose to participate in summer internships, but many schools now offer co-op programs. Co-ops are essentially long term internships. Most co-ops are full time, and students alternate between semesters of work and semesters of school. Co-ops generally pay enough to offset educational expenses and provide far more experience and training than shorter internships, but participating in a co-op can extend a student's time in school by up to two years.