Comment apprendre le développement frontal, trouver son premier emploi et ne pas se faire de soucis

image

Frontend, la meilleure, la meilleure et la plus accueillante direction pour se lancer dans l'informatique. Mais tout n'est pas si simple avec lui - dans le front-end, il est facile de commencer et il est difficile de devenir un maître. Ce ne sera pas le tourment de choisir un langage de programmation, mais il y aura une lutte avec ses défauts. Dans ce domaine, il existe de nombreux outils dont l'étude s'appuie sur l'évolution d'une profession particulière.

Nous avons demandé à Oleg Shikov, le doyen du département de développement Web chez GeekBrains, et Daria Dyachkova, un développeur Web débutant , comment apprendre correctement, comment ne pas se faire de gros problèmes et progresser dans une carrière .



En 2015, Daria Dyachkova est entrée à l'École supérieure d'économie de la Faculté d'économie mondiale et des affaires internationales parce qu'elle aimait surtout les langues à l'école - elle a étudié l'anglais et l'allemand, elle a constamment remporté les Jeux olympiques. Elle aimait cette sphère, mais pas pour la splendeur de ses yeux, alors Daria continua de chercher un futur métier. En 2018, elle est venue un jour de carrière dans l'une des agences RH, après quoi elle a changé de direction dans une direction inattendue.

«J'ai passé un long test psychologique, où ils ont considéré le type de personnalité, l'état d'esprit, etc. Aucune offense aux psychologues, mais je suis sceptique quant à ces tests. Après le test, ils m'ont dit «eh, le programmeur disparaît» et ont proposé d'écouter un discours sur la transition vers le monde informatique. J'ai haussé les épaules, je suis allée m'allumer. »

À la maison, elle a commencé à google, regarder des revues de professions. Auparavant, Daria a créé des pages Web sur Tilda et Wix, a gardé son blog sur l'actualité internationale, j'ai donc pensé au frontend en premier lieu. Néanmoins, elle a parcouru tous les webinaires d'introduction des professions et des langages de programmation, a essayé d'écrire un petit morceau de code dans plusieurs langages de programmation et a choisi JS comme l'esprit le plus proche.



Que fait l'endossement frontal


«Si vous ouvrez une page dans le navigateur, tout ce que vous voyez devant vous sur la page est le frontal. Mais en fait, leur travail est beaucoup plus compliqué qu'une seule apparence », explique Oleg Shikov, doyen du département de développement Web chez GeekBrains.

Oleg a écrit le code depuis son enfance. Les premières expériences ont eu lieu en C, et en 2011, il est passé au Javascript. Une grande partie de ce qui se trouve actuellement dans la technologie n'en était qu'à ses débuts. HTML et CSS n'avaient pas beaucoup de potentiel, et Flash prévalait dans l'industrie. La profession dans son ensemble était beaucoup plus simple - juste une mise en page HTML et une mise en page simple. Il suffisait d'écrire des balises et de les styliser magnifiquement en CSS. Les utilisateurs ont cliqué sur un bouton et la page a été complètement rafraîchie. La demande au serveur est partie, le serveur a donné une nouvelle mise en page. Mais cette approche ne permettait pas une interface réactive.

«La tâche du fournisseur frontal ces jours-ci est de construire la logique des sites du côté du navigateur», explique Oleg, «Cette logique est développée dans le langage de programmation JavaScript. Les sites modernes peuvent fonctionner pleinement du côté client, en ne faisant des demandes au serveur qu'occasionnellement, par exemple, pour enregistrer les données utilisateur ou télécharger les informations nécessaires. Autrement dit, nous demandons maintenant une page pas complètement mise à jour, mais uniquement les informations nécessaires, et la restituons correctement dans le navigateur. Grâce à ce comportement, les sites deviennent plus réactifs et économisent une partie du trafic de l'utilisateur. »



Frontend d'apprentissage - apprend JavaScript?


Après avoir décidé de la direction, Daria est entrée à la faculté de développement Web de GeekBrains. De l'avis de beaucoup, la formation de l'interface a fusionné avec l'étude du langage Javascript, mais, selon Oleg Shikov, ce n'est pas entièrement vrai.

«La première chose à commencer est bien sûr le HTML. C'est extrêmement simple, c'est très facile à gérer, c'est très facile d'écrire votre premier site web. Bien sûr, il ne sera pas réactif, mais cela fonctionnera et il peut déjà être affiché sur Internet. Ensuite, vous devez ajouter une belle apparence à ce site afin qu'il ne soit pas seulement une toile de texte, mais une belle page pratique avec des éléments visuels. Les feuilles de style CSS en cascade vous aideront. Quelques semaines suffisent pour maîtriser à la fois HTML et CSS. Et juste après cela, vous devez démarrer JavaScript, car c'est la base de la création d'une interface réactive. »

