Full-Stack & Front-End & Back-End also Software Developer & Software Engineer — Who are they and What is the Difference

Let's see what title to use when searching for a tech professional to hire and which title to take if you in this field.

Front, Back and Full

Front-End is all about developing/engineering everything the user sees in a browser, the User Interface — buttons, fields, full structure, and layout of the web site, web service, web software. Also, adaptation to work correctly in different browsers and on different platforms — Chrome on your desktop will not display web page same way as the Mobile Chrome on your smartphone due to specific limitations and differences.

Back-End — everything that takes action on the server. Mostly it is about secure work with Data Base and building the API system to send and receive data from Front-End running in the user’s Browser. Back-End is all about security and Load optimization/balancing, to use fewer server resources to pay less for AWS.

When we talk about the depth of work

Developers build software, is it on the web or your desktop or smartphone does not matter much. By mostly relying on adding things together, not going to details in-depth, since in most cases it works well enough. In simple, somebody (engineers) design and build those things (like React framework) and Developers just use them, like many other modules and frameworks. Yes even if you use many of Ready to Use software components and frameworks, you still can design something fundamentally new to be considered a software Engineer.

Engineers — challenge the nature of things, how it actually works, how to make this thing from the super ground up and optimize for best. So you take a specific part of the software and go into nifty details to them work the best of exactly up to specifications. Create a new way of doing things, invent. For example Frameworks such as React, Angular, Vue. Also, the different state management implemented in Redux, MobX. Separately runtime such as Node.js. Someone needs to design, build new patterns, frameworks, ways of doing things with the code — that a job for a software engineer.

Why is it software and not a website, only because it sounds cooler? Nope, there are the real reasons behind it. Technologically wise a tech professional (Software Engineer/Developer) can use the same language (JavaScript) to create a web email software running in a browser such as “Gmail” and code editor running on your Linux desktop — “Visual Code Studio”, or a Mobile App on React Native framework with JavaScript language.

Who’s hiring and whom?

Google, Facebook, Amazon, and many others — have “Software engineer” in their title, they do not have the “Front-End” and “Back-End” separation, because it mostly means “Full-Stack”. A job title might contain the “JavaScript Software Developer” but not the “Front-End Developer”. There are reasons for that and has to do with methods they’re using to let's say build Front-End portion in some standardized way that means to deal with console 98% of the time more than with usual Front-End work with CSS/HTML.

Smaller businesses hire by the “web developer” title than divide to generalist “full-stack developer” and separately to more specialized “front-end developer” to work on UI and “back-end developer” to work with DataBase, than to even more specialized, for example, searching “React developer” means someone who develops front-end with JavaScript + React.js framework. Alternatively by searching “Django developer” it means to search for a back-end developer who programs on Python + Django framework.

An example of a Web Software Engineer — Front-End. Here is my portfolio https://andriydiduh.com

Icons used for infographics from https://www.flaticon.com/authors/freepik

Software Engineer & SaaS Developer — https://andriydiduh.com