Neste artigo, quero falar sobre a Rolling Scopes School - um curso gratuito de JavaScript / front-end que fiz e do qual realmente gostei. Eu aprendi sobre este curso por acaso, na minha opinião, não há muita informação na rede sobre ele, e o curso é excelente e merece atenção. Acho 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 ficaria muito agradecido.
Para aqueles que não tentaram aprender do zero, a questão pode surgir - por que precisamos de alguns cursos, porque as informações na rede são um mar - aproveite e aprenda. De fato, um mar de informações nem sempre é bom, porque escolher desse mar exatamente o que você precisa não é nada fácil. O curso lhe dirá: o que ensinar, como ensinar, em que ritmo aprender; ajuda a distinguir fontes de informação boas e dignas de nota de baixa qualidade e desatualizadas; oferecerá um grande número de exercícios práticos; permitirá que você faça parte de uma comunidade de pessoas entusiasmadas e interessadas que estão fazendo a mesma coisa que você.
Ao longo do curso, realizamos tarefas constantemente: passamos em testes, resolvemos problemas, criamos nossos próprios projetos. Tudo isso foi avaliado e entrou na tabela geral, onde você pode comparar seu resultado com os resultados de outros alunos. A atmosfera da competição é boa, divertida e interessante. Mas os pontos, embora sejam importantes para passar para a próxima etapa, não foram um fim em si mesmos. Os organizadores do curso receberam o apoio e a assistência mútua - no bate-papo, os alunos discutiram as perguntas que surgiram durante a solução das tarefas e tentaram encontrar respostas juntos. Além disso, os mentores nos ajudaram em nossos estudos, que é uma oportunidade única para um curso gratuito.
O curso é realizado quase continuamente: começa duas vezes por ano e dura seis meses. Consiste em três etapas. Na primeira etapa, estudamos principalmente Git e layout, na segunda - JavaScript, na terceira - React e Node.js.
A próxima etapa foi baseada nos resultados das tarefas da etapa anterior. Ao final de cada fase, foi realizada uma entrevista. Após a primeira e a segunda etapas, foram entrevistas educacionais com mentores; após a terceira, cento e vinte dos melhores alunos organizaram entrevistas no laboratório Minsk EPAM JS. O curso é conduzido pela comunidade bielorrussa de front-ends e desenvolvedores de JavaScript do The Rolling Scopes, portanto, é claro que eles têm contatos com o escritório do EPAM Minsk. No entanto, a comunidade está tentando estabelecer contatos e recomendar seus alunos para empresas de TI e outras cidades da Bielorrússia, Cazaquistão e Rússia.
A primeira etapa durou pouco mais de um mês. Este é o estágio mais maciço. No meu recrutamento, 1860 pessoas começaram - ou seja, todos que se inscreveram no curso. O curso é frequentado por pessoas de diferentes faixas etárias, mas a maioria dos estudantes são estudantes seniores e aqueles que, após vários anos de trabalho em outro campo, decidiram mudar de profissão.
Na primeira etapa, passamos por dois testes nos conceitos básicos do Git, dois testes em HTML / CSS, os cursos Codecademy e HTML Academy, criamos nosso CV na forma de um arquivo de remarcação e na forma de uma página regular, formamos um pequeno layout de uma página, resolvemos vários problemas bastante complexos por javascript.
A tarefa mais volumosa da primeira etapa foi o layout do site da Hexal.
O mais interessante é o jogo Code Jam para o conhecimento dos seletores CSS CSS “Quick Draw”.
As mais difíceis são as tarefas JavaScript. Um exemplo de uma dessas tarefas:
"Encontre o número de zeros no final do fatorial de um número grande no sistema numérico especificado" .
Um exemplo da tarefa da primeira etapa:
Hexal .
Com base nos resultados da conclusão das tarefas da primeira etapa, 833 alunos receberam convites para uma entrevista. A passagem do aluno para o segundo estágio durante a entrevista foi determinada por seu futuro mentor. Os mentores da Rolling Scopes School são desenvolvedores atuais da Bielorrússia, Rússia e Ucrânia. Os mentores ajudam e sugerem, conferem tarefas, respondem a perguntas. Havia mais de 150 mentores em nosso recrutamento. Dependendo da disponibilidade de tempo livre, o mentor pode levar de dois a cinco alunos, mas mais dois alunos são enviados a ele para uma entrevista, para que durante a entrevista ele possa escolher aqueles com quem ele estará envolvido.
A distribuição de alunos e mentores foi um dos momentos mais interessantes e emocionantes do curso. Os organizadores introduziram um pequeno elemento de jogo - os dados dos mentores eram mantidos por um chapéu de distribuição; quando clicados, era possível ver o nome e os contatos do seu futuro mentor.
Quando descobri o nome do meu mentor e verifiquei o perfil dele no LinkedIn, percebi que realmente queria falar com ele. Ele é um desenvolvedor experiente, senor, trabalha no exterior há vários anos. Tal mentor é realmente uma grande sorte. Parecia-me que os requisitos dele seriam muito altos. Mais tarde, descobriu-se que eu estava enganado sobre requisitos excessivamente altos, mas naquele momento eu pensava assim.
As perguntas da próxima entrevista eram conhecidas, por isso foi possível se preparar com antecedência.
OOP ensinou a partir do vídeo
[J] u [S] t prototype this! . Seu autor - Sergey Melyukov - conta extremamente acessível e compreensível.
As estruturas de dados e a notação O-big são excelentemente divulgadas na
folha de dicas para uma entrevista técnica .
A maior dúvida foi causada pela tarefa em JavaScript, que certamente estará na entrevista. Em geral, eu gosto de resolver problemas, mas com o Google e no console do navegador, e se você precisar resolver com uma caneta e papel (ou com um mouse em um notebook), tudo se torna muito mais complicado.
É conveniente se preparar para uma entrevista juntos em
skype.com/interviews/ - faça perguntas um ao outro, crie tarefas. Esta é uma maneira bastante eficaz de preparação: quando você desempenha papéis diferentes, entende melhor quem está do outro lado da tela.
Como seria minha entrevista? Provavelmente, para o exame, onde existe um examinador e um examinador. De fato, isso definitivamente não era um exame. Em vez disso, uma conversa entre duas pessoas entusiasmadas que estão fazendo uma coisa. A entrevista foi extremamente calma, confortável, amigável, as perguntas não foram muito difíceis, a tarefa era bastante simples e o mentor não se opôs a resolvê-la no console e até autorizou a visita ao Google ("ninguém proibirá o uso do Google do trabalho").
Pelo que entendi, a principal tarefa da entrevista não foi testar nosso conhecimento e capacidade de resolver problemas, mas dar ao mentor a oportunidade de conhecer seus alunos e mostrar a eles como é a entrevista. E o fato de que apenas boas impressões foram deixadas na entrevista foi o resultado de seus esforços conscientes, o desejo de mostrar que realmente não há nada de assustador na entrevista e você pode aceitá-la com prazer. Outra pergunta é por que era fácil o suficiente para uma pessoa com educação técnica fazer isso, e os professores raramente conseguem. Afinal, todos se lembram de como estavam empolgados com o exame, mesmo que conhecessem bem o material. E como estamos falando de pedagogia oficial, compartilharei mais uma observação. O curso foi frequentado, entre outras coisas, por estudantes seniores de especialidades de TI. E assim eles argumentaram que o formato de treinamento oferecido pela Rolling Scopes School é muito mais útil, interessante e mais eficaz que um programa universitário regular.
Eu passei na entrevista. No futuro, o mentor indicou o dia da semana e a hora em que é conveniente para ele falar comigo. Eu preparei perguntas para este dia, ele respondeu. Não tenho muitas perguntas sobre os projetos em andamento. Encontrei a maioria das respostas no bate-papo do Google ou da escola. Mas ele falou sobre seu trabalho, sobre possíveis problemas e maneiras de resolvê-los, compartilhou suas observações e comentários. Em geral, essas conversas foram excepcionalmente úteis e interessantes. Além disso, o mentor é quase a única pessoa interessada no que e como você está fazendo, a pessoa que olha para o seu trabalho lhe dirá o que há de errado com ele e como melhorá-lo. A presença de mentores é realmente uma grande vantagem da escola, cujo papel é difícil de superestimar.
No segundo estágio, tivemos um Code Jam "JavaScript Arrays Quick Draw" muito interessante e dinâmico, tais competições na escola são empolgantes e empolgantes.
O CodeJam "CoreJS" acabou sendo muito mais complexo. 120 tarefas JavaScript, que levaram 48 horas para serem concluídas, foram um teste sério.
Em seguida, criamos o layout do NeutronMail, realizamos o Code Jam “DOM, DOM Events”, criamos um mecanismo de pesquisa no YouTube.
Outras tarefas do segundo estágio: Tarefa: Codewars - solução de problemas no site de mesmo nome, Code Jam "WebSocket Challenge". - enviando e recebendo mensagens usando soquetes da web, Code Jam "Animation Player" - criando um pequeno aplicativo da web.
Uma tarefa bastante incomum e interessante da segunda etapa foi a tarefa "Apresentação". Sua principal característica é que a apresentação teve que ser preparada e apresentada em inglês.
Aqui você pode ver como as apresentações ocorreram.
E, sem dúvida, a tarefa final da segunda etapa foi a mais difícil e volumosa, durante a qual nos ofereceram a criação de nossa própria cópia do aplicativo da web Piskel (www.piskelapp.com).
Essa tarefa levou cerca de um mês. Para maior objetividade, a tarefa final foi verificada por outro mentor selecionado aleatoriamente. E a entrevista após a segunda etapa também foi realizada por um mentor aleatório, porque já estávamos acostumados com a nossa, e ele estava acostumado conosco, e em entrevistas reais, como regra, existem pessoas não familiarizadas.
A segunda entrevista foi muito mais difícil que a primeira. Como antes, havia uma lista de perguntas para a entrevista, para a qual me preparei, mas o mentor decidiu que apenas perguntar a teoria não seria inteiramente correto e eu preparei um conjunto de tarefas para a entrevista. As tarefas, na minha opinião, eram bastante complicadas. Por exemplo, ele sinceramente não entendeu o que o polyfill de ligação estava me impedindo de escrever, e eu também acreditava sinceramente que o que eu sei o que é bind e o que é o polyfill é muito. Eu não resolvi esse problema. Mas havia outros com quem ela lidava. Mas as tarefas não eram simples e, assim que encontrei uma solução, o mentor mudou um pouco a condição e tive que resolver o problema novamente, em uma versão já mais complexa.
Ao mesmo tempo, observo que a atmosfera da entrevista foi muito amigável, as tarefas eram interessantes, o mentor gastou muito tempo para prepará-las e se esforçou para a entrevista de treinamento no futuro para ajudar a passar uma entrevista real ao se candidatar a um emprego.
Exemplo de trabalho do segundo estágio:
PiskelCloneNa terceira etapa, nos foi oferecido o Portal de Cultura de Tarefas. Nós o realizamos em um grupo e, pela primeira vez, nos familiarizamos com os recursos do trabalho em equipe, distribuição de responsabilidades, resolução de conflitos ao mesclar filiais no Git. Talvez essa tenha sido uma das tarefas mais interessantes do curso.
Um exemplo da tarefa da terceira etapa:
Portal da Cultura .
Após o final da terceira etapa, os alunos que se inscreveram para trabalhar na EPAM e entraram na lista das 120 melhores, passaram por uma entrevista por telefone para conhecer o idioma inglês e estão passando por entrevistas técnicas. A maioria será convidada para o EPAM JS Lab e depois para projetos reais. A cada ano, mais de cem graduados da Rolling Scopes School conseguem emprego na EPAM. No contexto daqueles que iniciaram o curso, essa é uma porcentagem bastante pequena, mas se você olhar para aqueles que chegaram à final, para eles a chance de conseguir um emprego é bastante grande.
Das dificuldades que precisam ser preparadas, vou citar duas. O primeiro é o tempo. Precisa de muito. Concentre-se em 30-40 horas por semana, mais pode ser, se menos - é improvável que você tenha tempo para concluir todas as tarefas, pois o programa do curso é muito rico. O segundo é o nível A2 de inglês. Se for menor, não fará mal estudar no curso, mas será muito difícil encontrar trabalho com esse nível de linguagem.
Se você tiver perguntas, pergunte, tentarei responder. Se você conhece outros cursos on-line gratuitos em russo - compartilhe, será interessante.