A software engineer is someone who writes computer programs that run on different types of computers. A software engineer may be a programmer, an architect, or a designer. The job of a software engineer can include everything from programming to business management, and they can be either employed by companies or self-employed.
Software engineers are often tasked with creating the tools needed for other information technology professionals—such as programmers or project managers—to do their jobs properly. Software engineers write code that not only runs on computers but also translates human desires into instructions for specific tasks.

There are also two types of software engineers:
A computer software engineer writes programs to solve problems. An application software engineer writes programs that run on a single piece of equipment or a group of remote pieces of equipment. An operating system or web developer is an example of an application software engineer.
A programmer, in contrast, writes code that can run on many types of computers and helps other IT professionals with their work. The job title “programmer” is used interchangeably with the term “software developer” and refers to someone who creates computer applications based on written source code (also known as source code). A computer programmer may use different programming languages for different applications. A computer programmer is often employed by large companies or is self-employed.
A software developer or developer is someone who creates the code that the computer needs to run different programs. He does not create the end result of the program; this task belongs to a different type of IT professional, such as a graphic designer or marketing manager. A software developer may use different programming languages for different applications. A software developer is usually employed by large companies and/or self-employed.

Although programming languages are sometimes used interchangeably with the term “software developer,” an application software engineer writes programs that run on a single piece of equipment or a group of remote pieces of equipment called an operating system (for example, Windows or Linux). A web developer, in contrast, writes code that is used to create the user interface and content on a website.
A Web developer writes code that is used to create the user interface and content on a website. A Web designer creates websites using languages such as HTML (HyperText Markup Language), CSS (Cascading Style Sheets) or XHTML (Extensible HyperText Markup Language). This type of programmer also creates animations or graphic signatures for use in sites by using JavaScript objects, such as HTML5.
Software engineering skills may be applied to finding, applying and maintaining the best solution for whatever problem you’re trying to solve with information technology.