Mais quand la popularité vient de la technologie, elle est suivie par une mer de critiques. De nombreux développeurs expérimentés, l'un après l'autre, révèlent des problèmes et du langage dans leurs rapports, discours et articles et proposent des alternatives. Débutant ces discussions ne peuvent qu'égarer. Selon Oleg, ce serait une erreur de commencer à apprendre les frontends à partir d'autres langues simplement parce qu'elles sont plus appréciées par les professionnels.

«Il y a quelques années, tout le monde a blâmé PHP ensemble, maintenant tout le monde a blâmé JavaScript, c'est un grand courant. Bien sûr, JavaScript n'est pas sans problèmes, personne ne conteste cela. Mais par exemple, TypeScript (un autre langage populaire de Microsoft, qui est une extension des capacités de JS) n'est pas exécuté dans le navigateur lui-même - il est traduit (compilé) en JavaScript. Si nous écrivons quelque chose sur TypeScript, nous obtiendrons toujours JavaScript, qui s'exécutera déjà dans le navigateur. Pour déboguer correctement le code, vous devez connaître JavaScript et pouvoir travailler avec le navigateur. »

Mais Daria prend le temps d'apprendre des choses qui ne sont pas incluses dans le programme.
«J'ai l'habitude d'apprendre et de comprendre beaucoup de choses jusqu'à la fin, je fais partie de ces personnes qui lisent tous les documents supplémentaires aux articles et effectuent des tâches supplémentaires, car elles sont simplement intéressées. Je prends le temps d'apprendre, par exemple, Nuxt.js, Typescript, Vue.js, Webpack et Stylus. "



Que sont React, Vue et Angular et comment les choisir


En plus de Javascript et d'autres langages, les développeurs front-end ont besoin de connaître divers outils pour travailler. En JavaScript pur, il est assez difficile de développer des interfaces de pages Web réactives interactives sans utiliser de bibliothèques tierces.

Une bibliothèque est également du code JavaScript déjà écrit par d'autres développeurs. Il fournit un ensemble pratique de solutions pour réaliser les actions préparées qui sont régulièrement requises dans le travail. Il existe une grande variété de bibliothèques sur le Web qui facilitent l'écriture d'interfaces de site Web réactives. Parmi eux, les plus célèbres sont React, Vue et Angular.

«Le choix entre eux est une question difficile. Vous pouvez apprendre les trois. Ce n'est pas une tâche extrêmement difficile, car lorsque vous comprendrez comment travailler avec un, chaque suivant sera plus facile à apprendre. Mais selon mes observations, elles sont un peu utilisées dans différents domaines. Angular est l'un des plus anciens. Il est souvent utilisé dans le segment des entreprises, sur de grands projets, avec un support de code hérité qui a été écrit il y a plusieurs années. React est omniprésent. Il est le premier sur la liste lorsqu'ils écrivent de nouvelles interfaces et de nouveaux services Web. À propos de Vue, vous pouvez dire qu'il est simple, jeune, cool et traditionnel.

Je conseillerais d'essayer d'écrire une logique simple sur les trois cadres - relativement une feuille de tâches - en fonction de mes sentiments, de comprendre lequel j'aime le plus et de l'apprendre. Ou regardez les postes vacants dans votre ville et choisissez, par exemple, React, car la plupart des postes vacants pour les développeurs front-end nécessitent une connaissance de React. Mais la reconversion ne sera pas difficile. »

Daria écrit des romans d'aventure et élabore un guide sur l'univers de son livre sur Nuxt.js. Elle fait également des projets et des atterrissages pour ses amis, elle a donc appris la mise en page adaptative, les requêtes médiatiques et plus encore. «J'ai commencé React.js, j'ai proposé un projet pour l'avenir que je veux implémenter sur React Native. Pendant que je planifie l'architecture, dessine avec des organigrammes et découvre les technologies qui peuvent être utilisées. »



Comment est l'étude


«Lorsque la formation a commencé, les enseignants ont tout expliqué parfaitement - il est important pour moi d'intégrer les connaissances acquises dans un système. Les devoirs ont aidé à consolider la compétence, un bonus a donné un conseil où et quoi d'autre à enseigner. J'ai lu et maîtrisé beaucoup moi-même, regardé des manuels et des mini-leçons sur YouTube. Chez GeekBrains, vous pouvez toujours écrire à un professeur ou un tuteur ou à votre groupe pour discuter. Tout aidera, expliquera-t-on. Si vous trouvez un article intéressant, il y a aussi quelqu'un avec qui partager et discuter.

Je pense que lorsque vous verrez votre premier Hello world, personne n'oubliera. Et en général, le sentiment quand j'ai fait une belle interface utilisateur à partir de la mise en page, et cela fonctionne aussi, est un lecteur. "

