Quelle est la différence entre un développeur en amont, un développeur en aval et un développeur complet ?

7 juin 2017

Ne vous laissez pas décourager par les mots à la mode et le jargon technique. Apprenez ce qu'est un "front-end, a "back-endet un "full-stack" (pile complète) et donnez-vous la confiance nécessaire pour les approcher avec une connaissance approfondie et une meilleure compréhension de leur rôle. Certaines de ces différences sont substantielles et d'autres sont subtiles, mais toutes sont nécessaires pour avoir une vision claire des besoins de l'industrie informatique.

The demand for developers grows every day but so do the requirements for the job. There are more web tools being built than ever before and more and more people are relying daily on software technology around the globe. So whether you are looking to hire one, or want to become one, it is good to get a good understanding of what the titles “front-end”, “back-end” and “full-stack” developer mean.

To better understand each of the roles and bring closer the person behind the magic, we will cover what skills a person in one of these positions traditionally has, what technology they use, and what need they are solving with their work.

Le développeur de premier plan

Si vous vous êtes déjà demandé ce qui donne vie à un site web et qui fait que la magie que vous voyez s'opère, vous pensez à un développeur frontal sans même le savoir. Essentiellement, tout ce qui a une présence visuelle avec laquelle les gens interagissent est fait avec le sang, la sueur et les larmes (surtout les larmes) des développeurs frontaux.

Vous avez peut-être vu certains termes, mots à la mode, mots-clés qui seront toujours associés au front end. Préparez-vous, nous allons bientôt passer à la technique.

GUIou "Interface utilisateur graphique", est une façade visuelle qu'un écran affiche pour permettre aux clients d'interagir avec le logiciel. Tous les appareils actuels auxquels on ajoute l'adjectif "intelligent" auront une interface qui permet d'exécuter des applications, d'accéder à des sites web et tout cela est construit par un développeur frontal.

UI designer, ou "Interface utilisateur designer, creates the space where interactions between human and machine occur. In terms of skill, it demands from the programmer a mix of programming and design skills, and oftentimes this person does not have to be a programmer at all.

UX Le terme "designer" désigne un "Expérience de l'utilisateur qui décrit le parcours d'un utilisateur et son efficacité globale. Les développeurs frontaux se préoccupent également de la convivialité, de l'utilité et de l'expérience globales qu'un utilisateur possède lorsqu'il interagit avec le logiciel et ce segment particulier requiert de loin les "soft skills" les plus importantes d'un programmeur. Toutefois, ce travail est également effectué par des non-programmeurs.

Conception réactiveest en revanche un travail très difficile. Il s'agit d'adapter la conception de l'interface à tous les écrans, des ordinateurs de bureau et portables à écran large aux appareils mobiles tels que les tablettes et les smartphones.

Traditionally, a front end developer is a person who is comfortable with both design and coding; in other words someone who is comfortable using simple design tools and is able to write the framework of the website in HTML et de le styliser en utilisant CSS code. Le problème que rencontrent les développeurs de sites web aujourd'hui est qu'un site web construit uniquement à l'aide de HTML et de CSS serait complètement statique. Si vous considérez un stickman sur une page blanche comme un site web. Le HTML suffirait à dessiner sa forme et le CSS serait utilisé pour le styliser (l'épaissir, le colorer, ajouter des vêtements, etc.) Mais pour faire bouger, réagir et répondre le stickman, les développeurs de sites web ont besoin de quelque chose de plus.

3d_stickman_render_example_by_bobthestickman-d303pe3

La complexité croissante des sites et des applications web a entraîné une demande Turing : des langages de programmation complets dans la partie avant se développe à grande vitesse, alors pour animer le stickman les programmeurs utilisent JavaScript, qui est un langage de programmation côté navigateur.

giphy (3)

It uses the browser to compute and does so faster than a server side language. In fact it is the backbone of almost all websites and web application on the front end today and for those who know where to look, JavaScript makes the entire code transparent – il suffit de cliquer sur "inspect element" pour voir quelques JavaScript, HTML et CSS. Nous avons déjà parlé de JavaScript sur notre blog, alors pour un aperçu détaillé de cette technologie, consultez notre site : Comment évaluer les compétences des développeurs JavaScript pour trouver les meilleurs - guide pour le recrutement dans le secteur des TI. Il existe d'autres compétences dont un développeur initial pourrait avoir besoin, et cet article de Skillcrush les couvre de manière très détaillée.

La spécialisation dans ce domaine implique d'être soit plus orienté vers la conception, soit vers la programmation, avec une demande croissante de connaissance de JavaScript et de ses cadres.

