Software Engineer vs Software Developer

Software Engineer vs Software Developer
Photo by Scott Blake / Unsplash

What are the key differences between a software engineer and a software developer? This blog post pinpoints all differences and similarities. By the way, if you are applying for a software engineering or software developer position, check out this article on Python interview questions.

Definitions

Lets first discuss the broader terms “engineer” and “developer”:

  • Developer
    Source: Collins Dictionary
    A developer is someone who develops something such as an idea, a design, or a product.
  • Engineer
    Source: Collins Dictionary
    An engineer is a person who uses scientific knowledge to design, construct, and maintain engines and machines or structures such as roads, railways, and bridges.

This closely relates to my own intuition: a software engineer is the person who thinks about the software and makes designs and plans to work out the software. The software developer takes the ideas of the software engineer and actually builds the software. According to Glassdoor, a Software Developer earns more than a Software Engineer (compared on November 19th 2017, for the Netherlands). I have to mention that this is probably due to the fact that there is a higher need for Software Developers than for Software Engineers at the moment.

Degrees

Disclaimer: This section is mostly based on my own opinion. If you have a different opinion, please let me know in the comments.

In my opinion, a software developer often is a person who obtained a Bachelor degree in Computer Science. In industry, you will often encounter different types of persons who have a degree in a mathematically-oriented study, such as economics, mathematics or even physics. These persons are on average more analytically than persons having a non mathematically-oriented study, such as languages and history.

The Master degree in Computer Science (or relevant master degrees) is common for most software engineers. During the time of a Master degree, you are able to learn more about designing software. The focus of my own Master degree was less on the implementation of software, but more on the design of software.

Typical Day of Work

Both of the persons are typically found in an office, with coffee and even in the same team. Nowadays, it is common to work in a agile software project in which you both need software developers and software engineers. Software engineers are also often software developers because the development of software takes longer on average than designing the software. Software developers are also sometimes software engineers, because it is very likely that software developers will discuss their ideas in an agile team.

Conclusion (TL;DR)

A software engineer is the person who thinks about the software and makes designs and plans to work out the software. The software developer takes the ideas of the software engineer and actually builds the software.