Le concept de design complet de la pile

Il était une fois le cas où la plupart des personnes travaillant dans le développement de sites Web avaient des rôles clairement définis au sein d'une équipe de développement, et on s'attendait rarement à ce qu'elles se chevauchent dans d'autres rôles.

Les choses ont changé. Maintenant, on peut s’attendre à ce que les personnes effectuent plusieurs tâches à la fois, et même dans les grandes organisations, les rôles peuvent être interchangeables entre les membres de l’équipe.

De plus en plus, nous voyons des offres d'emploi qui exigent des "développeurs complets", et le problème est que tout le monde ne comprend pas bien ce que ce terme signifie. Ce n'est pas non plus une exigence raisonnable dans de nombreux cas. On voit souvent que celui qui a placé l'annonce n'avait aucune idée de ce que signifie le terme, et l'a simplement utilisée parce que tout le monde le fait.

Le développement complet de la pile n’a en fait rien de spécial. Très probablement, vous avez déjà toutes les compétences requises, mais vous excellez probablement plus dans un domaine particulier de la pile que dans d'autres. Il devient de plus en plus difficile d’être embauché en tant que spécialiste. Il est donc judicieux de bien comprendre les technologies de pile de stockage.

image par

Pourquoi la demande de développeurs full stack est contre-productive

Les designers sont bons en design. Les codeurs savent bien coder. Les ingénieurs sont bons en ingénierie. Lorsque vous avez besoin d'une personne compétente dans chaque partie du travail de conception et de développement, vous pouvez obtenir des résultats moins que parfaits.

C'est la logique simple. Quelqu'un qui se passionne pour le design doit concevoir, tout comme quelqu'un qui se passionne pour le code devrait coder. Si un codeur né est contraint de concevoir quelque chose, il peut proposer un design acceptable, mais celui-ci ne sera probablement pas aussi bon que celui conçu par un designer né.

S'il peut être utile pour les membres de l'équipe de comprendre les tâches de chacun, et même de pouvoir se remplacer, il est généralement préférable de permettre à chaque membre de tirer le meilleur parti de ses forces.

Qu'est-ce qu'un développeur full stack?

Nous commencerons par définir ce que “la pile” est réellement. L'idée de la pile est un groupe de technologies interconnectées qui permettent à un site d'exister.

Un développeur de pile complète est donc une personne capable de gérer toutes les couches de cette pile de technologies sans broncher.

La première couche: UX Research

Le processus de développement d'un site Web commence par déterminer l'objectif que le site est censé atteindre, puis par l'élaboration d'un plan basé sur cet objectif.

L’expérience utilisateur (UX) est un concept mal défini qui est fondamental pour la conception et le développement de sites modernes. Lors de la planification du site Web, vous devrez prendre en compte l'UX que vous créez. Cela nécessite des recherches pour déterminer les attributs dont le site aura besoin pour obtenir une UX positive.

gif par

La deuxième couche: UI Design

Après avoir déterminé les facteurs qui généreront une expérience utilisateur positive, vous allez maintenant concevoir une interface utilisateur qui traitera les facteurs UX que vous avez identifiés.

Cela implique de penser à des éléments tels que les indicateurs de chargement, le menu de navigation, la navigation, la structure du site, les arrière-plans, les images, les polices, les couleurs et peut-être même des éléments plus avancés tels que l'audio et la vidéo.

L’objectif est de simplifier au maximum l’accès à toutes ces choses et de les rendre belles et fonctionnelles. S'assurer que les composants individuels sont optimisés est également une bonne idée de planifier.

La troisième couche: développement frontal

C'est là que commence la véritable action. Jusqu’à présent, tout était planifié et conçu, mais à ce stade, nous avons mettre en œuvre la conception. En utilisant HTML, CSS, JavaScript et peut-être d'autres technologies, le prototype de site Web prend forme et (éventuellement) vie.

