There are many types of professions in the technology field, including system administrators, UI UX, developers, programmers, and engineers. From some of the things I mentioned I will only explain what programmers, developers, and engineers.
Programmer is someone who translates human-readable requirements into machine code. It’s the physical act of writing the source code that enables the software to perform its intended function. In that sense, it is the lowest-level task in the software development process.
Developer who is the in charge of the process by which software is created from
- Requirements Gathering
- Task Creation
- Sprint Planning
- Unit Testing
- Integration Testing
- Usability / Acceptance Testing
It encompasses the end-to-end of conceiving a software system through delivering it as a product.
Software Engineer has the most broad type of work of the three. It is the application of computer science and mathematics theory to the invention, design, research, development, maintenance, improvement, and innovation of software.
It is more about the problem being solved. Sometimes a good software engineer can solve the problem without requiring any new lines of code be written. Sometimes solving the problem means coordinating the development of multiple software systems that interact in complex ways. And sometimes software engineering means deleting code, deprecating services, and designing the next system to take its place.