Gutes ist nicht billig. Aber es kann kostenlos sein.

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 bin zufällig auf diesen Kurs gestoßen, Informationen darüber sind meiner Meinung nach im Netz spärlich, der Kurs ist jedoch hervorragend und verdient Aufmerksamkeit. Ich denke, dieser Artikel wird für diejenigen nützlich sein, die versuchen, Programmierung selbstständig zu lernen. Auf jeden Fall wäre ich dankbar gewesen, wenn mir früher jemand von diesem Kurs erzählt hätte.

Bei denen, die nicht versucht haben, selbstständig von Grund auf zu lernen, könnte die Frage aufkommen – warum braucht man irgendwelche Kurse, schließlich gibt es im Netz eine Fülle von Informationen – nimm sie und lerne. In Wirklichkeit ist diese Fülle von Informationen nicht immer gut, denn es ist oft nicht einfach, genau das aus diesem Meer auszuwählen, was man braucht. Der Kurs gibt Hinweise darauf, was man lernen, wie man lernen und in welchem Tempo man lernen sollte; er hilft, gute und beachtenswerte Informationsquellen von minderwertigen und veralteten zu unterscheiden; bietet eine große Anzahl praktischer Aufgaben und ermöglicht es, Teil einer Gemeinschaft von begeisterten und interessierten Menschen zu werden, die sich mit dem beschäftigen, was du auch tust.

Während des Kurses haben wir ständig Aufgaben erledigt: Tests gemacht, Probleme gelöst, eigene Projekte erstellt. All dies wurde bewertet und in eine gemeinsame Tabelle eingetragen, wo man seine Ergebnisse mit denen anderer Studenten vergleichen konnte. Die Wettbewerbsatmosphäre ist angenehm, unterhaltsam und interessant. Doch die Punkte, auch wenn sie für den Übergang zur nächsten Stufe wichtig sind, waren kein Selbstzweck. Die Organisatoren des Kurses haben Unterstützung und gegenseitige Hilfe gefördert – im Chat haben die Studenten Fragen besprochen, die beim Lösen von Aufgaben aufkamen, und versucht, gemeinsam Antworten darauf zu finden. Darüber hinaus haben uns Mentoren beim Lernen geholfen, was für einen kostenlosen Kurs eine einzigartige Möglichkeit ist.

Der Kurs läuft praktisch durchgehend: Er beginnt zweimal im Jahr und dauert sechs Monate. Er besteht aus drei Phasen. In der ersten Phase haben wir hauptsächlich Git und Layout-Techniken gelernt, in der zweiten Phase JavaScript und in der dritten Phase React und Node.js.

In die nächste Phase kamen die Teilnehmer auf der Grundlage der Ergebnisse der vorherigen Phase. Am Ende jeder Phase fand ein Vorstellungsgespräch statt. Nach der ersten und zweiten Phase handelte es sich um Übungsgespräche mit Mentoren. Nach der dritten Phase wurden Interviews für die zweihundert besten Studenten im Minsk EPAM JS Lab organisiert. Der Kurs wird von der belarussischen Community der Frontend- und JavaScript-Entwickler The Rolling Scopes durchgeführt, daher ist der Kontakt zum Minsk-Büro von EPAM verständlich. Die Community versucht jedoch, Kontakte zu knüpfen und ihre Studenten auch in IT-Unternehmen in anderen Städten Belarusslands, Kasachstans und Russlands zu empfehlen.

Die erste Phase dauerte etwas mehr als einen Monat. Dies ist die größte Phase. In meiner Gruppe haben 1860 Personen begonnen – das heißt, alle, die sich für den Kurs angemeldet haben. Am Kurs nehmen Menschen unterschiedlichen Alters teil, aber die meisten Teilnehmer sind Studenten höheren Semesters und diejenigen, die nach mehreren Jahren in einem anderen Bereich beschlossen haben, den Beruf zu wechseln.

In der ersten Phase haben wir zwei Tests zu den Grundlagen von Git, zwei Tests zu HTML/CSS, Kurse bei Codecademy und HTML Academy absolviert, unseren Lebenslauf in Form einer Markdown-Datei und als normale Webseite erstellt, ein kleines One-Page-Layout erstellt und einige ziemlich komplexe Aufgaben in JavaScript gelöst.

