I have a little bit confused between the term of titles

Hello, everyone, I have a little bit confused between the term of titles.


  • Programmer
  • Software Engineer
  • Full-Stack Developer

I have searched on Google to find out the answer but it does not clear that much. Can you explain to me what they are?

It’s not actually clear. For example I’m an email dev. I’ve had the following titles in this position: specialist, dev, manager, engineer…it’s all the same job.

Titles are often decided on for marketing purposes and can often not follow what you actually do.

Generally though:

A programmer is anyone who codes things. It can be specific code: Java Programmer should be a programmer in Java.

A software engineer is anyone who makes or develops software. This can be applications on your desktop or phone, or in house software companies use. It has grown to mean cloud software as well, and I have seen it used for straight web developers, usually in companies with a very old rigid hierarchy.

A full-stack developer is some one who can build a website from back to front. Set up the hosting , create databases, connect them to the website, design and code the front end website. The stack part is the stack you are familiar with, the technologies you know. I could say I’m a full stack dev for AMP - Apache, MySQL, PHP, I don’t usually. I’m trying to learn other stacks such as MERN and MEAN. Employer’s generally will list the stack they want in the job description.

When it comes to software, the terms ‘programmer’, ‘engineer’, and ‘developer’ are functionally interchangeable for the most part. To some extent, it can tell you a bit about the culture of the company sometimes and in that way may indicate different expectations and pay levels.