So lernen Sie die Front-End-Entwicklung, finden Ihren ersten Job und bekommen keine Unebenheiten

Bild

Frontend, die beste, beste und einladendste Richtung, um in die IT einzusteigen. Aber bei ihm ist nicht alles so einfach - im Frontend ist es einfach zu beginnen und es ist schwierig, ein Meister zu werden. Es wird nicht die Qual sein, eine Programmiersprache zu wählen, aber es wird einen Kampf mit ihren Mängeln geben. In diesem Bereich gibt es viele Instrumente, deren Studium sich jeweils auf die Entwicklung eines bestimmten Berufs stützt.

Wir haben Oleg Shikov, den Dekan der Webentwicklungsabteilung bei GeekBrains, und Daria Dyachkova, eine Webentwicklerin für Anfänger, gefragt, wie man richtig lernt, wie man keine großen Treffer erzielt und Karriere macht .



2015 trat Daria Dyachkova in die Hochschule für Wirtschaft an der Fakultät für Weltwirtschaft und internationale Angelegenheiten ein, weil sie Sprachen am meisten liebte - sie lernte Englisch und Deutsch und gewann ständig die Olympischen Spiele. Sie mochte diese Sphäre, aber nicht die Pracht in ihren Augen, also suchte Daria weiter nach einem zukünftigen Beruf. 2018 kam sie an einem Karrieretag zu einer der Personalagenturen, danach wechselte sie die Richtung in eine unerwartete Richtung.

„Ich habe einen langen psychologischen Test bestanden, bei dem die Art der Persönlichkeit, die Einstellung und vieles mehr berücksichtigt wurden. Keine Beleidigung für Psychologen, aber ich bin skeptisch gegenüber solchen Tests. Nach dem Test sagten sie mir: "eh, der Programmierer verschwindet" und boten an, einen Vortrag über den Übergang in die IT-Welt zu hören. Ich zuckte die Achseln, ging und zündete mich an. “

Zu Hause begann sie zu googeln und sich Bewertungen von Berufen anzusehen. Zuvor hat Daria Webseiten über Tilda und Wix erstellt und ihren Blog über internationale Nachrichten geführt, sodass ich zuerst über das Frontend nachgedacht habe. Trotzdem durchsuchte sie alle einführenden Webinare zu Berufen und Programmiersprachen, versuchte, ein kleines Stück Code in mehreren Programmiersprachen zu schreiben, und wählte JS als die engste im Geiste.



Was macht Front-Endors?


„Wenn Sie eine Seite im Browser öffnen, sehen Sie auf der Seite nur das Front-End. Tatsächlich ist ihre Arbeit jedoch viel komplizierter als ein Auftritt “, sagt Oleg Shikov, Dekan der Webentwicklungsabteilung bei GeekBrains.

Oleg hat den Code von Kindheit an geschrieben. Die ersten Experimente fanden in C statt und 2011 wechselte er zu Javascript. Vieles von dem, was jetzt in der Technologie ist, steckte erst in den Kinderschuhen. HTML und CSS hatten nicht viel Potenzial, und Flash setzte sich in der Branche durch. Der Beruf als Ganzes war viel einfacher - nur ein HTML-Layout und ein einfaches Layout. Es genügte, Tags zu schreiben und sie in CSS wunderschön zu gestalten. Benutzer haben auf eine Schaltfläche geklickt und die Seite wurde vollständig aktualisiert. Die Anfrage an den Server ging, der Server gab ein neues Layout. Dieser Ansatz ermöglichte jedoch keine reaktionsschnelle Schnittstelle.

„Die Aufgabe des Front-End-Anbieters besteht heutzutage darin, die Logik von Websites auf der Browserseite zu erstellen“, sagt Oleg. „Diese Logik wurde in der Programmiersprache JavaScript entwickelt. Moderne Sites können vollständig auf der Clientseite arbeiten und nur gelegentlich Anforderungen an den Server stellen, um beispielsweise Benutzerdaten zu speichern oder die erforderlichen Informationen herunterzuladen. Das heißt, jetzt fordern wir eine nicht vollständig aktualisierte Seite, sondern nur die erforderlichen Informationen an und rendern sie korrekt im Browser. Dank dieses Verhaltens reagieren Websites schneller und sparen einen Teil des Datenverkehrs des Benutzers. “