Die umfangreichste Aufgabe der ersten Phase war das Erstellen der Webseite Hexal.
Am interessantesten war der spielerische Code Jam zu CSS-Selektoren "CSS Quick Draw".
Die schwierigsten waren die Aufgaben in JavaScript. Ein Beispiel für eine solche Aufgabe: "Die Anzahl der Nullen am Ende der Fakultät einer großen Zahl im angegebenen Zahlensystem finden".

Beispiel für eine Aufgabe der ersten Phase: Hexal.

Nach den Ergebnissen der Aufgaben der ersten Phase erhielten 833 Studenten Einladungen zum Vorstellungsgespräch. Ob ein Student in die zweite Phase eintritt, wurde in dem Vorstellungsgespräch von seinem zukünftigen Mentor entschieden. Die Mentoren der Rolling Scopes School sind aktive Entwickler aus Belarus, Russland und der Ukraine. Mentoren helfen und beraten, überprüfen die Aufgaben und beantworten Fragen. In unserer Gruppe gab es mehr als 150 Mentoren. Je nach Verfügbarkeit kann ein Mentor zwischen zwei und fünf Studenten betreuen, aber es werden ihm zwei Studenten mehr zu einem Vorstellungsgespräch geschickt, damit er während des Gesprächs diejenigen auswählen kann, mit denen er arbeiten möchte.

Die Verteilung von Studenten und Mentoren war einer der interessantesten und aufregendsten Momente des Kurses. Die Organisatoren fügten ein kleines Spielelement hinzu – die Daten über die Mentoren wurden von einem Verteilungshut gespeichert, auf den man klicken 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 ansah, wurde mir klar, dass ich unbedingt zu ihm wollte. Er ist ein erfahrener Entwickler, Senior, der bereits seit mehreren Jahren im Ausland arbeitet. So ein Mentor ist wirklich ein großer Glücksfall. Aber ich dachte, dass auch seine Anforderungen sehr hoch sein würden. Später stellte sich heraus, dass ich bezüglich der übermäßig hohen Anforderungen falsch lag, aber zu diesem Zeitpunkt dachte ich genau so.

Die Fragen zum bevorstehenden Interview waren bekannt, sodass man sich im Voraus darauf vorbereiten konnte.
OOP lernte ich durch Videos. [J]u[S]t prototypisiere das!. Der Autor – Sergey Melyukov – erklärt es äußerst verständlich und klar.
Datenstrukturen und O-Notation sind in dem Artikel gut erläutert. Spickzettel für technische Interviews..
Die größten Zweifel hatte ich bei der Aufgabe zu JavaScript, die unbedingt im Interview vorkommen wird. Ich liebe es, Aufgaben zu lösen, aber mit Google und in der Konsole des Browsers. Wenn man jedoch mit dem Stift auf Papier (oder mit der Maus im Notizbuch) lösen muss, wird alles viel komplizierter.
Man kann sich bequem zu zweit auf der Website auf das Interview vorbereiten. skype.com/interviews/ – einander Fragen stellen, Aufgaben erfinden. Das ist eine ziemlich effektive Vorbereitungsmethode: Wenn man in verschiedenen Rollen agiert, versteht man denjenigen auf der anderen Seite des Bildschirms besser.

Wie könnte das Interview in meiner Vorstellung ausgesehen haben? Höchstwahrscheinlich wie eine Prüfung, bei der es einen Prüfer und einen Prüfling gibt. Tatsächlich war es genau das nicht. Vielmehr war es ein Gespräch zwischen zwei begeisterten Menschen, die sich mit denselben Themen beschäftigen. Das Interview verlief äußerst ruhig, angenehm und freundlich, die Fragen waren nicht sehr schwierig, die Aufgabe ziemlich einfach, zudem hatte der Mentor nichts dagegen, sie in der Konsole zu lösen, und erlaubte sogar, einen Blick auf Google zu werfen („Bei der Arbeit darf niemand Google verbieten”).