À moins que le site ne soit très simple, il ne sera probablement pas entièrement fonctionnel à ce stade. Cependant, ce sera un prototype fonctionnel qui aura au moins l'apparence de ce que le site fini est censé être.

gif par

La quatrième couche: développement back-end

La partie arrière du site est l'endroit où des technologies habilitantes spéciales sont utilisées. Si votre site doit do tout ce qui se trouve du côté du serveur en fonction des actions de l'utilisateur (par exemple, le traitement du contenu d'un panier d'achat avant de transmettre une demande à PayPal), c'est ici que cela se produit.

Il existe de nombreuses technologies différentes parmi lesquelles vous pouvez choisir pour prendre en charge ces tâches, et certaines conviennent mieux que d'autres. Pour le moment, les choix les plus courants sont PHP et Ruby, mais il existe bien d'autres choix que 1000 qui pourraient tout aussi bien être sélectionnés.

PHP est la solution la plus flexible et la plus simple, mais peut ne pas être nécessairement la plus efficace. Pour ceux qui débutent leur carrière, c'est le meilleur langage que l'on puisse apprendre côté serveur, car il est facile à apprendre et parce qu'il est si largement utilisé à bien des égards.

Cette couche peut parfois inclure des éléments tels que la configuration et l’administration du serveur, l’ingénierie réseau, etc.

La cinquième couche: Administration de la base de données

Concevoir et développer des bases de données pour prendre en charge les tâches que votre site doit gérer peut être un travail majeur. Pour bien le faire, vous devez maîtriser l’architecture de la base de données et devenir également un maître de SQL.

C’est l’une de ces choses qui semblent très simples et qui se révèlent plus complexes que prévu. Tout dépend de la fantaisie des tâches à exécuter.

illustration par

Comment un nouveau développeur doit-il s'y prendre pour acquérir les compétences nécessaires?

Le meilleur moyen est de commencer à apprendre à partir de la cinquième couche et de descendre à la première. C'est parce que les couches sont classées par leur difficulté à apprendre. La tâche la plus difficile consiste à créer d’excellentes bases de données. C’est également la tâche la moins intéressante pour la plupart des gens. Mieux vaut le sortir de la voie rapidement, alors.

Vous passeriez ensuite à apprendre un langage de programmation tel que PHP, Ruby, Python, Java, etc. Vous pouvez en apprendre autant ou aussi peu que vous le souhaitez, mais les possibilités disponibles pour les programmeurs PHP sont beaucoup plus nombreuses que pour les autres langages. en ce qui concerne le développement web. L'exception est JavaScript, mais cela reste principalement considéré comme un langage côté client, il appartient donc techniquement à la troisième couche.

Après avoir maîtrisé un langage de programmation principal, vous passerez à l’apprentissage de la tâche beaucoup plus facile de création de sites avec HTML, CSS et JavaScript (et / ou d’autres technologies).

Ensuite, vous passerez à la tâche encore plus facile de la conception d’interface utilisateur. Compte tenu de sa simplicité, il est surprenant que de nombreux sites disposent d'interfaces utilisateur mal conçues ou extrêmement dérivées. La conception de l'interface utilisateur n'est pas le moins du monde difficile.

Enfin, vous arrivez à la chose la plus facile de toutes, qui est la recherche UX. Si celui-ci est si facile, c'est parce que vous y êtes impliqué depuis le jour de votre naissance. Nous venons au monde en réaction à des choses qui nous apportent de la joie ou de la détresse.

À l'âge adulte, vous devriez avoir une bonne compréhension de ces choses et la conception de l'expérience utilisateur planifie simplement une expérience utilisateur qui inclut davantage d'éléments qui suscitent de la joie et moins de ceux qui causent de la détresse.

image d'en-tête avec la permission de

Avatar

Bogdan Rancea

Bogdan est un membre fondateur d’Inspired Mag, ayant accumulé près de 14 années d’expérience 6 au cours de cette période. Dans ses temps libres, il aime étudier la musique classique et explorer les arts visuels. Il est également obsédé par les fixies. Il possède déjà 5.