Bonjour chère rédaction! Bonjour chers collègues.
Dans quelques mois, en tant que développeur frontend, j'aurai quatre ans. Et jusqu'à cinquante dans le passeport resteront un peu moins de deux ans. Au cours de ces quatre années, la vie a changé rapidement et maintenant, après un certain temps, il est possible d'analyser quelles décisions ont réussi et lesquelles n'étaient pas très bonnes.
Commençons par les choisir. pile, et par conséquent - spécialisation. Je pense que mon choix (frontend, javascript) s'est avéré réussi, et je veux maintenant analyser pourquoi.
Mon parcours. Je suis diplômé de Donetsk Polytechnic avec un diplôme à Mishustin (ingénieur système), en 1994. Ayant travaillé pendant quelques années en tant qu'ennemi dans divers postes à Donetsk, j'ai rejoint une petite entreprise familiale (imprimerie), dans laquelle je suis resté pendant les 15 à 20 années suivantes. 15 ans dans son entreprise, et encore 5 ans à essayer de profiter de l'expérience de l'industrie en travaillant pour la location. Ces cinq dernières années n'ont vu ni succès significatif ni perspectives inspirantes. À la recherche d'une alternative, j'ai commencé à essayer de faire des choses sur le Web. C'étaient de simples sites pour les connaissances ou pour leurs propres besoins.
Après quelques expérimentations, j'ai réalisé que pour apprendre à bien faire quelque chose, il fallait choisir une spécialisation. J'ai choisi le frontend, je l'ai enseigné pendant environ un an, puis j'ai obtenu mon premier emploi à temps plein, et en trois ou quatre ans, je suis passé de juin à Signor. Maintenant, pour passer à l'étape suivante, j'apprends Java.Aujourd'hui
je pense que cette séquence - d'abord js, puis java - s'est avérée correcte. Les raisons suivantes.
Au moment de décider par où commencer, pourquoi Java est-il la deuxième option à côté de Fronted et non Python, C #, Golang? Parce que Java est du code d'entreprise. C'est un gros téléchargement réussi. C'est l'assurance maladie. Ce sont de nombreux collègues dont vous pouvez apprendre. Et il existe de nombreux postes vacants. Et il y en aura beaucoup dans 10 ans.
Nous n'avons pas besoin de Python - sur le Web, ce sont des prototypes, des stataps et des scripts. Les scripts sont des devops, et nous sommes des membres de la famille, nous avons besoin de bons salaires, pas de nuits de travail. Python est également un bon outil pour les analystes, mais c'est une carrière différente. Longue, pas garantie, ici, vous devez vous rendre au bon endroit presque immédiatement.
C # est un excellent langage, peut-être le meilleur. Mais il n'a pas battu Java, et il ne peut pas. Et rappelez-vous, quel langage est le meilleur, ce ne sont pas les développeurs qui décident, mais l'entreprise lorsqu'ils choisissent la pile technologique. Un développeur peut parfois influencer ce choix, mais en général pour lui ce choix est acquis.
Golang est susceptible de grandir. Apprenez-le après Java afin de pouvoir réécrire l'ancien code de Java vers Go dans un grand bureau stable. Comme cela se produit maintenant, par exemple, dans Yandex.
Et en fin de compte, pourquoi est-ce Frontend et non Java?
Façonné avec un seuil d'entrée inférieur. Il y a quatre "gros" sujets à explorer en javascript: fermetures, ceci, asynchrone, héritage. Bien sûr, il y a aussi la mise en page, qui sera discutée séparément plus tard. En attendant, sur ces quatre sujets.
Les fermetures sont le module, les modèles de décorateur et le fonctionnement de js dans les rappels. Vous devez vraiment le savoir. Vous devrez démonter, apprendre, sinon cela vous fera mal. Mais c'est plus que réel, et en comparaison avec quels «mais» la fermeture fonctionne, par exemple en Java, ce n'est rien.
Ce travail en js est très différent de celui des autres langues. Ici, vous devrez analyser plusieurs options pour son utilisation - dans un constructeur, dans une instance, dans une méthode, dans une fonction de flèche, et oui, js-e cela a de nombreux visages, rien ne peut être fait ... C'est-à-dire, je voulais dire, merci Dieu. Mais pour commencer, quelques-uns de ces dix cas suffiront pour que vous commenciez à travailler, en gagnant d'abord un bon argent, puis un très bon argent.
Asynchronie. Promesses, setTimeout. De plus, le sujet n'est pas évident pour un débutant, mais le dernier des plus importants. Si vous avez retiré des fermetures et ceci, maîtrisez aussi l'asynchronisme, plus un mois.
Tout. Vous demandez, qu'en est-il de l'héritage? En tant que concept, l'héritage prototypique est très simple. Il a de nombreuses nuances d'implémentation et de nombreuses implémentations elles-mêmes dans JS. C'était. Avant l'arrivée de l'ES6. Désormais, les questions d'héritage sont plus un moyen de montrer à un débutant qu'il ne sait pas encore tout, qu'un incontournable pour commencer un vrai travail.
Maintenant une question. Ces trois «gros» sujets peuvent-ils être comparés aux mêmes génériques Java? Oui facile. Rappelons-nous comment la programmation fonctionnelle est implémentée en java. Ce sont tous des liens séparés par deux deux points ... C'est plus que comparable à l'insaisissable this dans js ...
En général, en tant que langage, js est beaucoup plus convivial pour les débutants.
Oui, oui, oui, bien sûr, il y a du CSS. Feuilles de style en cascade. Huit façons de centrer un div verticalement, pas d'humain. Les lâches ont inventé l'encapsulation. Faites en sorte que cela fonctionne dans tous les navigateurs. Et votre patron a généralement une mûre, et elle devrait aussi y être belle. Mais.
Flex-box est rapide à apprendre et vous pouvez déjà montrer quelque chose. Le reste peut être appris déjà au travail et la mise en page multi-navigateurs peut être abandonnée aux concepteurs de mise en page, qui sont bien plus qu'un bon travail pour eux.
C'est l'image de départ. En conséquence, si vous comparez un début en js avec un début en java, vous étudiez trois à six mois de moins et obtenez un emploi - le premier, environ 80000 - à Moscou. Et quand un voisin-javiste obtient son premier travail pour 100 000, vous êtes prêt à obtenir le second, pour 120. Vous faites un javiste au début. Et ces premiers mois de récupération sont très, très importants si vous les attendez déjà avec impatience.
Continuons la compétition avec un javiste imaginaire. Quelques années de plus passent. Si vous investissez et que le javiste investit, vous devenez un intermédiaire confiant. Javist approche la gamme de 150 à 180 000. Frontender est quelque part dans la gamme de 140 à 160. S'il n'entreprend aucun effort supplémentaire (je l'ai fait, donc je ne me cite pas en exemple). Et c'est très intéressant ce qui se passe ensuite.
Passage à la catégorie développement senior. Il s'avère que le frontend est plus facile à dériver vers la pile complète. Parce que js est un langage multi-paradigme. Oui, la POO dessus ressemble plus à un jouet, mais c'est le cas. Et le fonctionnalisme est plein, et il est à la mode. Réagissez, rxjs. Fronend vous apprend imperceptiblement à apprendre rapidement. Et puis vous dépassez le javiste et vous vous précipitez dans l'immense espace de carrière ...
Par conséquent - le frontend!
PS j'aide ceux qui souhaitent maîtriser le frontend gratuitement. Écrivez dans un compte personnel ou dans les commentaires.