Dans cet article, je souhaite parler de Rolling Scopes School – un cours gratuit sur JavaScript / le développement front-end que j'ai suivi et que j'ai beaucoup apprécié. J'ai découvert ce cours par hasard, et il y a, selon moi, peu d'informations à son sujet sur Internet, alors qu'il est excellent et mérite d'être considéré. Je pense que cet article sera utile à ceux qui essaient d'apprendre la programmation par eux-mêmes. Dans tous les cas, si quelqu'un m'avait parlé de ce cours plus tôt, je lui en aurais été très reconnaissante.
Pour ceux qui n'ont pas essayé d'apprendre par eux-mêmes, une question peut se poser : pourquoi avoir besoin de cours, puisqu'il y a une pléthore d'informations en ligne – il suffit de prendre et d'apprendre. En réalité, cette abondance d'informations n'est pas toujours bénéfique, car il est parfois très difficile de choisir exactement ce dont on a besoin parmi tout cela. Le cours vous indique quoi apprendre, comment apprendre et à quelle vitesse ; il aide à distinguer les bonnes sources d'information des moins fiables et obsolètes ; il propose de nombreux exercices pratiques ; et permet de devenir partie intégrante d'une communauté de personnes passionnées et intéressées qui s'attaquent aux mêmes sujets que vous.
Tout au long du cours, nous avons constamment effectué des tâches : des tests, des résolutions de problèmes, la création de nos propres projets. Tout cela était évalué et apparaissait dans un tableau commun où l'on pouvait comparer son résultat avec celui des autres étudiants. L'atmosphère de compétition est agréable, amusante et intéressante. Mais les points, bien qu'importants pour passer à l'étape suivante, n'étaient pas un but en soi. Les organisateurs du cours encourageaient le soutien et l'entraide : dans le chat, les étudiants discutaient des questions qui se posaient lors de la résolution des tâches et essayaient ensemble de trouver des réponses. En outre, des mentors nous ont aidés dans nos études, ce qui est une opportunité vraiment unique pour un cours gratuit.
Le cours fonctionne pratiquement sans interruption : il est lancé deux fois par an et dure six mois. Il se compose de trois étapes. Lors de la première étape, nous avons principalement étudié Git et le design, à la deuxième étape – JavaScript, à la troisième étape – React et Node.js.
La prochaine étape était déterminée par les résultats des tâches effectuées lors de l'étape précédente. À la fin de chaque étape, un entretien était organisé. Après la première et la deuxième étape, il s'agissait d'entretiens d'entraînement avec des mentors, et après la troisième étape, des entretiens ont été organisés dans le laboratoire JS d'EPAM à Minsk pour les cent vingt meilleurs étudiants. Le cours est dispensé par la communauté biélorusse des développeurs front-end et JavaScript The Rolling Scopes, ce qui explique leur contact avec le bureau de Minsk d'EPAM. Cependant, la communauté s'efforce d'établir des contacts et de recommander ses étudiants à des entreprises IT dans d'autres villes de Biélorussie, du Kazakhstan et de Russie.
La première étape a duré un peu plus d'un mois. C'est l'étape la plus massive. Dans mon groupe, elle a commencé avec 1860 personnes, c'est-à-dire tous ceux qui s'étaient inscrits au cours. Le cours est suivi par des personnes de tous âges, mais la majorité des étudiants sont des étudiants de dernière année ou ceux qui, après avoir travaillé plusieurs années dans un autre domaine, ont décidé de changer de profession.
Lors de la première étape, nous avons passé deux tests sur les bases de Git, deux tests sur HTML/CSS, des cours Codecademy et HTML Academy, nous avons créé notre CV sous forme de fichier markdown et de page web ordinaire, nous avons réalisé un petit projet de page unique, et avons résolu plusieurs tâches assez difficiles en JavaScript.
La tâche la plus volumineuse de la première étape était le développement du site Hexal.
La plus intéressante était le Code Jam de jeu sur la connaissance des sélecteurs CSS intitulé « CSS Quick Draw ».
Les plus difficiles étaient les tâches en JavaScript. Voici un exemple d'une de ces tâches : « Trouver le nombre de zéros à la fin de la factorielle d'un grand nombre dans le système de numération spécifié ».
Exemple de tâche de la première étape : .
À la suite des tâches effectuées lors de la première étape, 833 étudiants ont reçu des invitations à un entretien. Le passage de l'étudiant à la deuxième étape lors de l'entretien était déterminé par son futur mentor. Les mentors de Rolling Scopes School sont des développeurs actifs de Biélorussie, de Russie et d'Ukraine. Les mentors aident et conseillent, vérifient les devoirs, répondent aux questions. Dans notre groupe de mentors, il y en avait plus de 150. En fonction de leur disponibilité, un mentor peut prendre de deux à cinq étudiants, mais lors de l'entretien, il reçoit deux étudiants de plus afin de pouvoir choisir ceux avec qui il va travailler.
La répartition des étudiants et des mentors a été l'un des moments les plus intéressants et excitants du cours. Les organisateurs y ont ajouté un petit élément de jeu : les informations sur les mentors étaient conservées par un chapeau magique, en cliquant sur lequel on pouvait voir le nom et les coordonnées de son futur mentor.
Quand j'ai appris le nom de mon mentor et que j'ai consulté son profil LinkedIn, j'ai compris que je voulais vraiment le rencontrer. C'est un développeur expérimenté, senior, et il travaille à l'étranger depuis plusieurs années. Avoir un tel mentor est vraiment une grande chance. Mais je pensais aussi que ses exigences allaient être très élevées. Plus tard, il s'est avéré que je me trompais sur ce point, mais à ce moment-là, c'était ma pensée.
Les questions de l'entretien à venir étaient connues, il était donc possible de s'y préparer à l'avance.
J'ai appris la POO grâce à des vidéos . Son auteur, Sergey Melyukov, explique de manière claire et accessible.
Les structures de données et la notation O-grand sont parfaitement couvertes dans l'article .
Les plus grands doutes provenaient de la tâche en JavaScript qui serait forcément à l'entretien. J'aime généralement résoudre des problèmes, mais avec Google et dans la console du navigateur, alors que si je dois le faire sur papier (ou avec une souris dans un bloc-notes) cela devient beaucoup plus difficile.
Il est pratique de se préparer à l'entretien à deux sur le site – en se posant des questions mutuellement, en inventant des tâches. C'est un moyen de préparation assez efficace : en jouant différents rôles, on comprend mieux ceux qui sont de l'autre côté de l'écran.
À quoi, selon moi, pouvait ressembler l'entretien ? Plutôt à un examen, où il y a un examinateur et un examiné. En réalité, ce n'était clairement pas un examen. C'était plus une conversation entre deux personnes passionnées qui partagent le même domaine. L'entretien s'est déroulé de manière extrêmement calme, confortable et amicale, les questions n'étaient pas très difficiles, la tâche était assez simple, et mon mentor n'était pas du tout opposé à la résoudre dans la console et a même permis de consulter Google (« personne ne vous interdit d'utiliser Google au travail »).
Si je comprends bien, l'objectif principal de l'entretien n'était pas de tester nos connaissances et notre capacité à résoudre des problèmes, mais de permettre au mentor de faire connaissance avec ses étudiants et de leur montrer à quoi ressemble un entretien en général. Le fait que l'entretien ait laissé que de bonnes impressions est le résultat de ses efforts conscients, de son désir de montrer qu'il n'y a vraiment rien d'effrayant dans un entretien et qu'on peut le vivre avec plaisir. Une autre question est de savoir pourquoi une personne ayant une formation technique a réussi à faire cela assez facilement, alors que cela réussit très rarement aux enseignants. Tout le monde se souvient de l'angoisse ressentie avant un examen, même si l'on maîtrisait parfaitement le sujet. Et puisque nous parlons de pédagogie officielle, je vais partager une autre observation. Dans le cours, il y avait également des étudiants de l'année supérieure en spécialités IT. Ils affirmaient que le format d'enseignement proposé par la Rolling Scopes School était beaucoup plus utile, intéressant et efficace que celui des programmes universitaires classiques.
J'ai réussi mon entretien. Par la suite, le mentor a fixé un jour de la semaine et une heure où il lui convenait de parler avec moi. À ce jour, j'ai préparé des questions, auxquelles il a répondu. Je n'avais pas beaucoup de questions sur les projets en cours - la plupart des réponses, je les trouvais sur Google ou dans le chat de l'école. En revanche, il parlait de son travail, des problèmes potentiels et des solutions, partageant ses observations et remarques. En général, ces échanges étaient extrêmement utiles et intéressants. De plus, le mentor est pratiquement la seule personne intéressée par ce que tu fais et comment tu le fais, quelqu'un qui examinera ton travail, te dira ce qui ne va pas et comment l'améliorer. La présence de mentors est vraiment un énorme atout de l'école, dont l'importance est difficile à surestimer.
Au deuxième stage, nous avons eu un Code Jam très intéressant et dynamique « JavaScript Arrays Quick Draw », ces compétitions à l'école se déroulent de manière captivante et passionnante.
Le Code Jam « CoreJS » s'est avéré beaucoup plus difficile. 120 problèmes en JavaScript à résoudre en 48 heures ont constitué un véritable défi.
Nous avons également eu plusieurs tests en JavaScript, le lien vers est enregistré dans mes favoris du navigateur. Il y a 30 minutes pour résoudre le test.
Ensuite, nous avons conçu le modèle NeutronMail, réalisé le Code Jam « DOM, DOM Events », et créé un moteur de recherche pour YouTube.
Autres tâches de la deuxième étape : Tâche : Codewars – résolution de problèmes sur le site du même nom, Code Jam « WebSocket Challenge » – envoi et réception de messages via des websockets, Code Jam « Animation Player » – création d'une petite application web.
Une tâche plutôt originale et intéressante de la deuxième étape était la tâche « Presentation ». Sa particularité majeure était qu'il fallait préparer et présenter la présentation en anglais. Vous pouvez voir comment se déroulait l'étape en présentiel des présentations.
Et, sans aucun doute, la tâche la plus difficile et la plus volumineuse de la deuxième étape a été celle où nous avons dû créer notre propre copie de l'application web Piskel (www.piskelapp.com).
Cette tâche a pris plus d'un mois, la majeure partie du temps étant consacrée à comprendre comment cela fonctionnait à l'origine. Pour plus d'objectivité, la tâche finale a été évaluée par un autre mentor choisi au hasard. Et l'entretien après la deuxième étape a également été mené par un mentor aléatoire, car nous étions déjà habitués à notre mentor, et lui à nous, alors qu'en entretien réel, il est courant de rencontrer des inconnus.
Le deuxième entretien s'est avéré bien plus difficile que le premier. Comme auparavant, il y avait une liste de questions pour l'entretien, pour lesquelles je m'étais préparée, mais le mentor a considéré qu'il n'était pas tout à fait juste de demander simplement la théorie, et a préparé un ensemble de tâches pour l'entretien. À mon avis, ces tâches étaient assez difficiles. Par exemple, il ne comprenait sincèrement pas ce qui m'empêchait d'écrire un polyfill pour bind, et je considérais également sincèrement que savoir ce qu'est bind et ce qu'est un polyfill, c'était déjà beaucoup. Je n'ai pas résolu cette tâche. Mais j'ai réussi avec d'autres, bien que ces tâches n'étaient pas faciles, et dès que je trouvais une solution, le mentor modifiait quelque peu la condition, et je devais résoudre la tâche à nouveau, dans une version déjà plus complexe.
Je tiens à souligner que l'atmosphère de l'entretien était très bienveillante, les tâches intéressantes, le mentor avait consacré beaucoup de temps à les préparer, et il s'efforçait que l'entretien d'apprentissage aide à passer un entretien réel pour un emploi.
Exemples de tâches de la deuxième étape :
Au troisième étage, on nous a proposé la tâche Culture Portal. Nous l'avons réalisée en groupe, et c'était la première fois que nous découvrions les spécificités du travail en équipe, de la répartition des tâches et de la résolution de conflits lors de la fusion de branches dans Git. C'était probablement l'un des exercices les plus intéressants du cours.
Exemple de tâche du troisième étage : .
Après la fin du troisième étage, les étudiants qui souhaitaient travailler pour l'entreprise EPAM et qui étaient sur la liste des 120 meilleurs ont passé un entretien téléphonique pour tester leur anglais, et actuellement, ils passent des entretiens techniques. La plupart d'entre eux seront invités au EPAM JS Lab, puis sur des projets réels. Chaque année, plus d'une centaine de diplômés de la Rolling Scopes School obtiennent un emploi chez EPAM. Par rapport à ceux qui ont commencé le cours, c'est un pourcentage assez faible, mais si l'on considère ceux qui ont atteint la finale, leur chance d'obtenir un emploi est assez élevée.
Parmi les difficultés auxquelles il faut s'attendre, je suis en mesure d'en nommer deux. La première est le temps. Il en faut assez. Comptez environ 30 à 40 heures par semaine, voire plus ; si c'est moins, il est peu probable que vous réussissiez à accomplir toutes les tâches, car le programme du cours est très chargé. La seconde est un anglais de niveau A2. Si c'est en dessous, suivre le cours ne posera pas de problème, mais trouver un emploi avec ce niveau de langue sera assez difficile.
Si vous avez des questions, n'hésitez pas à les poser, je ferai de mon mieux pour répondre. Si vous connaissez d'autres cours en ligne gratuits similaires en russe, partagez-les, cela pourrait être intéressant.
Source : habr.com