Software today has become a much more human experience, where we interact with it to allow computational power to do a lot of work for us. Front end makes it possible for us to give clear and direct input to a system. However, it terms of software’s absolute capacity, the front end is only the part we see. The processing of information and the bulk of computational activity still happens behind it. This leads us to the back end.

Le développeur d'arrière-plan

Qu'est-ce donc que le "back-end" et que fait un développeur "back end" qui est différent d'un développeur "front-end" ?

Dans le passé, l'arrière-plan consistait en un ordinateur physique et un logiciel conçu pour traiter les demandes. Aujourd'hui, en revanche, cela est devenu infiniment plus complexe, les serveurs en nuage étant plus courants, les bases de données et les applications de micro-services, mais fondamentalement, il s'agit toujours d'un processus consistant à combiner un serveur, une application et une base de données pour résoudre un problème.

L'ensemble du processus est solidement ancré dans la logique, un réseau de processus et de requêtes étant résolu en quelques fractions de secondes pour vous donner, en tant qu'utilisateur, un certain résultat souhaité. Sélectionnez un vol de New York à Hong Kong et vous vous trouvez au premier plan, appuyez sur la touche "recherche" et vous comptez entièrement sur le second plan pour vous renvoyer correctement le meilleur, le plus court et le moins cher vol en un rien de temps. Une fois les résultats affichés pour vous, vous êtes à nouveau dans le front-end. Mais si la requête de recherche de vol s'avère judicieuse et opportune, et que vous n'avez aucune idée de qui et de comment elle a été effectuée, remerciez un développeur en arrière-plan pour avoir rendu la recherche, ainsi que d'innombrables autres choses, extrêmement facile.

Un développeur back-end peut avoir plusieurs fonctions. De la création et de l'intégration de bases de données à la sécurité, en passant par les technologies de sauvegarde et de restauration, les développeurs en back-end sont le cerveau de l'application.

Logo de l'arrière-guichet

Source : Upwork

Les concepteurs de systèmes de gestion utilisent diverses technologies pour coder la logique informatique de base des systèmes d'information, des logiciels particuliers ou des sites web. Ces technologies peuvent comprendre Java, C#, Pythonet des langues de base de données comme SQL et bien d'autres encore.

Les développeurs en arrière-plan se spécialisent normalement dans un langage de programmation et les programmeurs principaux ont tendance à avoir une connaissance approfondie des cadres, des bibliothèques et des autres dépendances de ce langage.

Ils sont différents des développeurs frontaux dans la mesure où le travail d'un développeur back-end est totalement exempt de toute conception visuelle et repose sur un raisonnement logique et une architecture logicielle qui vise à fournir un résultat particulier. Il y a parfois des problèmes pour unifier le back-end et le front-end, ce qui nous amène à la personne qui est équipée pour gérer les deux.

Le développeur complet.

Un développeur de pile complète est celui qui est à l'aise pour travailler avec les technologies frontales et dorsales. "Pour être plus précis, cela signifie que le développeur peut travailler avec des bases de données, PHP, HTML, CSS, JavaScript, et tout ce qui se trouve entre les deux, en s'aventurant aussi à convertir des dessins Photoshop en code frontal". Dit Sitepoint.
1409261668002

Source : Sitepoint

A general knowledge of technologies from every section of the development process is necessary for a full-stack developer. This of course, means that they will not be an expert in any one particular field but can rather offer a better overview of applicational possibilities and capability of bridging the gap between how the system functions and how it looks and feels for the user. Perhaps not a requirement for the title, but a full stack developer normally also understands business logic, limits of design, and user interface. Early stages of business development might have a great need for full stack developers since their versatility can be useful in the development of the product, but as the company matures the developers need more and more focused skills. In 202o, the popularity of front end and back end technologies testés ensemble suggère que la demande de développeurs d'attaques ennuyeuses ne fait qu'augmenter.

Les développeurs de piles complètes peuvent également être un excellent CTO. Ils ont une large compréhension de la technologie et peuvent anticiper les futurs efforts de recrutement ou les technologies qui devront être mises en œuvre par la suite.

Le CTO de DevSkiller est en fait un développeur à part entière.

Avant de partir

Consultez nos autres ressources complètes consacrées aux différences entre les différents postes de travail :

Partager le poste

C'est plus qu'un simple bulletin d'information

Recevez des informations utiles directement dans votre boîte de réception et apprenez-en davantage sur l'embauche des techniciens.

Vérifier et développer les compétences de codage de manière transparente.

Voir les produits DevSkiller en action.

Certifications de sécurité et conformité. Nous veillons à ce que vos données soient sûres et sécurisées.