Software engineers define and solve specific business or science problems by developing computer software applications. They require skills in mechanical/manipulative and technical/scientific areas as well as strong communication skills and knowledge of basic business functions. While an associate's degree is required for most positions, an advanced degree in computer science or engineering is often needed. Software engineers typically work 40 hours per week in comfortable offices but may work overtime or travel. Salaries range from $53,750 to over $153,780 and the field is expected to grow faster than average through 2018.