In diesem Artikel möchte ich über die Rolling Scopes School berichten – einen kostenlosen Kurs zu JavaScript / Frontend, den ich absolviert habe und der mir sehr gefallen hat. Ich habe zufällig von diesem Kurs erfahren, und meiner Meinung nach gibt es im Internet nicht viel Information dazu, obwohl der Kurs hervorragend ist und Aufmerksamkeit verdient. Ich denke, dieser Artikel wird für diejenigen hilfreich sein, die versuchen, Programmierung selbstständig zu lernen. Auf jeden Fall wäre ich dankbar gewesen, hätte mir früher jemand von diesem Kurs erzählt.
Diejenigen, die nicht versucht haben, selbst bei Null zu lernen, könnten sich fragen – warum braucht man Kurse, denn im Internet gibt es doch eine Fülle von Informationen – nimm sie und lerne. In der Tat ist die Fülle an Informationen nicht immer positiv, denn es ist oft gar nicht so einfach, genau das herauszufiltern, was man benötigt. Der Kurs zeigt auf, was man lernen, wie man lernen und in welchem Tempo man lernen sollte; er hilft dabei, gute und wertvolle Informationsquellen von qualitativ minderwertigen oder veralteten zu unterscheiden; er bietet eine Vielzahl praktischer Aufgaben an; und er ermöglicht, Teil einer Gemeinschaft begeisterter und interessierter Menschen zu werden, die dasselbe tun wie man selbst.
Während des Kurses haben wir ständig Aufgaben erfüllt: Wir haben Tests abgelegt, Probleme gelöst und eigene Projekte erstellt. All dies wurde bewertet und kam in eine gemeinsame Tabelle, in der man sein Ergebnis mit den Ergebnissen anderer Studenten vergleichen konnte. Die Wettbewerbsatmosphäre ist großartig, unterhaltsam und interessant. Aber die Punkte, auch wenn sie wichtig für den Übergang zur nächsten Phase sind, waren nicht das Hauptziel. Die Organisatoren des Kurses förderten Unterstützung und gegenseitige Hilfe – im Chat diskutierten die Studenten Fragen, die während der Lösung der Aufgaben aufkamen, und versuchten gemeinsam Antworten zu finden. Darüber hinaus wurden wir in unserem Lernen von Mentoren unterstützt, was für einen kostenlosen Kurs eine ganz besondere Gelegenheit ist.
Der Kurs läuft fast ununterbrochen: Er startet zweimal im Jahr und dauert sechs Monate. Er besteht aus drei Phasen. In der ersten Phase haben wir vor allem Git und Layout-Design gelernt, in der zweiten JavaScript und in der dritten Phase React und Node.js.
Der nächste Schritt basierte auf den Ergebnissen der vorhergehenden Aufgaben. Am Ende jeder Phase fand ein Interview statt. Nach der ersten und zweiten Phase handelte es sich um Schulungsinterviews mit Mentoren, nach der dritten Phase wurden für die einhundertzwanzig besten Studierenden Interviews im EPAM JS Lab in Minsk organisiert. Der Kurs wird von der belarussischen Gemeinschaft der Frontend- und JavaScript-Entwickler, The Rolling Scopes, durchgeführt, weshalb sie Kontakte zum Büro in Minsk haben. Dennoch bemüht sich die Gemeinschaft, Kontakte zu knüpfen und ihre Studierenden auch an IT-Unternehmen in anderen Städten von Belarus, Kasachstan und Russland zu empfehlen.
Die erste Phase dauerte etwas mehr als einen Monat. Dies ist die umfassendste Phase. In meinem Jahrgang begannen 1860 Personen – das heißt, alle, die sich für den Kurs angemeldet hatten. Die Teilnehmenden sind unterschiedlichen Alters, doch die Mehrheit der Lernenden sind Studierende im fortgeschrittenen Semester und solche, die nach mehreren Jahren in einer anderen Branche beschlossen haben, den Beruf zu wechseln.
In der ersten Phase haben wir zwei Tests zu den Grundlagen von Git, zwei Tests zu HTML/CSS, die Kurse von Codecademy und HTML Academy absolviert, unseren Lebenslauf in Form einer Markdown-Datei sowie als normale Webseite erstellt, ein kleines einseitiges Layout entwickelt und mehrere recht anspruchsvolle Aufgaben in JavaScript gelöst.
Die umfangreichste Aufgabe der ersten Phase war die Gestaltung der Website Hexal.
Das interessanteste Projekt war der spielerische Code Jam zu CSS-Selektoren "CSS Quick Draw".
Die anspruchsvollsten Aufgaben waren in JavaScript. Ein Beispiel für so eine Aufgabe lautet: "Bestimmen Sie die Anzahl der Nullen, die am Ende der Faktoren einer großen Zahl in dem angegebenen Zahlensystem stehen"..
Ein Beispiel für die Aufgabe der ersten Phase: .
Nach Abschluss der Aufgaben der ersten Phase erhielten 833 Studierende Einladungen zu Vorstellungsgesprächen. Der Übergang eines Studierenden in die zweite Phase wurde während des Interviews von seinem zukünftigen Mentor bestimmt. Die Mentoren der Rolling Scopes School sind aktive Entwickler aus Weißrussland, Russland und der Ukraine. Sie unterstützen und beraten die Studierenden, überprüfen Aufgaben und beantworten Fragen. In unserem Mentorenpool waren mehr als 150 Mentoren vertreten. Je nach Verfügbarkeit kann ein Mentor zwischen zwei und fünf Studierende betreuen, jedoch werden ihm für das Interview zwei zusätzliche Studierende zugewiesen, sodass er während des Gesprächs auswählen kann, mit wem er arbeiten möchte.
Die Zuordnung der Studierenden zu den Mentoren war einer der spannendsten und aufregendsten Momente des Kurses. Die Organisatoren haben einen kleinen spielerischen Aspekt eingebaut – die Informationen über die Mentoren wurden von einem Verteilungshut gespeichert, den man anklicken konnte, um den Namen und die Kontaktdaten seines zukünftigen Mentors zu sehen.
Als ich den Namen meines Mentors erfuhr und sein Profil auf LinkedIn anschaute, wurde mir klar, dass ich unbedingt Kontakt zu ihm aufnehmen möchte. Er ist ein erfahrener Entwickler, Senior, und arbeitet seit mehreren Jahren im Ausland. Ein solcher Mentor ist wirklich ein großer Glücksfall. Doch ich dachte, dass seine Anforderungen sehr hoch sein würden. Später stellte sich heraus, dass ich mit meinen Bedenken hinsichtlich übermäßig hoher Anforderungen falsch lag, aber in diesem Moment dachte ich genau so.
Die Fragen für das bevorstehende Interview waren bekannt, sodass ich mich im Voraus darauf vorbereiten konnte.
OOP habe ich anhand von Videos gelernt. Der Autor, Sergey Melyukov, erklärt alles auf eine sehr zugängliche und verständliche Weise.
Datenstrukturen und die Notation O-Notation werden in dem Artikel hervorragend behandelt. .
Die größte Unsicherheit hatte ich in Bezug auf die JavaScript-Aufgabe, die definitiv im Interview vorkommen wird. Ich löse Aufgaben im Allgemeinen gerne, aber meistens mit Google und in der Konsole des Browsers. Wenn ich sie jedoch mit Stift und Papier (oder mit der Maus in einem Notizbuch) lösen muss, wird alles viel schwieriger.
Es ist praktisch, sich zu zweit auf der Seite vorzubereiten. – sich gegenseitig Fragen stellen und Aufgaben entwickeln. Dies ist eine recht effektive Vorbereitungsweise: Wenn man in verschiedenen Rollen auftritt, versteht man besser, was die Person auf der anderen Seite des Bildschirms denkt.
Wie könnte ein Vorstellungsgespräch meiner Vorstellung nach ausgesehen haben? Wahrscheinlich wie eine Prüfung, bei der es einen Prüfer und einen Prüfling gibt. In Wirklichkeit war es jedoch definitiv keine Prüfung. Vielmehr war es ein Gespräch zwischen zwei engagierten Personen, die dasselbe Ziel verfolgen. Das Gespräch verlief äußerst ruhig, angenehm und freundlich, die Fragen waren nicht allzu schwierig, die Aufgabe recht einfach, und der Mentor war völlig einverstanden, diese im Konsolenfenster zu lösen und erlaubte sogar, einen Blick in Google zu werfen ("Bei der Arbeit hat niemand etwas gegen die Nutzung von Google").
Soweit ich verstehe, war das Hauptziel des Interviews nicht, unser Wissen und die Fähigkeit zur Problemlösung zu überprüfen, sondern dem Mentor die Möglichkeit zu geben, seine Studenten kennenzulernen und ihnen zu zeigen, wie ein Interview grundsätzlich aussieht. Die positiven Eindrücke, die von diesem Interview geblieben sind, sind das Ergebnis seiner bewussten Bemühungen, die Bereitschaft, zu zeigen, dass es im Interview tatsächlich nichts Unheimliches gibt, und dass man es mit Freude meistern kann. Eine andere Frage ist, warum es einem Techniker so leicht gelang, während es oft Lehrern sehr schwerfällt. Jeder erinnert sich an die Nervosität, mit der man in eine Prüfung ging, selbst wenn man den Stoff bestens beherrschte. Und da wir schon über offizielle Pädagogik sprechen, möchte ich eine weitere Beobachtung teilen. Unter den Teilnehmern waren auch Studenten höherer Semester der IT-Studiengänge. Diese behaupteten, dass das Lernformat, das die Rolling Scopes School anbietet, viel nützlicher, interessanter und effektiver ist als das normale Hochschulprogramm.
Das Interview habe ich erfolgreich bestanden. Mein Mentor hat einen Wochentag und eine Uhrzeit festgelegt, zu der er mit mir sprechen kann. Zu diesem Termin habe ich Fragen vorbereitet, auf die er geantwortet hat. Fragen zu den Projekten hatte ich nicht viele – die meisten Antworten fand ich bei Google oder im Chat der Schule. Er hingegen erzählte viel über seine Arbeit, mögliche Probleme und deren Lösungen und teilte seine Beobachtungen und Anmerkungen mit mir. Insgesamt waren diese Gespräche äußerst hilfreich und interessant. Darüber hinaus ist der Mentor praktisch die einzige Person, die sich dafür interessiert, was und wie du Arbeit machst, jemand, der deine Arbeit betrachtet, dir sagt, was nicht stimmt und wie du sie verbessern kannst. Die Verfügbarkeit von Mentoren ist tatsächlich ein großer Vorteil der Schule, dessen Rolle kaum zu überschätzen ist.
In der zweiten Phase hatten wir ein sehr interessantes und dynamisches Code Jam „JavaScript Arrays Quick Draw“. Solche Wettbewerbe an der Schule sind aufregend und fesselnd.
Viel herausfordernder war das Code Jam „CoreJS“. 120 Aufgaben zu JavaScript, für deren Lösung 48 Stunden zur Verfügung standen, wurden zu einer ernsthaften Prüfung.
Außerdem hatten wir mehrere Tests zu JavaScript, der Link zu ich habe es in meinen Browser-Lesezeichen gespeichert. Für die Lösung des Tests sind 30 Minuten vorgesehen.
Daraufhin haben wir das Layout von NeutronMail erstellt, an der Code Jam „DOM, DOM Events“ teilgenommen und eine YouTube-Suchmaschine entwickelt.
Weitere Aufgaben der zweiten Phase: Aufgabe: Codewars – Lösung von Aufgaben auf der gleichnamigen Webseite, Code Jam „WebSocket Challenge“ – Versenden und Empfangen von Nachrichten über Websockets, Code Jam „Animation Player“ – Erstellung einer kleinen Webanwendung.
Eine der ungewöhnlichsten und interessantesten Aufgaben der zweiten Phase war die Aufgabe „Präsentation“. Ihr Hauptmerkmal besteht darin, dass die Präsentation auf Englisch vorbereitet und präsentiert werden musste. Hier kann man sehen, wie die Präsenzphase der Präsentationen ablief.
Und zweifellos war die schwierigste und umfangreichste Aufgabe der zweiten Phase die finale Aufgabe, bei der wir aufgefordert wurden, eine eigene Kopie der Webanwendung Piskel (www.piskelapp.com) zu erstellen.
Für diese Aufgabe benötigte ich mehr als einen Monat, wobei der Großteil der Zeit darauf verwendet wurde, zu verstehen, wie das Original funktioniert. Zur Wahrung der Objektivität wurde die endgültige Aufgabe von einem anderen, zufällig ausgewählten Mentor überprüft. Auch das Interview nach der zweiten Phase führte ein zufälliger Mentor, da wir uns bereits an unseren gewöhnt hatten und er an uns, während bei echten Interviews in der Regel unbekannte Personen aufeinandertreffen.
Das zweite Interview war deutlich schwieriger als das erste. Wie zuvor gab es eine Liste von Fragen, auf die ich mich vorbereitet hatte, doch der Mentor entschied, dass es nicht ganz richtig wäre, nur die Theorie abzufragen, und bereitete stattdessen eine Reihe von Aufgaben vor. Diese Aufgaben waren meiner Meinung nach recht komplex. Zum Beispiel verstand er aufrichtig nicht, was mich daran hinderte, einen Bind-Poyfill zu schreiben, während ich ebenso aufrichtig der Meinung war, dass es bereits viel ist, zu wissen, was Bind und Poyfill sind. Diese Aufgabe konnte ich nicht lösen. Aber es gab auch andere, die ich bewältigte. Nur waren die Aufgaben nicht einfach, und jedes Mal, wenn ich eine Lösung fand, änderte der Mentor die Bedingungen ein wenig, sodass ich die Aufgabe erneut in einer bereits komplizierteren Variante lösen musste.
Ich möchte anmerken, dass die Atmosphäre im Vorstellungsgespräch sehr freundlich war. Die Aufgaben waren interessant, und der Mentor hat viel Zeit darauf verwendet, sie vorzubereiten. Er wollte sicherstellen, dass das Übungsgespräch in Zukunft dabei hilft, ein echtes Vorstellungsgespräch zu bestehen.
Beispiele für Aufgaben der zweiten Phase:
In der dritten Phase erhielten wir die Aufgabe Culture Portal. Diese erledigten wir in Gruppen und lernten dabei erstmals die Besonderheiten der Teamarbeit, die Verteilung von Aufgaben und die Konfliktlösung beim Zusammenführen von Branches in Git kennen. Wahrscheinlich war das eine der interessantesten Aufgaben des Kurses.
Beispiel für die Aufgabe der dritten Phase: .
Nach Abschluss der dritten Etappe haben die Studenten, die sich um eine Stelle bei EPAM beworben und es in die Liste der 120 besten Bewerber geschafft haben, ein telefonisches Interview in Englisch absolviert und nehmen derzeit an technischen Interviews teil. Die meisten von ihnen werden in das EPAM JS Lab eingeladen und anschließend an echten Projekten arbeiten. Jedes Jahr erhalten über hundert Absolventen der Rolling Scopes School eine Anstellung bei EPAM. Im Vergleich zu denjenigen, die den Kurs begonnen haben, ist das ein relativ geringer Prozentsatz, aber für die, die das Finale erreicht haben, ist die Chance, einen Job zu bekommen, ziemlich hoch.
Unter den Herausforderungen, auf die man vorbereitet sein sollte, nenne ich zwei. Die erste ist die Zeit. Man benötigt ziemlich viel davon. Rechnen Sie mit 30-40 Stunden pro Woche, mehr ist möglich, aber weniger – es ist unwahrscheinlich, dass Sie alle Aufgaben rechtzeitig erledigen können, da das Kursprogramm sehr intensiv ist. Die zweite Herausforderung ist Englisch auf A2-Niveau. Wenn es darunter liegt, wird es Ihnen nicht schaden, den Kurs zu besuchen, aber es wird ziemlich schwierig sein, mit diesem Sprachniveau einen Job zu finden.
Wenn Sie Fragen haben, stellen Sie sie bitte, ich werde versuchen, zu antworten. Wenn Sie von anderen ähnlichen kostenlosen russischsprachigen Online-Kursen wissen, teilen Sie sie bitte mit, das wäre interessant.
Quelle: habr.com
