Software engineering is the process of applying the principles of engineering to the software development field.

Basically, a software engineer is someone that is trained, or skilled in the process of creating, and maintaining software.

Software engineers are involved in the design and development of numerous types of software that can be used for things like the operating system, network distribution, or software for compilers.

In this line of work they use programming skills, writing code in various languages such as Java. However, it is more common that software engineers work on developing algorithms, and analysing and solving programming problems.

Software engineers typically work in applications or system development and analyse the needs of the users. Once the needs are discovered they then design, construct, test, and maintain computer applications software.

Some of the most commonly used programming languages are C, C++, and Java, while Fortran and COBOL are now less commonly used.