Frontend lernen - lernt man JavaScript?


Nachdem Daria sich für die Richtung entschieden hatte, trat sie in die Fakultät für Webentwicklung bei GeekBrains ein. Nach Ansicht vieler verschmolz die Ausbildung des Frontends mit dem Studium der Javascript-Sprache, aber laut Oleg Shikov ist dies nicht ganz richtig.

„Zunächst einmal ist natürlich HTML. Es ist sehr einfach, es ist sehr einfach zu handhaben, es ist sehr einfach, Ihre erste Website zu schreiben. Natürlich wird es nicht reagieren, aber es wird funktionieren und es kann bereits im Internet veröffentlicht werden. Als Nächstes müssen Sie dieser Site ein schönes Erscheinungsbild hinzufügen, damit es sich nicht nur um eine Textfläche handelt, sondern um eine praktische und schöne Seite mit visuellen Elementen. CSS-Cascading-Stylesheets helfen dabei. Ein paar Wochen reichen aus, um sowohl HTML als auch CSS zu beherrschen. Und gleich danach müssen Sie JavaScript starten, da dies die Grundlage für die Erstellung einer reaktionsfähigen Benutzeroberfläche ist. “

Wenn es jedoch um Popularität bei Technologie geht, folgt ein Meer von Kritik. Viele erfahrene Entwickler enthüllen nacheinander Probleme und Sprache in ihren Berichten, Reden und Artikeln und bieten Alternativen an. Anfänger können diese Diskussionen nur in die Irre führen. Laut Oleg wäre es ein Fehler, Frontends aus anderen Sprachen zu lernen, nur weil sie von Fachleuten mehr gelobt werden.

"Vor ein paar Jahren haben alle gemeinsam PHP beschuldigt, jetzt haben alle JavaScript beschuldigt, es ist so ein Mainstream. Natürlich ist JavaScript nicht ohne Probleme, niemand argumentiert damit. Beispielsweise wird TypeScript (eine andere beliebte Sprache von Microsoft, die eine Erweiterung der Funktionen von JS darstellt) nicht im Browser selbst ausgeführt, sondern in JavaScript übersetzt (kompiliert). Wenn wir etwas auf TypeScript schreiben, erhalten wir immer noch JavaScript, das bereits im Browser ausgeführt wird. Um Code richtig zu debuggen, müssen Sie JavaScript kennen und mit dem Browser arbeiten können. “

Aber Daria nimmt sich die Zeit, um Dinge zu lernen, die nicht im Programm enthalten sind.
"Ich bin es gewohnt, bis zum Ende viel zu lernen und zu verstehen. Ich bin einer von denen, die alle zusätzlichen Materialien zu Artikeln lesen und zusätzliche Aufgaben erledigen, weil sie nur interessiert sind." Ich nehme mir die Zeit, um beispielsweise Nuxt.js, Typescript, Vue.js, Webpack und Stylus zu lernen. "



Was sind React, Vue und Angular und wie wählt man sie aus?


Neben Javascript und anderen Sprachen benötigen Front-End-Entwickler Kenntnisse über verschiedene Tools zum Arbeiten. In reinem JavaScript ist es ziemlich schwierig, interaktive reaktionsschnelle Webseitenschnittstellen zu entwickeln, ohne Bibliotheken von Drittanbietern zu verwenden.

Eine Bibliothek ist auch JavaScript-Code, der bereits von anderen Entwicklern geschrieben wurde. Es bietet eine Reihe praktischer Lösungen zur Durchführung der vorbereiteten Maßnahmen, die regelmäßig für die Arbeit erforderlich sind. Es gibt eine Vielzahl von Bibliotheken im Web, die das Schreiben von reaktionsschnellen Website-Schnittstellen vereinfachen. Unter ihnen sind die bekanntesten React, Vue und Angular.

„Die Wahl zwischen ihnen ist eine schwierige Frage. Sie können alle drei lernen. Dies ist keine äußerst schwierige Aufgabe, denn wenn Sie verstehen, wie man mit einer arbeitet, ist jede nachfolgende Aufgabe leichter zu erlernen. Aber nach meinen Beobachtungen werden sie in verschiedenen Bereichen ein wenig eingesetzt. Angular ist einer der ältesten. Es wird häufig im Unternehmenssegment bei großen Projekten mit Legacy-Code-Unterstützung verwendet, die vor einigen Jahren geschrieben wurde. Reaktion ist allgegenwärtig. Er ist der erste auf der Liste, wenn sie neue Schnittstellen und Webdienste schreiben. Über Vue kann man sagen, dass er einfach, jung, cool und Mainstream ist.

