O que é bom não é barato. Mas pode ser gratuito.

Neste artigo, quero falar sobre a Rolling Scopes School – um curso gratuito de JavaScript / front-end que eu fiz e realmente gostei. Descobri sobre esse curso por acaso, a informação na rede sobre ele é, na minha opinião, escassa, mas o curso é excelente e merece atenção. Acredito que este artigo será útil para aqueles que estão tentando aprender programação por conta própria. De qualquer forma, se alguém tivesse me falado sobre esse curso antes, eu certamente teria sido grata.

Aqueles que nunca tentaram aprender sozinhos podem se perguntar – por que precisar de cursos, se há um mar de informações na internet – é só pegar e aprender. Na verdade, um mar de informações nem sempre é bom, porque escolher exatamente o que você precisa desse vasto conteúdo pode ser bastante complicado. O curso indica: o que aprender, como aprender e qual ritmo seguir; ajuda a distinguir boas e dignas fontes de informação das que são de baixa qualidade e desatualizadas; oferece uma grande quantidade de tarefas práticas; permite que você faça parte de uma comunidade de pessoas entusiastas e interessadas que se dedicam ao mesmo que você.

Durante o curso, estávamos constantemente realizando tarefas: fazendo testes, resolvendo problemas, criando nossos próprios projetos. Tudo isso era avaliado e estava em uma tabela geral, onde podíamos comparar nossos resultados com os de outros estudantes. A atmosfera de competição é boa, divertida e interessante. Mas os pontos, embora importantes para passar para a próxima etapa, não eram um fim em si mesmos. Os organizadores do curso incentivavam o apoio e a ajuda mútua – no chat, os estudantes discutiam as questões surgidas durante a resolução das tarefas e tentavam encontrar as respostas juntos. Além disso, na aprendizagem, éramos ajudados por mentores, o que é uma oportunidade única para um curso gratuito.

O curso funciona praticamente sem interrupções: é iniciado duas vezes por ano e dura seis meses. Ele consiste em três etapas. Na primeira etapa, estudamos principalmente Git e HTML/CSS, na segunda – JavaScript, na terceira – React e Node.js.

Na próxima fase, os alunos foram selecionados com base nos resultados das tarefas do estágio anterior. Ao final de cada etapa, eram realizadas entrevistas. Após a primeira e a segunda etapas, essas eram entrevistas de formação com mentores. Após a terceira etapa, foram organizadas entrevistas em um laboratório de JS da EPAM em Minsk para os 120 melhores alunos. O curso é conduzido pela comunidade bielorrussa de desenvolvedores frontend e JavaScript The Rolling Scopes, por isso é compreensível que tenham contatos com o escritório da EPAM em Minsk. No entanto, a comunidade tenta estabelecer contatos e recomendar seus alunos para empresas de TI em outras cidades da Bielorrússia, Cazaquistão e Rússia.

A primeira etapa durou pouco mais de um mês. Esta é a fase com o maior número de participantes. No meu grupo, começaram 1860 pessoas – ou seja, todos os que se inscreveram no curso. O curso é frequentado por pessoas de diferentes idades, mas a maioria dos alunos são estudantes do último ano e aqueles que, após alguns anos trabalhando em outra área, decidiram mudar de profissão.

Na primeira etapa, passamos por dois testes sobre o básico do Git, dois testes sobre HTML/CSS, cursos na Codecademy e na HTML Academy, criamos nosso CV como um arquivo markdown e como uma página da web comum, codificamos um pequeno layout de página única e resolvemos várias tarefas bastante complexas sobre JavaScript.

A tarefa mais extensa da primeira etapa foi a criação do site Hexal.
A atividade mais interessante foi o jogo Code Jam sobre conhecimento de seletores CSS chamado "CSS Quick Draw".
As tarefas mais difíceis foram as de JavaScript. Um exemplo de uma dessas tarefas: “Encontrar o número de zeros no final do fatorial de um grande número em um sistema de numeração especificado”.

Exemplo de tarefa da primeira etapa: Hexal.

Como resultado da execução das tarefas da primeira etapa, 833 alunos receberam convites para entrevistas. A passagem do aluno para a segunda etapa durante a entrevista era determinada pelo seu futuro mentor. Os mentores da Rolling Scopes School são desenvolvedores atuantes da Bielorrússia, Rússia e Ucrânia. Os mentores ajudam, orientam, verificam as tarefas e respondem perguntas. No nosso grupo, havia mais de 150 mentores. Dependendo da disponibilidade, um mentor pode atender de dois a cinco alunos, mas para a entrevista são encaminhados dois alunos a mais, para que durante a entrevista ele possa escolher aqueles com quem irá trabalhar.