Soweit ich verstehe, bestand die Hauptaufgabe des Interviews nicht darin, unser Wissen und unsere Problemlösungsfähigkeiten zu prüfen, sondern dem Mentor die Möglichkeit zu geben, seine Studenten kennenzulernen und ihnen zu zeigen, wie ein Interview im Allgemeinen aussieht. Dass vom Interview nur positive Eindrücke geblieben sind, war das Ergebnis seiner bewussten Bemühungen, den Wunsch zu zeigen, dass es im Interview tatsächlich nichts Beängstigendes gibt und man es mit Freude bestehen kann. Eine andere Frage ist, warum es jemandem mit technischem Hintergrund so leicht gelungen ist, und Lehrern sehr selten gelingt. Jeder erinnert sich daran, mit welcher Aufregung man die Prüfung antrat, selbst wenn man das Material hervorragend kannte. Und da wir schon über offizielle Pädagogik sprechen, möchte ich noch eine Beobachtung teilen. Im Kurs waren unter anderem auch Studenten höherer Semester aus IT-Fächern. Und sie behaupteten, dass das Lernformat, das die Rolling Scopes School bietet, weitaus nützlicher, interessanter und erfolgreicher ist als das übliche Hochschulprogramm.

Das Interview habe ich bestanden. Anschließend hat der Mentor einen Wochentag und eine Uhrzeit festgelegt, an dem es ihm passt, mit mir zu sprechen. An diesem Tag habe ich Fragen vorbereitet, er hat darauf geantwortet. Ich hatte nicht viele Fragen zu den Projekten, denn die meisten Antworten habe ich in Google oder im Schul-Chat gefunden. Stattdessen hat er über seine Arbeit, mögliche Probleme und deren Lösungen gesprochen und seine Beobachtungen und Anmerkungen geteilt. Insgesamt waren diese Gespräche äußerst nützlich und interessant. Darüber hinaus ist der Mentor praktisch die einzige Person, die interessiert ist, was und wie du es machst, jemand, der sich deine Arbeit ansieht, dir sagt, was nicht stimmt und wie du sie verbessern kannst. Die Verfügbarkeit von Mentoren ist wirklich ein enormes Plus für die Schule, dessen Rolle schwer zu überschätzen ist.

In der zweiten Phase hatten wir ein sehr interessantes und dynamisches Code Jam „JavaScript Arrays Quick Draw“, solche Wettbewerbe in der Schule sind spannend und fesselnd.
Viel schwieriger war der Code Jam „CoreJS“. 120 Aufgaben zu JavaScript, für deren Lösung 48 Stunden zur Verfügung standen, waren eine ernsthafte Herausforderung.
Außerdem hatten wir einige Tests zu JavaScript, der Link zu einem davon ist in meinen Browser-Lesezeichen gespeichert. Für die Lösung des Tests stehen 30 Minuten zur Verfügung.
Weiterhin haben wir das Layout von NeutronMail erstellt, den Code Jam "DOM, DOM Events" durchgeführt und eine Suchmaschine für YouTube entwickelt.

Weitere Aufgaben der zweiten Phase: Task: Codewars – Lösung von Aufgaben auf der gleichnamigen Website, Code Jam "WebSocket Challenge." – Versand und Empfang von Nachrichten über Web-Sockets, Code Jam "Animation Player" – Erstellung einer kleinen Webanwendung.

Eine recht ungewöhnliche und interessante Aufgabe der zweiten Phase war der Task "Präsentation". Ihr Hauptmerkmal bestand darin, dass die Präsentation auf Englisch vorbereitet und präsentiert werden musste. Hier Hier kann man sehen, wie der Präsenzteil der Präsentationen ablief.

Und zweifellos war der schwierigste und umfangreichste Task der zweiten Phase der finale Task, bei dem wir aufgefordert wurden, eine eigene Kopie der Webanwendung Piskel (www.piskelapp.com) zu erstellen.
Für diese Aufgabe benötigten wir mehr als einen Monat, wobei der Großteil der Zeit dafür aufgebracht wurde, zu verstehen, wie es im Original funktioniert. Zur größeren Objektivität wurde der finale Task von einem anderen, zufällig ausgewählten Mentor bewertet. Auch das Vorstellungsgespräch nach der zweiten Phase wurde von einem zufälligen Mentor durchgeführt, weil wir uns bereits an unseren gewöhnt hatten und er sich an uns gewöhnt hatte, und in echten Vorstellungsgesprächen treffen in der Regel unbekannte Personen aufeinander.

