Skip to content

Programmer, Developer and Software Engineer

Photo by James Harrison

It seems like the same mean and the same thing, but if we going deeper for each of the role names, it's different.

  1. Programmer is the one who's write lines of code.
  2. Developer is the one who's build the application.
  3. Software Engineer is the one who's craft everything required to build a solid application.

Short story of my Journey.

The first time I got into technology was in 2020. I'm so curious and exited about coding and I'm going deeper into programming language. I chose JavaScript, because web programming is trending topic at that time and so many online resources available and most of them is free to access.

I've ever try python, but I feel like I don't like it, and consider learning JavaScript is more versatile to work in Front-End , Back-End, event mobile app.

Programmer

After a lot of learning and practice about web development, Long story short, I got my first job in April 2021. I join the team as Back-End programmer, mostly we work on internal organization application that help the client manage and monitor their business, and until I work in a project that using Java - Spring Boot. At the moment, I'm required to learn Java to build the RESTful API. And personally a lot of interesting stuff is happen in this phase. I'm feeling that I love Java, cause I can do something that I can't do in JavaScript. And until today, I wrote most code in Java for building a RESTful API. I feel the comfort zone of Java , the OOP paradigm help me to write down business logic clearly, robust ecosystem. Almost every part that required to build solid Back-End application is available in the community, and of course it's stable, so it help me deliver the application faster.

Software Engineer

Throughout my career, not only translating business logic requirement into a piece of code, but also involved in the requirement gathering, solutioning, deployment, etc. And solutioning is the most part I like, in this part I'm required to used the available and permitted tools to solve the technical problem to achieve business logic requirement, and in the real world, sometime the hardest part is to integrate with the legacy system which have a limitation in their side.

Now, going back to the earlier definitions — Developer, Programmer, Software Engineer — I realize they're not just titles. They're stages.

When I just obsessed with JavaScript syntax and just make it works, I was a Programmer, because I really just writing code. When I started shipping real features by my self or in team, I became a Developer, I start build an application. And now, I start thinking about architecture, memory models, and system design before writing a single line of code, I'm growing into a Software Engineer.

Conclusion

The most important things about Software Engineering is problem solving, and until this day Software Engineer is still challenging roles which couldn't be replace by AI bros, at least for a short period.