Designing and coding software which is used by humans to solve a particular practical problem. For example, the developers in a company’s IT department may write a tool designed to help the sales staff manage sales data. The term “applications development” usually implies non-Web based software. The most common languages used by applications developers are Java, Visual Basic, VB.NET, and C#.
Designing and coding software which works behind the scenes. For example, several thousand engineers who work at Microsoft developing the Windows operating system are systems developers. A subcategory is API development, where engineers write code which is intended to be used by other developers who are writing application programs. The most common languages used by systems developers are C and C++.
Designing and coding software which works on non-computer devices. For example, engineers who write programs which control the guidance systems of military devices are writing embedded systems code. The most common languages used by embedded systems developers are Assembly Languages, C, and special one-of-a-kind languages.
Designing and coding software which tests other software. Microsoft employs thousands of these engineers who have job title Software Design Engineer in Test, or SDET for short. The most common programming languages used by test engineers are Perl, Visual Basic, VB.NET, and C#.
Designing and coding software which is primarily numerical. This type of programming is much less common than it used to be. The most common languages used by scientific programmers are C and C++.