Das zweite Vorstellungsgespräch war viel schwieriger als das erste. Wie zuvor gab es eine Liste von Fragen für das Vorstellungsgespräch, auf die ich mich vorbereitet hatte, aber der Mentor entschied, dass nur Theorie zu fragen nicht ganz richtig wäre, und bereitete für das Vorstellungsgespräch eine Reihe von Aufgaben vor. Diese Aufgaben waren meiner Meinung nach recht anspruchsvoll. Zum Beispiel verstand er ganz ehrlich nicht, was mich daran hinderte, einen Bind-Polyfill zu schreiben, während ich ebenso ehrlich der Meinung war, dass es schon viel ist, zu wissen, was Bind ist und was Polyfill bedeutet. Diese Aufgabe konnte ich nicht lösen. Aber es gab auch andere, bei denen ich zurechtkam. Doch die Aufgaben waren nicht einfach, und sobald ich eine Lösung fand, änderte der Mentor ein wenig die Bedingungen und ich musste die Aufgabe erneut lösen, nun in einer komplexeren Variante.
Dabei möchte ich anmerken, dass die Atmosphäre des Vorstellungsgesprächs sehr freundlich war, die Aufgaben interessant, der Mentor viel Zeit aufgewendet hat, um sie vorzubereiten, und er bestrebt war, dass das Schulungsgespräch in Zukunft hilft, ein echtes Vorstellungsgespräch bei einer Jobbewerbung zu bestehen.

Beispiele für die Aufgaben der zweiten Phase:
NeutronMail
Palette
YouTubeClient
PiskelClone

In der dritten Phase wurde uns die Aufgabe Culture Portal angeboten. Diese führten wir in Gruppen durch und lernten zum ersten Mal die Besonderheiten der Teamarbeit, die Verteilung von Aufgaben und die Lösung von Konflikten beim Zusammenführen von Branches in Git kennen. Wahrscheinlich war dies eine der interessantesten Aufgaben des Kurses.

Beispielaufgabe der dritten Phase: Culture Portal.

Nach Abschluss der dritten Phase haben die Studenten, die sich für eine Stelle bei der Firma EPAM beworben und es in die Liste der 120 Besten geschafft haben, ein telefonisches Vorstellungsgespräch auf Englisch geführt und befinden sich derzeit in technischen Interviews. Ein großer Teil von ihnen wird in das EPAM JS Lab eingeladen und danach in reale Projekte. Jedes Jahr erhalten über einhundert Absolventen der Rolling Scopes School eine Stelle bei EPAM. Im Vergleich zu denen, die den Kurs begonnen haben, ist das ein recht niedriger Prozentsatz, aber wenn man auf die schaut, die bis zum Ende gekommen sind, ist die Chance, einen Job zu bekommen, für sie beträchtlich.

Von den Schwierigkeiten, auf die man vorbereitet sein sollte, nenne ich zwei. Erstens – die Zeit. Man benötigt ziemlich viel davon. Rechnen Sie mit 30-40 Stunden pro Woche, eventuell mehr; wenn es weniger ist, ist es eher unwahrscheinlich, dass Sie alle Aufgaben rechtzeitig erledigen, da das Kursprogramm sehr umfangreich ist. Zweitens – Englisch auf Level A2. Ist es niedriger, dann wird es nicht hinderlich sein, den Kurs zu besuchen, aber einen Job mit diesem Sprachniveau zu finden, wird ziemlich schwierig sein.

Wenn Sie Fragen haben, fragen Sie, ich werde mein Bestes tun, um zu antworten. Wenn Sie andere ähnliche kostenlose russischsprachige Online-Kurse kennen, teilen Sie diese bitte, das wäre interessant.

Quelle: habr.com

60GB SSD 8Gb DDR4