Ich würde empfehlen, zu versuchen, einfache Logik auf alle drei Frameworks zu schreiben - relativ gesehen ein Aufgabenblatt - basierend auf meinen Gefühlen, zu verstehen, welches mir besser gefällt, und es zu lernen. Oder schauen Sie sich offene Stellen in Ihrer Stadt an und wählen Sie beispielsweise React, da die meisten offenen Stellen für Front-End-Entwickler Kenntnisse über React erfordern. Aber dann wird die Umschulung nicht schwierig sein. “

Daria schreibt Abenteuerromane und entwickelt einen Leitfaden für das Universum ihres Buches auf Nuxt.js. Sie macht auch Projekte und Landungen für ihre Freunde, also lernte sie adaptives Layout, Medienabfragen und mehr. „Ich habe React.js gestartet und ein Projekt für die Zukunft entwickelt, das ich auf React Native implementieren möchte. Während ich die Architektur plane, zeichne ich mit Flussdiagrammen und lese über Technologien, die verwendet werden können. “



Wie ist die Studie


„Als die Ausbildung begann, erklärten die Lehrer alles perfekt - es ist mir wichtig, das erworbene Wissen in ein System einzubauen. Hausaufgaben halfen, die Fähigkeit zu festigen, ein Bonus gab einen Tipp, wo und was man sonst noch unterrichten sollte. Ich habe selbst viel gelesen und gemeistert, Handbücher und Mini-Lektionen auf YouTube angesehen. Bei GeekBrains können Sie jederzeit an einen Lehrer oder Tutor oder Ihre Gruppe schreiben, um zu chatten. Alle werden helfen, werden sie erklären. Wenn Sie einen interessanten Artikel finden, gibt es auch jemanden, mit dem Sie teilen und diskutieren können.

Ich denke, wenn Sie Ihre erste Hallo-Welt sehen, wird niemand vergessen. Und im Allgemeinen ist das Gefühl, als ich aus dem Layout eine schöne Benutzeroberfläche gemacht habe und es auch funktioniert, ein Antrieb. “

Das Studium dauert eineinhalb Jahre. Oleg Shikov glaubt, dass es langweilig ist, nur die Syntax zu lernen, daher basiert das Lernen sofort auf Projekten. „Wir geben grundlegende Dinge, Syntax und versuchen sofort, sie in die Praxis umzusetzen, schreiben einfache Webseiten. Danach geben wir PHP und bringen den Schülern so die Backend- (Server-) Entwicklung bei. Für einige unerfahrene Entwickler scheint es ausreichend zu sein, HTML mit JavaScript zu lernen, und dies reicht aus, um auf dem Markt populär zu werden. In der Tat nicht ganz so. Sie müssen die Architektur, Algorithmen, Muster und Frameworks kennen - und nicht nur wissen. Eine andere Praxis ist erforderlich, wir müssen unser eigenes Produkt schreiben und an der kollektiven Entwicklung teilnehmen. “

Zu Beginn des Trainings schreiben die Schüler den Code separat und überprüfen ihn mit dem Lehrer. In der Mitte des Trainings beginnen sie, das Produkt mit ihren Klassenkameraden zu entwickeln, wodurch sie Erfahrung in der Teamentwicklung sammeln.

