Good things don't come cheap. But it's free

In this article, I want to talk about Rolling Scopes School, a free JavaScript / front-end course that I took and really enjoyed. I found out about this course by accident, there is not much information about it on the web, in my opinion, but the course is excellent and deserves attention. I think this article will be useful for those who are trying to learn programming on their own. In any case, if someone had told me about this course earlier, I would definitely be grateful.

For those who have not tried to learn from scratch themselves, the question may arise - why are some courses needed, because there is a sea of ​​information on the net - take and teach. 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 learn, how to learn, at what pace to learn; help to distinguish good and noteworthy sources of information from low-quality and outdated ones; will offer a large number of practical tasks; 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 completed tasks: passed tests, solved problems, created our own projects. All this was evaluated and went to 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 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, the students discussed the questions that arose in the course of solving 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 runs 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 passed according to the results of the tasks of the previous stage. An interview was held at the end of each stage. After the first and second stages, these were educational interviews with mentors, after the third stage, interviews were organized for one hundred and twenty best students at the Minsk EPAM JS Lab. The course is conducted by the Belarusian community of front-end and JavaScript developers The Rolling Scopes, so it is clear that they have contacts with the Minsk office of EPAM. 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, after working 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 as a markdown file and as a regular web page, made up a small one-page layout, solved some rather difficult tasks 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 on the knowledge of css-selectors "CSS Quick Draw".
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 setting the first stage: hexal.

Based on the results of completing the tasks of the first stage, 833 students received invitations for interviews. The passage of the student to the second stage during the interview was determined by his future mentor. Rolling Scopes School mentors are active 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, a 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 who he will work with.

The distribution of students and mentors was one of the most interesting and exciting moments of the course. The organizers added a small game element to it - the data on mentors was stored by the distribution hat, by clicking on which you could see the name and contacts of your 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, senior, has been working abroad for several years. Such a mentor is really a great success. But his requirements, as it seemed to me, will be very high. Later it turned out that I was wrong about the excessively high requirements, but at that time I thought so.

The questions of the upcoming interview were known, so it was possible to prepare for it in advance.
OOP taught by video [J]u[S]t prototype this!. Its author, Sergei Melyukov, speaks in an exceptionally accessible and understandable way.
Data structures and big O notation are well covered in the article Technical Interview Cheat Sheet.
The greatest doubt was caused by the JavaScript task, which will certainly be at the interview. In general, I like to solve problems, but with Google and in the browser console, and if you need to solve it with a pen and on paper (or with a mouse in a notebook), everything becomes much more complicated.
It is convenient to prepare for an interview together on the site skype.com/interviews/ - ask each other questions, come up with tasks. This is a fairly effective way of preparation: when you perform in different roles, you better understand who is on the other side of the screen.

What in my mind could the interview look like? Most likely, for an exam, where there is an examiner and an examinee. In fact, it was definitely not an exam. Rather, a conversation between two enthusiastic people who are engaged in one thing. The interview was extremely calm, comfortable, friendly, the questions were not very difficult, the task was quite simple, and the mentor did not mind solving it in the console at all and even allowed me to look at Google (“nobody will forbid using Google at work”).

As far as I understand, 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 in general. And the fact that only good impressions remained from the interview was the result of his conscious efforts, the desire to show that there is actually nothing frightening in the interview, and you can go through it with pleasure. Another question is why it was quite easy for a person with a technical education to do this, and very rarely for teachers. After all, everyone remembers with what excitement they went to the exam, even if they knew the material perfectly. 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 learning format offered by Rolling Scopes School is much more useful, interesting and effective than a regular university program.

I passed the interview. In the future, the mentor appointed a day of the week and a time when it was convenient for him to talk to me. To this day, I prepared questions, he answered them. I didn’t have a lot of questions about ongoing projects - I found most of the answers in Google or the school chat. But he talked about his work, about possible problems and ways to solve them, shared his observations and comments. In general, these conversations were extremely useful and interesting. In addition, a mentor is practically the only person who is interested in what and how you do, a person who looks at your work, tells you what is wrong with it and how it can be improved. The presence of mentors is indeed a huge advantage of the school, the role of which can hardly be overestimated.

At the second stage, we had a very interesting and dynamic Code Jam "JavaScript Arrays Quick Draw", such competitions at the school are exciting and exciting.
Code Jam "CoreJS" turned out to be much more difficult. 120 JavaScript tasks, which were given 48 hours to solve, became a serious test.
We also had a few JavaScript tests, link to one of them I have saved it in my browser bookmarks. You have 30 minutes to complete the test.
Next, we laid out the layout of NeutronMail, completed the Code Jam “DOM, DOM Events”, and created a YouTube search engine.

Other tasks of the second stage: Task: Codewars - solving problems on the site of the same name, Code Jam "WebSocket Challenge." - sending and receiving messages using web sockets, Code Jam "Animation Player" - creating a small web application.

A rather unusual and interesting task of the second stage was the “Presentation” task. 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 the presentations went.

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).
It took over a month to complete this assignment, most of the time to figure out 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 conducted by a random mentor, because we have already got used to our own, and he got used to us, and at real interviews, as a rule, people who don’t know each other meet.

The second interview was much more difficult than the first. As before, there was a list of interview questions that I prepared for, but the mentor decided that just asking the theory would not be entirely correct, and prepared a set of tasks for the interview. The tasks, in my opinion, were quite difficult. For example, he sincerely did not understand what was preventing me from writing a bind polyfill, and I also sincerely believed that what I know about bind and what a polyfill is is already a lot. I have not solved this problem. But there were others that she dealt with. But the problems were not simple, and as soon as I found a solution, the mentor changed the condition a little, and I had to solve the problem again, in a more complex version.
At the same time, I would like to 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 strived that the training interview in the future would help to pass a real interview when applying for a job.

Examples of tasks of the second stage:
NeutronMail
Range
YouTubeClient
PiskelClone

At the third stage, we were offered the Culture Portal task. We performed it in a group, and for the first time 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 tasks of the course.

An example of setting the third stage: Culture Portal.

After the end of the third stage, students who applied for a job at EPAM and made the list of the top 120 completed a telephone interview for English proficiency, and are currently undergoing technical interviews. Most of them will be invited to the EPAM JS Lab, and then to real projects. Every year, more than a hundred Rolling Scopes School graduates 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 have reached the final, the chance for them to get a job is quite large.

Of the difficulties that you need to be prepared for, I will name two. The first is time. It needs quite a lot. Aim for 30-40 hours a week, more if possible, less - it is unlikely that you will have time to complete all the tasks, since the course program is very rich. The second is English level A2. If it is lower, it will not hurt to study on the course, but it will be quite difficult to find a job with this level of language.

If you have any questions, ask, I'll try to answer. If you know other similar free Russian-language online courses - share it, it will be interesting.

Source: habr.com

Add a comment