In this article I want to talk about the Rolling Scopes School - a free JavaScript / frontend course that I took, and which I really liked. I learned about this course by chance, in my opinion there is not much information on the network about it, and the course is excellent and deserves attention. I think this article will be useful to those who are trying to learn programming on their own. In any case, if someone had told me about this course before, I would definitely be grateful.
For those who did not try to learn from scratch themselves, the question may arise - why do we need some courses, because the information in the sea network - take and learn. In fact, a sea of ​​information is not always good, because choosing from this sea exactly what you need is not at all easy. The course will tell you: what to teach, how to teach, at what pace to learn; helps to distinguish good and noteworthy sources of information from low-quality and outdated; will offer a large number of practical exercises; will allow you to become part of a community of enthusiastic and interested people who are doing the same thing as you.
Throughout the course, we constantly performed tasks: we passed tests, solved problems, created our own projects. All this was evaluated and went into the general table, where you could compare your result with the results of other students. The atmosphere of the competition is good, fun and interesting. But the points, although they are important for passing to the next stage, were not an end in themselves. The course organizers welcomed the support and mutual assistance - in the chat, students discussed the questions that arose during the solution of the tasks and tried to find answers to them together. In addition, mentors helped us in our studies, which is a unique opportunity for a free course.
The course runs almost continuously: it starts twice a year and lasts six months. It consists of three stages. At the first stage, we studied mainly Git and layout, at the second - JavaScript, at the third - React and Node.js.
The next stage was based on the results of the tasks of the previous stage. At the end of each phase, an interview was conducted. After the first and second stages, these were educational interviews with mentors, after the third stage, for one hundred and twenty of the best students, they organized interviews in the Minsk EPAM JS Lab. The course is conducted by the Belarusian community of frontends and JavaScript developers of The Rolling Scopes, so it is clear that they have contacts with the EPAM Minsk office. However, the community is trying to establish contacts and recommend its students to IT companies and other cities of Belarus, Kazakhstan, and Russia.
The first stage lasted a little over a month. This is the most massive stage. In my recruitment, 1860 people started it - i.e. everyone who signed up for the course. The course is attended by people of different ages, but most of the students are senior students and those who, having worked for several years in another field, decided to change their profession.
At the first stage, we passed two tests on the basics of Git, two tests on HTML / CSS, Codecademy and HTML Academy courses, created our CV in the form of a markdown file and in the form of a regular web page, made up a small one-page layout, solved several rather complex problems by javascript.
The most voluminous task of the first stage was the layout of the Hexal website.
The most interesting is the game Code Jam for knowledge of CSS CSS “Quick Draw” selectors.
The most difficult are JavaScript tasks. An example of one of these tasks:
"Find the number of zeros at the end of the factorial of a large number in the specified number system .
"
An example of the task of the first stage:
Hexal .
Based on the results of completing the tasks of the first stage, 833 students received invitations to an interview. The student’s passage to the second stage during the interview was determined by his future mentor. Mentors of the Rolling Scopes School are current developers from Belarus, Russia, and Ukraine. Mentors help and suggest, check assignments, answer questions. There were more than 150 mentors in our recruitment. Depending on the availability of free time, the mentor can take from two to five students, but two more students are sent for an interview so that during the interview he can choose those with whom he will be engaged.
The distribution of students and mentors was one of the most interesting and exciting moments of the course. The organizers introduced a small game element into it - data on the mentors were kept by a distribution hat, when clicked, you could see the name and contacts of their future mentor.
When I found out the name of my mentor and looked at his profile on LinkedIn, I realized that I really want to get to him. He is an experienced developer, senor, has been working abroad for several years. Such a mentor is really great luck. But his requirements, it seemed to me, would be very high. Later it turned out that I was mistaken about excessively high requirements, but at that moment I thought that way.
The questions of the upcoming interview were known, so it was possible to prepare for it in advance.
OOP taught from the video
[J] u [S] t prototype this! . Its author - Sergey Melyukov - tells extremely accessible and understandable.
The data structures and the O-big notation are excellently disclosed in the
Cheat sheet for a technical interview .
The greatest doubt was caused by the JavaScript task, which will certainly be in the interview. In general, I like to solve problems, but with Google and in the browser console, and if you need to solve with a pen and on paper (or with a mouse in a notebook), everything becomes much more complicated.
It’s convenient to prepare for an interview together at
skype.com/interviews/ - ask questions to each other, come up with tasks. This is a fairly effective way of preparation: when you play in different roles, you better understand who is on the other side of the screen.
What would my interview look like? Most likely, for the exam, where there is an examiner and examiner. In fact, this was definitely not an exam. Rather, a conversation between two enthusiastic people who are doing one thing. The interview was extremely calm, comfortable, friendly, the questions were not very difficult, the task was quite simple, and the mentor didn’t object to solving it in the console and even allowed to visit Google (“nobody will forbid using Google from work”).
As I understand it, the main task of the interview was not to test our knowledge and ability to solve problems, but to give the mentor the opportunity to get to know his students and show them what the interview looks like. And the fact that only good impressions were left from the interview was the result of his conscious efforts, the desire to show that there really is nothing scary in the interview, and you can take it with pleasure. Another question is why it was easy enough for a person with a technical education to do this, and teachers rarely succeed. After all, everyone remembers how excited they were for the exam, even if they knew the material very well. And since we are talking about official pedagogy, I will share one more observation. The course was attended, among other things, by senior students of IT specialties. And so they argued that the format of instruction offered by the Rolling Scopes School is much more useful, interesting and more effective than a regular university program.
I passed the interview. In the future, the mentor appointed the day of the week and the time when it is convenient for him to talk with me. I prepared questions for this day, he answered them. I didn’t have a lot of questions about the ongoing projects - I found most of the answers in Google or school chat. But he talked about his work, about possible problems and ways to solve them, shared his observations and comments. All in all, these conversations were exceptionally helpful and interesting. In addition, the mentor is almost the only person who is interested in what and how you are doing, the person who looks at your work will tell you what is wrong with it and how to improve it. The presence of mentors is really a huge advantage of the school, the role of which is difficult to overestimate.
At the second stage, we had a very interesting and dynamic Code Jam “JavaScript Arrays Quick Draw”, such competitions at school are exciting and exciting.
The CodeJam "CoreJS" turned out to be much more complex. 120 JavaScript tasks, which took 48 hours to complete, were a serious test.
We also had several JavaScript tests, the link to
one of them was preserved in my browser bookmarks. The test solution takes 30 minutes.
Next, we made up the NeutronMail layout, performed the Code Jam “DOM, DOM Events”, created a YouTube search engine.
Other tasks of the second stage: Task: Codewars - solving problems on the website of the same name, Code Jam “WebSocket Challenge.” - sending and receiving messages using web sockets, Code Jam “Animation Player” - creating a small web application.
Quite an unusual and interesting task of the second stage was the task “Presentation”. Its main feature is that the presentation had to be prepared and presented in English.
Here you can see how the face-to-face stage of presentations took place.
And, undoubtedly, the final task of the second stage was the most difficult and voluminous, during which we were offered to create our own copy of the Piskel web application (www.piskelapp.com).
This task took more than a month, and most of the time - to understand how it works in the original. For greater objectivity, the final task was checked by another, randomly selected mentor. And the interview after the second stage was also carried out by a random mentor, because we were already used to our own, and he was used to us, and at real interviews, as a rule, there are people unfamiliar with each other.
The second interview was much more difficult than the first. As before, there was a list of questions for the interview, which I prepared for, but the mentor decided that just asking the theory would not be entirely correct, and I prepared a set of tasks for the interview. The tasks, in my opinion, were quite complicated. For example, he sincerely did not understand that bind polyfill was bothering me, and I also sincerely believed that what I know what bind is and what polyfill is is a lot. I did not solve this problem. But there were others that she dealt with. But the tasks were not simple, and as soon as I found a solution, the mentor changed the condition a bit, and I had to solve the problem again, in an already more complex version.
At the same time, I note that the atmosphere of the interview was very friendly, the tasks were interesting, the mentor spent a lot of time to prepare them, and strove for the training interview in the future to help pass a real interview when applying for a job.
Examples of tasks of the second stage:
Neutronmail
Palette
YouTubeClient
Piskelclone
At the third stage, we were offered the Task Culture Portal. We performed it in a group, and for the first time we got acquainted with the features of teamwork, distribution of responsibilities, conflict resolution when merging branches in Git. This was probably one of the most interesting assignments of the course.
An example of the task of the third stage:
Culture Portal .
After the third stage, students who applied for work at EPAM and entered the list of 120 best, have passed a telephone interview for knowledge of English, and are currently undergoing technical interviews. Most of them will be invited to EPAM JS Lab, and then to real projects. Each year, over a hundred graduates of Rolling Scopes School get jobs at EPAM. Against the background of those who started the course, this is a rather small percentage, but if you look at those who reached the final, for them the chance to get a job is quite large.
Of the difficulties that need to be prepared, I will name two. The first is time. It needs quite a lot. Focus on 30-40 hours a week, more can be, if less - it is unlikely that you will have time to complete all the tasks, as the course program is very rich. The second is level A2 English. If it is lower, it will not hurt to study on the course, but it will be rather difficult to find work with such a level of language.
If you have questions, ask, I will try to answer. If you know other similar free Russian-language online courses - share, it will be interesting.