A distribuição de estudantes e mentores foi um dos momentos mais interessantes e emocionantes do curso. Os organizadores introduziram um pequeno elemento de jogo – os dados sobre os mentores eram armazenados em um chapéu de distribuição, ao clicar no qual era possível ver o nome e os contatos do seu futuro mentor.

Quando soube o nome do meu mentor e vi seu perfil no LinkedIn, percebi que realmente queria muito ser orientada por ele. Ele é um desenvolvedor experiente, senior, que já trabalha no exterior há alguns anos. Ter um mentor assim é realmente uma grande sorte. Mas eu achava que suas exigências seriam muito altas. Mais tarde, descobri que estava enganada sobre suas exigências excessivamente altas, mas naquele momento, pensava assim.

As perguntas da entrevista futura eram conhecidas, então era possível se preparar para ela com antecedência.
OOP foi ensinado por meio de vídeos. [J]u[S]t prototype this!. Seu autor – Sergey Melukov – explica de uma forma totalmente acessível e clara.
Estruturas de dados e a notação O-grande são muito bem exploradas no artigo. Colinha para entrevista técnica.
As maiores dúvidas eram sobre a tarefa de JavaScript, que certamente estaria na entrevista. Eu gosto de resolver problemas em geral, mas com o Google e no console do navegador, e se precisar resolver à mão e em papel (ou com o mouse em um bloco de notas) – tudo se torna muito mais complicado.
É conveniente se preparar para a entrevista em dupla no site skype.com/interviews/ – fazendo perguntas um ao outro, criando tarefas. Esse é um método de preparação bastante eficaz: quando você assume diferentes papéis, entende melhor quem está do outro lado da tela.

Como eu imaginava que poderia ser a entrevista? Provavelmente, como um exame, onde há um examinador e um examinado. Na verdade, isso definitivamente não foi um exame. Foi mais uma conversa entre duas pessoas apaixonadas, que estão fazendo a mesma coisa. A entrevista foi extremamente tranquila, confortável, amigável, as perguntas não eram muito difíceis, a tarefa era bastante simples, e o mentor não se opôs a resolvê-la no console e até permitiu olhar no Google ("ninguém proíbe usar Google no trabalho").

Pelo que eu entendi, a principal tarefa da entrevista não era verificar nossos conhecimentos e habilidades em resolver problemas, mas permitir que o mentor conhecesse seus alunos e mostrasse como é uma entrevista em geral. E o fato de que a entrevista deixou apenas boas impressões foi resultado de seus esforços conscientes, de seu desejo de mostrar que, na verdade, não há nada assustador em uma entrevista, e que ela pode ser feita com prazer. Outra questão é por que foi relativamente fácil para alguém com formação técnica fazer isso, enquanto educadores muitas vezes têm dificuldades. Todos se lembram da ansiedade que sentiram ao se preparar para um exame, mesmo sabendo o material muito bem. E já que estamos falando de pedagogia formal, quero compartilhar mais uma observação. No curso, havia, entre outros, alunos dos últimos anos de cursos de TI. Eles afirmaram que o formato de ensino oferecido pela Rolling Scopes School é muito mais útil, interessante e eficaz do que o programa convencional das universidades.

Eu passei na entrevista. Depois, o mentor marcou um dia da semana e um horário em que seria conveniente conversar comigo. Para esse dia, preparei perguntas, e ele respondeu a elas. Eu não tinha muitas perguntas sobre os projetos em que estava trabalhando – a maior parte das respostas eu encontrava no Google ou no chat da escola. Porém, ele falava sobre seu trabalho, sobre possíveis problemas e suas soluções, e compartilhava suas observações e comentários. No geral, essas conversas foram extremamente úteis e interessantes. Além disso, o mentor é praticamente a única pessoa que se interessa pelo que e como você faz, alguém que olhará seu trabalho, dirá o que está errado e como pode melhorá-lo. A presença de mentores é realmente uma enorme vantagem da escola, e seu papel é difícil de superestimar.

