What’s the difference between a software engineer, developer, and developer in test?

Names and words are interpreted in different contexts and mean different things in different companies.

But only to simplify:

  • Software Engineer: Generally there will be at most one per project. He/She will work with many developers. This role can program but making proof of concept, checking the viability of the project, evaluating the developers are programming according to the architecture the software architect defined, and fulfill the standards for the company and the project. The role also can make estimations for the overall project or propose strategies when things change.
  • Developer. Transform wish on the code the machines should execute. The traditional programmer.
  • Developer in test: The applications the developers do would be run on a machine and used by final users generally. The test developers create apps, scripts or code for running on the development environment. Those scripts (generally) run as robots the app and check the results automatically. In some cases, the goal is to cover a percentage of all the written lines (coverage e.g. 70%). In other cases are automated scripts that use the app and covers a percentage or critical functions of the app. (Automated tests) Generally, those scripts run on Continuous Integration environments that test the code as soon as the developers commit.- Then, that code allows checking if when adding some piece of code … the developer is breaking a previous one.

There are other explanations of the first 2 in the video

It has English captions

Leave a Reply