L'étude dure un an et demi. Oleg Shikov estime que le simple fait d'apprendre la syntaxe est ennuyeux, donc l'apprentissage se construit tout de suite autour de projets. «Nous donnons les choses de base, la syntaxe, et essayons immédiatement de les mettre en pratique, écrivons des pages Web simples. Après cela, nous donnons PHP, enseignant ainsi aux étudiants le développement backend (serveur). Pour certains développeurs novices, il semble suffisant d'apprendre le HTML avec JavaScript, et cela suffit pour devenir populaire sur le marché. En fait, pas tout à fait. Vous devez connaître l'architecture, les algorithmes, les modèles et les cadres - et pas seulement le savoir. Une autre pratique s'impose, nous devons écrire notre propre produit, participer au développement collectif. »

Au début de la formation, les élèves écrivent le code séparément, le vérifient avec l'enseignant, et au milieu de la formation, ils commencent à développer le produit avec leurs camarades de classe, grâce auxquels ils acquièrent de l'expérience dans le développement d'équipe.

En plus d'étudier, Daria aime étudier sur la plateforme Kodiri.com, où se déroulent des compétitions internationales en JS. «Là, vous pouvez vous entraîner seul, résoudre des tâches pour le temps, la précision et la beauté du code. J'ai rencontré le fondateur de la plateforme Ricardo - c'est un gars cool. Maintenant j'écris des puzzles pour eux. Pour chaque tâche, j'applique une solution de référence et des tests (donc, au fait, j'ai commencé à écrire des tests unitaires). C'est amusant pour moi de rivaliser avec d'autres joueurs lorsque la probabilité qu'au moins l'une des cinq tâches soit votre paternité est de .90,94. Oui, je pensais, j'étais curieux de savoir pourquoi je les rencontre si souvent. Je décide honnêtement la mienne et ne regarde pas les réponses. Il capture l'élément de gamification, j'ai déjà reçu les plus hautes épaulettes (Majesté Impériale), il ne reste plus qu'à faire de Yurash le meilleur joueur du mois. En général, il me manquait cet élément du jeu et l'esprit de compétition à l'entraînement.Je pense que cela vaut la peine d'ajouter de telles opportunités aux plateformes éducatives. Quelques jours de puzzles de Kodiri sur la vitesse, et dans un rêve, j'écrirai arr.map (e => ".



Trouver votre premier emploi


À quel stade commencer une recherche d'emploi est une question très controversée dans l'industrie. Certains sont convaincus que seules des années d'enseignement et de développement de la théorie dans la pratique dans des conditions sûres donnent à une personne le droit de demander de l'argent pour son développement. D'autres, au contraire, que vous devez apprendre tout en travaillant dans le travail actuel. Selon l'enseignant, de nombreux élèves empruntent la deuxième voie.

«Je connais des étudiants qui ont reçu des premières commandes ou obtenu un emploi dans des entreprises au troisième trimestre. Ils ont poursuivi leurs études, en le combinant avec le travail. Tout dépend de la personne et de sa capacité à apprendre. Il est plus facile pour un développeur novice d'entrer dans une petite entreprise que dans une grande. Dans des entreprises comme Mail.ru ou Yandex, une sélection stricte. Tous les développeurs expérimentés ne pourront pas y arriver. Mais chacun peut tenter sa chance, bien sûr. »

Lorsque Daria a suivi six mois de formation et un résumé de portfolio sous forme de site, elle a effectué plusieurs entretiens, mais elle n'avait pas suffisamment de compétences pour obtenir un développeur front-end.

«Lors de la première entrevue, c'était effrayant. J'ai postulé pour un poste de développeur front-end pour Vue. J'ai préparé avec soin, répété tout le matériel de JS et Vue, et tout ce que GeekUniversity a appris en six mois, trié les questions délicates et toutes sortes de petites choses où JS se comporte de manière imprévisible. L'entretien a eu lieu sur Skype. Une petite entreprise, immédiatement un entretien technique, court-circuitant les RH. J'ai répondu avec enthousiasme aux questions, nous avons discuté pendant une heure ... puis il s'est avéré qu'ils recherchaient toujours la pile complète d'un développeur. Ça arrive".

image
Chez Habr Career, vous pouvez voir les dernières offres d' emploi pour les appels d'offres et vous abonner à la newsletter pour les nouvelles.

"Les développeurs juniors sont posées des questions simples pour s'assurer qu'ils connaissent les bases", a déclaré Oleg. "Je voudrais poser des questions sur la disposition adaptative et sémantique, sur la façon de travailler avec du JavaScript pur. Maintenant, la tendance est aux frameworks et bibliothèques, aux mêmes React, Vue et Angular, et "vanilla" JavaScript sans bibliothèques supplémentaires - tout le monde ne le sait pas. Je voudrais m'assurer que le développeur sait comment travailler avec lui et ne s'est pas précipité immédiatement au camp React conditionnel.

Dans tous les cas, vous devrez consacrer un certain temps à répondre aux différents postes vacants, à passer différents entretiens. Les passer est aussi une certaine expérience et compétence. Les échecs sont une situation normale, vous n'avez pas du tout besoin d'avoir peur

«Après deux autres entretiens, on m'a conseillé de poursuivre mes études et de réessayer plus tard. Nous avions également besoin de connaissances générales - protocoles, solutions architecturales et plus encore. J'ai compris moi-même, il était trop tôt pour s'installer. Par conséquent, j'ai trouvé un travail intéressant avec l'informatique - j'ai obtenu un ingénieur de support technique dans Bookmate. Il est de la responsabilité du lecteur de répondre aux questions sur le fonctionnement de l'application et du site, de conseiller quelque chose de petit sur la façon de le résoudre et de résoudre les problèmes plus importants pour émettre des bogues dans JIRA et Confluence. De plus, maintenant je peux imaginer comment les utilisateurs ordinaires utilisent l'interface utilisateur / UX de notre application. Astuce, "ce n'est pas un bug, c'est une fonctionnalité." Ou quand les développeurs voulaient le meilleur, mais les utilisateurs ne comprenaient pas comment c'était et pourquoi.

Une bonne occasion de regarder des deux côtés est la façon dont les utilisateurs utilisent l'application et comment les développeurs la développent et la réparent. »



Comment évoluer dans la profession


- Je vous conseille de vous développer en développeur full-stack, pour connaître à la fois le backend et le frontend. Si nous ne parlons que de l'interface, alors - bien qu'il soit nécessaire de bien connaître JavaScript - sans framework nulle part. Ils doivent être enseignés.

TypeScript vaut le détour, bien qu'il ne soit pas requis dans tous les travaux. C'est en fait intéressant et il est très facile pour un développeur JavaScript de l'apprendre. En fait, c'est le même langage avec des fonctionnalités supplémentaires qui vous permettent d'écrire des systèmes plus fiables. TypeScript ajoute un système de type explicite au langage, ce qui nous permet de dire que cette variable sera numérique et cette variable sera une chaîne.

En JavaScript pur, ce n'est pas le cas, la variable peut être de tout type, et cela conduit parfois à des erreurs. Vous vous attendez à un nombre dans une variable, mais vous obtenez, par exemple, une chaîne ou un objet, et à cause de cela, la logique du travail du programme se casse. TypeScript permet d'éviter une telle erreur.

Maintenant, beaucoup se tournent vers PWA. Le fait est que, comme je l'ai dit, le marché des smartphones est énorme. La plupart des utilisateurs qui visitent votre site sont plus susceptibles de le faire à partir du téléphone.

PWA (Progressive Web Applications) - ce sont des sites qui ont des fonctionnalités supplémentaires qui vous permettent de travailler facilement avec eux, y compris à partir d'un smartphone. Par exemple, sur un site Android PWA, vous pouvez l'ajouter à votre écran d'accueil et le lancer en cliquant simplement sur l'icône. Il existe des opportunités qui peuvent améliorer le site pour qu'il fonctionne même lorsqu'il n'y a pas d'Internet sur le smartphone. Autrement dit, il s'agit presque d'une application native. Récemment, Google a publié une mise à jour de Google Play, grâce à laquelle vous pouvez ajouter votre site PWA au magasin, et les utilisateurs peuvent le télécharger et le mettre à jour en tant qu'application native régulière, ce qui est presque impossible à distinguer d'une application régulière écrite, par exemple, en Java. Mais en réalité, il est écrit en JavaScript et composé en HTML.



Les salaires


Le salaire médian du stagiaire est au niveau de 35 mille roubles. Le spécialiste du niveau junior peut compter sur 50 mille, le milieu - déjà sur 97 000. Signor et plomb reçoivent en moyenne 170-190 mille roubles. Selon le calculateur de salaire Habr Career, le salaire moyen d'un développeur front-end est un peu moins de 110 000 roubles (le diagramme est cliquable).






Que lire et voir pour l'autoformation



En ligne:



Livres directement sur JS et HTML / CSS:

  • Vous ne connaissez pas JS (il existe une traduction en russe «Vous ne connaissez pas JS»)
  • »HTML5. ".
  • « CSS3».
  • «JavaScript. ».
  • «JavaScript. ».
  • «JavaScript. ». .


:

  • «- ».
  • « ».
  • « SQL. MySQL 5». ,
  • « ».
  • « - . ». , , ,
  • « ».
  • « ». ,
  • « ». ,
  • «. ». . , . , . , .

Source: https://habr.com/ru/post/undefined/


All Articles