Na segunda etapa, tivemos um Code Jam muito interessante e dinâmico chamado "Desenho Rápido de Arrays JavaScript"; essas competições na escola são emocionantes e envolventes.
O Code Jam "CoreJS" foi muito mais desafiador. 120 problemas de JavaScript, para os quais tínhamos 48 horas para resolver, se tornaram um verdadeiro teste.
Além disso, tivemos alguns testes sobre JavaScript, aqui está o link para um deles . O tempo para resolver o teste é de 30 minutos.
Em seguida, criamos o layout do NeutronMail, completamos o Code Jam 'DOM, DOM Events' e desenvolvemos um mecanismo de busca para o YouTube.

Outras tarefas da segunda etapa: Tarefa: Codewars – resolução de problemas no site homônimo, Code Jam 'WebSocket Challenge.' – envio e recebimento de mensagens usando WebSockets, Code Jam 'Animation Player' – criação de um pequeno aplicativo web.

Uma tarefa bastante incomum e interessante da segunda etapa foi a tarefa 'Presentation'. Sua principal característica era que a apresentação precisava ser preparada e apresentada em inglês. Aqui É possível ver como foi a fase de apresentações presenciais.

E, sem dúvida, a mais complicada e extensa foi a tarefa final da segunda etapa, onde nos foi proposto criar nossa própria cópia do aplicativo web Piskel (www.piskelapp.com).
Essa tarefa levou mais de um mês, sendo que a maior parte do tempo foi dedicada a entender como isso funcionava na versão original. Para maior objetividade, a tarefa final foi avaliada por um mentor escolhido aleatoriamente. A entrevista após a segunda etapa também foi conduzida por um mentor aleatório, pois já estávamos acostumados com o nosso, e ele estava acostumado conosco; nas entrevistas reais, é comum encontrar pessoas desconhecidas entre si.

A segunda entrevista acabou sendo muito mais difícil do que a primeira. Como antes, havia uma lista de perguntas para a entrevista, para as quais eu me preparei, mas o mentor achou que simplesmente perguntar a teoria não seria o mais adequado e preparou um conjunto de desafios. Esses desafios, na minha opinião, eram bastante difíceis. Por exemplo, ele realmente não entendia o que me impedia de escrever um bind polyfill, enquanto eu achava que, por saber o que é bind e o que é polyfill, já era bastante. Essa tarefa eu não consegui resolver. Mas houveram outras com as quais consegui lidar. O problema é que as questões não eram simples, e assim que encontrava uma solução, o mentor mudava um pouco as condições, e eu tinha que resolver novamente, em uma versão mais complicada.
Vale ressaltar que a atmosfera da entrevista foi muito amigável, as tarefas eram interessantes, o mentor dedicou muito tempo para prepará-las e queria que a entrevista de aprendizado ajudasse a passar pela verdadeira entrevista ao buscar emprego.

Exemplos de tarefas da segunda etapa:
NeutronMail
Palette
YouTubeClient
PiskelClone

Na terceira etapa, nos foi oferecido a tarefa Culture Portal. Realizamos isso em grupo e pela primeira vez conhecemos as particularidades do trabalho em equipe, da distribuição de responsabilidades e da resolução de conflitos durante a mesclagem de branches no Git. Provavelmente, foi uma das tarefas mais interessantes do curso.

Exemplo de tarefa da terceira etapa: Culture Portal.

Após a conclusão da terceira etapa, os alunos que se candidataram a uma vaga na empresa EPAM e ficaram entre os 120 melhores passaram por uma entrevista telefônica para conhecimento da língua inglesa e atualmente estão realizando entrevistas técnicas. A maioria deles será convidada para o EPAM JS Lab e, em seguida, para projetos reais. Todos os anos, mais de cem graduados da Rolling Scopes School conseguem emprego na EPAM. Em relação àqueles que começaram o curso, isso é uma porcentagem bastante pequena, mas se considerarmos aqueles que chegaram ao final, a chance de conseguir um emprego é bastante alta.

Das dificuldades que você deve estar preparado, mencionarei duas. A primeira é o tempo. Você precisará de bastante. Planeje-se para dedicar de 30 a 40 horas por semana, podendo mais. Se for menos, é improvável que consiga realizar todas as tarefas, pois o programa do curso é muito intenso. A segunda é o inglês no nível A2. Se for inferior a isso, estudar no curso não será um impedimento, mas encontrar um emprego com esse nível de idioma será bastante difícil.

Se tiver perguntas, fique à vontade para perguntar, tentarei responder. Se conhecer outros cursos online gratuitos em russo semelhantes, compartilhe, será interessante.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster