Knowledge Required: Most employers require software engineers to have at least a bachelor's degree in computer software, math or science, as well as broad experience with computers systems and applications.

Career Path: Software engineering is a rapidly changing field: training in software is available at nearly all learning institutions, and most software engineers continue to learn on the job, as languages and development environments evolve.

Software engineers tend to specialize in a few areas of development, such as networks, operating systems, databases or applications, and each area requires fluency in its own set of computer languages and development environments to best cater for the business.

Best Cities for this job: San Diego,CA; San Francisco,CA; Boston,MA Philadelphia,PA; Atlanta,GA; Houston,TX; New York City, NY; Phoenix,AZ; Seattle, WA;

Median Annual Income: National: $90,374 CA: $103,367

Future Growth: The U.S. Bureau of Labor Statistics (BLS) projects that jobs for software developers will grow by 22% from 2012 to 2022, making software engineering one of the faster growing sectors in the job market.

From the field: “Because I know how to build software, one day I can change my mind and build games or build an iOS app; I can build something for your phone. There are so many different kinds of possibilities.” - Victoria S.

DidYou Know: The first computer programmer is a woman named Ada Lovelace. In 1842, she translated an article about Charles Babbage’s proposed Analytic Engine and her notes described an algorithm that is cited as the first computer program. In her honor, the U.S. Department of Defense named Ada, a computer language after her.