This text has been translated from Google Translate.
The forehead is what users see!
In a client-server architecture, the client is the program that is executed on the user's computer. And we call server that which is executed on a remote machine (today we say "In the CLOUD").
The front is the client side, it is the human-machine interface (HMI). But be careful, subtlety: if the whole application is rendered on the server side, with Rails or PHP for example, then the front end is a server application.
Because the front is what the user sees. And in the case of a server-side web application, there is often only one third-party application (with a database).
And the back office? You might think it's a back-end, but it's a fake friend!
The Back-office is the interface used to administer an application (ex: the administration of wordpress for example). Or it is an application that is used by company agents. At the CPAM, your papers are most often processed on the backoffice side. And you can apply to work from home on WeLoveDevs.
The web, heavy clients, and mobile applications are the 3 main front families.
On the Web, there are of course server-side applications, but above all SPA (Single Page Application) coded with React, Angular or VueJS. We'll say he's a web developer!
Heavy clients are graphical interfaces developed with tools like Qt, Winform / WPF or even ElectronJS. Yes because in fact applications like Slack or Discord are in fact SPAs, in javascript, embedded in ElectronJS to look like a "native" application. On macOS you can make applications in Swift with Swift UI!
On mobile, we use the iOS or Android SDKs to create native applications. You can opt for a hybrid framework like Flutter or React Native. We'll say you're a mobile developer, but you can stay sedentary.
Front developers, more often than not, they like to make beautiful interfaces. They demonstrate user empathy. The end user may have spent hours on his interface. He must have a good time.
There is a sense of beauty, a taste for aesthetics. Making a nice interaction design can take hours. So if we don't enjoy it, if we're not particularly satisfied at the end, we're not going to flourish at the end of the day.
If you want to see this type of front dev in action, I recommend Benjamin Code on Youtube
On the Web in particular, the profession of front developer now covers a very broad scope of skills.
We called and we still call integrator or integration, the job that consists of taking a board designed by a creative in Photoshop and making HTML/CSS from it.
But today a Front dev may not like CSS, and specialize on his knowledge of the browser, of the web in general. He can also bring quality, craftsmanship, and specialize in the implementation of business logic.
On Mobile or in heavy clients, it will be necessary to implement a whole logic to retrieve the data, send the information to the backend etc... There are different architectures such as Reactive programming.
In short, there is once again a great diversity behind the profession of front dev. And it will be necessary to ensure the complementarity of people for a good team!