What Am I?
I am someone who generally writes code using web-based technologies. What am I? This question has bugged me for years and I think I’ve finally come to a conclusion.
If you like spoilers, look at my home page or the conclusion below. If not, here is my breakdown. Keep in mind that there exists many more titles than I mention below, but I am just trying to focus on my field. This is also just based on what I’ve been exposed to and I am happy to be proven wrong.
So what am I? Let’s start at the beginning…
Programmer/Coder
I am 100% a programmer and a coder. Those two words essentially mean the same thing. I write programs with code.
While I think all other titles fall under this category, I do not consider it a job title. It’s just too generic to represent an occupation.
Software Engineer vs. Software Developer
Going a level deeper, we find Software Engineers and Software Developers. As far as I can tell, both of these mean the same thing, and the word “Software” is optional. These titles represent anyone who designs and creates systems to solve problems.
So I am a [Software] Engineer/Developer?
Web vs. Mobile vs. Desktop
Well, we can go another layer deeper and specialize in web, mobile, or desktop applications which produces these lovely titles:
- Web [Software] Engineer/Developer
- Mobile [Software] Engineer/Developer
- Desktop [Software] Engineer/Developer
They all do the same thing, just in their respective specialization.
So am I any of these? Well yes, I primarily specialize in the web, but with tools like React Native, Expo, and Electron, those lines are beginning to blur.
Full-Stack vs. Backend vs. Frontend
Unfortunately, we can go yet another layer deeper and specialize in the frontend, backend, or even both layers of an application, thus producing even more titles:
- Full-Stack [Web/Software] Engineer/Developer
- Backend [Web/Software] Engineer/Developer
- Frontend/UI [Web/Software] Engineer/Developer
These terms primarily get used in web environments (which is why I wrote “Web/Software”), but they could also apply to mobile and desktop.
This one is easy for me. I work across the entire stack, so I must be a Full-Stack [Web/Software] Engineer/Developer?
Okay, so what am I?
I am someone who designs and creates systems to solve problems on the web across both the frontend and backend. And thanks to cross-platform technologies, it has never been easier for me to take my web development skills and port them over to mobile and desktop environments. Based on this description, the best titles for me are:
- Engineer
- Developer
- Software Engineer
- Software Developer
All these titles encompass what I currently do and where my capabilities lie. I work across the stack, primarily in web environments, but depending on the technologies I could port those skills over to mobile and desktop. That said, I could see some ambiguity if I just used Engineer or Developer. So we are down to two:
- Software Engineer
- Software Developer
At this point, it just comes down to personal preference, so just because it sounds cooler…
I am a Software Engineer!
Here is a title breakdown:
- Programmer/Coder
+ [Software] Engineer/Developer
- Web [Software] Engineer/Developer
+ Full-Stack [Web/Software] Engineer/Developer
+ Backend [Web/Software] Engineer/Developer
+ Frontend/UI [Web/Software] Engineer/Developer
- Mobile [Software] Engineer/Developer
- Desktop [Software] Engineer/Developer