De Front end à Full stack

35532
,

Bonjour,

Ca fait 7 ans que je bosse dans le front end et le UI.
Mon rêve : faire du CSS à longueur de journée, avec du HTML, JS et design qui va avec.
La réalité : JS rapporte le fric. Pas trop loin du rêve, ça va encore je suis content.

L'entreprise dans laquelle je bosse ferme, et je me suis mis à la recherche de boulot. Mais je réalise que les offres de Full stack se multiplient, et que côté front end, pour le moment c'est React le boss, suivi par Angular. Vue arrive doucement doucement (je l'aime !).

Je me suis dit que Full stack ça n'existe pas, soit c'est quelqu'un avec des années d'expérience soit c'est un génie car il n'y a plus le temps de se concentrer sur toutes ces différentes technologies. Mais en fait, j'ai compris que les gens, en passant par les ressources humaines bien évidemment, recherchent quelqu'un de polyvalent et pas toujours expert (comme un combo senior front end / junior back end ou vice versa). Et ça me paraît même plus simple que devenir un expert front end dans tous ces frameworks qui sortent chaque année. Les salaires sont plus hauts aussi et la demande bien plus grande.

Au début je pensais apprendre les bases de React suivi de Angular, puis un jour peut-être Node. Puis avec cette histoire de full stack je me suis dit peut-être commencer par Node, et me vendre comme full stack puis ensuite progresser dans d'autres frameworks commr React et Angular.

Maintenant, je suis vraiment un pur front end... j'essaie d'apprendre les bases du back avec pour mots clefs sur ma roadmap: NodeJS, Express, MySQL, MongoDB, websockets, REST.

Questions :
1) Que pensez-vous du marché actuel au niveau recherche d'emploi concernant ce sujet de full stack ? Vos conseils ?
2) Donnez moi des exemples de tâches de développeur back end
3) Qu'est-ce que web socket et REST, j'ai vraiment du mal à comprendre.

Merci =D

1 Réponse

26207
,

Hello,

1)
En tant que dev full stack d'ecrit sur mon contrat :D, je vais essayer de t'aiguiller sur le quotidien de mon métier.

Le dev full stack a plusieurs cordes à son arc. C'est plutot un responsable de service / chef d'équipe qui connait l'intégralité de la stack technique nécessaire au bon fonctionnement d'un site web. C'est pas le pro du react / CSS / jquery / php / MySQL / linux / reseaux / git etc... mais c'est quelqu'un qui en connait assez pour dire qu'une image trop grande en CSS peut avoir un impacte sur les performances serveur.

Mon quotidien c'est :

  • maintenir un vieux site en php / CSS / Jquery
  • Développer une API rest
  • developper 1 front en react JS
  • maintenir une infrastructure d'une dixaine de serveur. ( de temps en temps)
  • gérer une équipe.
  • faire de la gestion de projet.

a coté de moi, j'ai des gens qui sont meilleur que moi dans tous les domaines cité plus haut. MAIS... si demain tout le monde meurt, je saurai me débrouiller seul et maintenir toute la stack technique utilisé.

2)
De ce que je comprend, tu est plutot un développeur dit "Front" CAD que tu maitrise l'HTML, le CSS et le JS. (jquery, react vue ou autre...)
Qu'est-ce que web socket et REST, j'ai vraiment du mal à comprendre
le dev back va plutot développer l'application coté serveur et gérer la BDD (php & mysql mais pas forcement... ruby on rails / pgSQL, django / noSQL (framework web en python)

et tu as enfin les admin systemes. qui eux gèrent les serveurs, les plantage, l'epluchage de logs etc... montent de nouvelles machines pour proposer plus de services etc...

un dev fullstack connait parfaitement la vue d'ensemble et est capable de déterminer le probleme qu'un coeur de métier peux engendrer sur un autre.

3)

tu sait qu'une requette HTTP ne fonctionne que dans un sens ? tu envoi une demande au serveur et tu recoit la réponse. Fin de l'histoire.

en web socket, c'est comme si tu faisait un tunnel entre ton PC et un serveur. Et par ce biais, le serveur peux t'envoyer des informations directement a ton pc. (utilse dans le cas d'un chat par exemple... plutot que d'avoir une boucle JS qui tourne toutes les 2 secondes pour récupérer les derniers messages recu, tu peux en web socket attendre que ce soit le serveur qui t'envoie naturellement les derniers message a ton PC quand il en recoit).

le REST, ca veux dire Representationnal state transfer. en gros, Finit le transfere d'HTML, on revoit de la data brut. (générallement en JSON est tout droit sorti d'une BDD).

C'est ton application cliente (react ou vue) qui va faire les appel vers un serveur pour demander de la data. le serveur va pas te renvoyer un tableau pré formaté, il va te renvoyer la donnée brut. a toi de construire ton tableau.

si tu connais un peu comment fonctionne les requettes HTTP et les headers, tu comprendras vite comment foctionne REST.

une requette de type :

  • GET va te retourner des résultats.
  • POST pour l'edition
  • PUT pour la création
  • DELETE pour la suppression.

Générallement, on discutes en JSON entre le serveur et le client mais tu peux très bien le faire en XML, CSV ou autre...

Rien n'est normé en REST. c'est juste une méthode de travail. si t'as envie d'avoir une requette PATCH pour l'edition, rien ne t'en empeche...

Voila :) j'éspère avoir répondu a tes queques questions :)