Software engineering is the application of engineering principles to the development of software. Computer scientists learn what is true, how to test hypotheses, and how to extend knowledge in their field. Software engineers learn what is true, what is useful, and how to apply well-understood knowledge to solve practical problems.
Applications Development: Problem solving-based, non-Web-based software development that includes programming languages such as Java and C#.
Systems Development: Designing and coding background software created to support application development; includes program languages like C and C++.
Web Development: Designing software or applications to run in a Web browser and used programming languages such as HTML, JavaScript and PHP.
Embedded Systems Development: Designing computing systems and software to work on non-computing devices, such as automobiles. Uses programming languages such as C and assembly languages.
According to the Bureau of Labor Statistics, a typical starting salary is around $70,000 and most software engineering careers pay between $80,000 and $105,000 per year. Earning potential varies by location, experience, education, industry, employer and certification.
Software engineering professionals are skill-based, requiring highly specialized training in both technical and non-technical areas. Employers seek candidates who possess a blend of technical and soft skills. Soft skills valued by employers include communication, organization, project management, problem solving, critical thinking, and decision making.
Beyond soft skills, software engineers also develop both technical and industry-specific skill sets that are applicable to all careers in computer engineering and specific areas of practice, respectively. Example technical skills include programming languages, computer hardware and software, and system architecture.
There are a variety of certifications you can seek to demonstrate your skill with particular languages, products, or job roles. Some reflect broad knowledge, others focus on narrow skills in specialized areas.
Application engineers with broad knowledge may want to pursue credentials through the Institute of Electrical and Electronics Engineers (IEEE). The IEEE Society’s software development credentials reflect the knowledge in the Software Engineering Body of Knowledge Guide (SWEBOK). They are internationally recognized.