Neben dem Studium studiert Daria gerne auf der Kodiri.com-Plattform, auf der internationale Wettbewerbe in JS stattfinden. „Dort kann man alleine trainieren, Aufgaben für die Zeit, Genauigkeit und Schönheit des Codes lösen. Ich habe den Gründer der Plattform Ricardo getroffen - er ist ein cooler Typ. Jetzt schreibe ich Rätsel für sie. Für jede Aufgabe wende ich eine Referenzlösung und Tests an (also habe ich übrigens angefangen, Komponententests zu schreiben). Es macht mir Spaß, mit anderen Spielern zu konkurrieren, wenn die Wahrscheinlichkeit, dass mindestens eine der fünf Aufgaben Ihre Urheberschaft ist, 0,94 beträgt. Ja, dachte ich, ich war neugierig, warum ich sie so oft treffe. Ich entscheide mich ehrlich und schaue mir die Antworten nicht an. Es fängt das Element der Gamifizierung ein, ich habe bereits die höchsten Schulterklappen erhalten (kaiserliche Majestät), jetzt bleibt es, Yuras als den besten Spieler des Monats zu bewegen. Im Allgemeinen fehlte mir dieses Element des Spiels und der Geist des Wettbewerbs im Training.Ich denke, es lohnt sich, Bildungsplattformen solche Möglichkeiten hinzuzufügen. Ein paar Tage von Kodiris Geschwindigkeitsproblemen und in einem Traum schreibe ich arr.map (e => ".



Finden Sie Ihren ersten Job


Wann eine Jobsuche gestartet werden soll, ist in der Branche sehr umstritten. Einige sind davon überzeugt, dass nur Jahre des Lehrens und Entwickelns von Theorie in der Praxis unter sicheren Bedingungen einem Menschen das Recht geben, Geld für die Entwicklung zu verlangen. Andere im Gegenteil, die Sie lernen müssen, während Sie in der vorliegenden Arbeit arbeiten. Laut dem Lehrer gehen viele Schüler den zweiten Weg.

„Ich kenne Studenten, die im dritten Quartal erste Aufträge erhalten oder einen Job in Unternehmen bekommen haben. Sie setzten ihr Studium fort und kombinierten es mit Arbeit. Es hängt alles von der Person und ihrer Lernfähigkeit ab. Für einen unerfahrenen Entwickler ist es einfacher, in ein kleines Unternehmen einzusteigen als in ein großes. In Unternehmen wie Mail.ru oder Yandex strenge Auswahl. Nicht jeder erfahrene Entwickler wird dorthin gelangen können. Aber natürlich kann jeder sein Glück versuchen. “

Als Daria sechs Monate lang geschult und eine Portfolioübersicht in Form einer Website erstellt hatte, führte sie mehrere Interviews durch, verfügte jedoch nicht über die erforderlichen Fähigkeiten, um einen Front-End-Entwickler zu finden.

„Beim ersten Interview war es beängstigend. Ich habe mich als Front-End-Entwickler für Vue beworben. Ich habe mich sorgfältig vorbereitet, das gesamte Material von JS und Vue und alles, was GeekUniversity in sechs Monaten gelernt hat, wiederholt, knifflige Fragen und alle möglichen kleinen Dinge geklärt, bei denen sich JS unvorhersehbar verhält. Das Interview fand über Skype statt. Ein kleines Unternehmen, sofort ein technisches Interview, das die Personalabteilung umgeht. Ich beantwortete fröhlich Fragen, wir unterhielten uns eine Stunde lang ... und dann stellte sich heraus, dass sie immer noch nach dem vollen Stack eines Entwicklers suchten. Es passiert".

Bild
Bei Habr Career können Sie die neuesten Stellenangebote für Front-End-Ausschreibungen einsehen und den Newsletter für neue Angebote abonnieren.

„Nachwuchsentwicklern werden einfache Fragen gestellt, um sicherzustellen, dass sie die Grundlagen kennen“, sagte Oleg. „Ich würde nach adaptivem und semantischem Layout fragen, wie man mit reinem JavaScript arbeitet. Jetzt geht der Trend zu Frameworks und Bibliotheken, demselben React-, Vue- und Angular- und Vanille-JavaScript ohne zusätzliche Bibliotheken - nicht jeder weiß es. Ich möchte sicherstellen, dass der Entwickler weiß, wie man mit ihm arbeitet, und nicht sofort in das bedingte Reaktionslager eilte.

In jedem Fall müssen Sie einige Zeit aufwenden, um auf unterschiedliche Stellenangebote zu reagieren und unterschiedliche Interviews zu bestehen. Sie zu bestehen ist auch eine bestimmte Erfahrung und Fähigkeit. Ausfälle sind eine normale Situation, du musst überhaupt keine Angst haben. "

„Nach zwei weiteren Interviews wurde mir geraten, mein Studium fortzusetzen und es später erneut zu versuchen. Wir brauchten auch allgemeines Wissen - Protokolle, Architekturlösungen und mehr. Ich selbst verstand, es war zu früh, um sich niederzulassen. Daher fand ich eine coole Arbeit mit der IT - bekam einen technischen Support-Ingenieur in Bookmate. Es liegt in der Verantwortung des Lesers, Fragen zum Betrieb der Anwendung und der Website zu beantworten, kleine Probleme bei der Behebung zu beheben und größere Probleme zu beheben, um Fehler in JIRA und Confluence zu beheben. Außerdem kann ich mir jetzt vorstellen, wie normale Benutzer die Benutzeroberfläche / UX unserer Anwendung verwenden. Hinweis: "Dies ist kein Fehler, dies ist eine Funktion." Oder wenn die Entwickler das Beste wollten, die Benutzer aber nicht verstanden, wie es war und warum.

Eine gute Gelegenheit, beide Seiten zu betrachten, besteht darin, wie Benutzer die Anwendung verwenden und wie Entwickler sie entwickeln und reparieren. “



Wie man sich im Beruf entwickelt


- Ich würde Ihnen raten, sich zu einem Full-Stack-Entwickler zu entwickeln, um sowohl das Backend als auch das Frontend zu kennen. Wenn wir nur über das Frontend sprechen, dann - obwohl es notwendig ist, JavaScript gut zu kennen - ohne Frameworks irgendwo. Sie müssen unterrichtet werden.

TypeScript ist einen Blick wert, obwohl es nicht in allen Jobs erforderlich ist. Es ist tatsächlich interessant und für einen JavaScript-Entwickler sehr einfach zu erlernen. Tatsächlich ist dies dieselbe Sprache mit zusätzlichen Funktionen, mit denen Sie zuverlässigere Systeme schreiben können. TypeScript fügt der Sprache ein explizites Typsystem hinzu, mit dem wir sagen können, dass diese Variable numerisch und diese Variable eine Zeichenfolge ist.

In reinem JavaScript ist dies nicht vorhanden, die Variable kann von einem beliebigen Typ sein, und dies führt manchmal zu Fehlern. Sie erwarten eine Zahl in einer Variablen, erhalten jedoch beispielsweise eine Zeichenfolge oder ein Objekt. Aus diesem Grund wird die Logik der Programmarbeit unterbrochen. TypeScript hilft, einen solchen Fehler zu vermeiden.

Jetzt schauen viele in Richtung PWA. Tatsache ist, dass der Smartphone-Markt, wie gesagt, riesig ist. Die meisten Benutzer, die Ihre Website besuchen, tun dies eher über das Telefon.

PWA (Progressive Web Applications) - Dies sind Websites mit zusätzlichen Funktionen, mit denen Sie bequem arbeiten können, auch von einem Smartphone aus. Auf einer Android PWA-Site können Sie sie beispielsweise zu Ihrem Startbildschirm hinzufügen und durch einfaches Klicken auf das Symbol starten. Es gibt Möglichkeiten, die Website zu verbessern, sodass sie auch dann funktioniert, wenn auf dem Smartphone kein Internet vorhanden ist. Das heißt, es ist fast eine native Anwendung. Vor kurzem hat Google ein Update für Google Play veröffentlicht, mit dem Sie Ihre PWA-Site zum Store hinzufügen können. Benutzer können sie als reguläre native Anwendung herunterladen und aktualisieren, die von einer regulären Anwendung, die beispielsweise in Java geschrieben wurde, kaum zu unterscheiden ist. Aber eigentlich ist es in JavaScript geschrieben und mit HTML erstellt.



Gehälter


Das Durchschnittsgehalt des Front-End-Auszubildenden liegt bei 35.000 Rubel. Der Junior-Level-Spezialist kann auf 50.000 zählen, die Mitte - bereits auf 97.000. Signor und Blei erhalten durchschnittlich 170-190.000 Rubel. Laut dem Gehaltsrechner von Habr Career beträgt das durchschnittliche Gehalt eines Front-End-Entwicklers etwas weniger als 110 000 Rubel (das Diagramm ist anklickbar).






Was zum Selbststudium zu lesen und zu sehen ist



Online:



Bücher direkt über JS und HTML / CSS:

  • Sie kennen JS nicht (es gibt eine Übersetzung ins Russische „Sie kennen JS nicht“)
  • »HTML5. ".
  • « CSS3».
  • «JavaScript. ».
  • «JavaScript. ».
  • «JavaScript. ». .


:

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

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


All Articles