En este artículo quiero hablar sobre Rolling Scopes School, un curso gratuito de JavaScript / frontend que realicé y que me gustó mucho. Supe de este curso de manera casual, y considero que la información en la red sobre él es algo escasa, aunque es un curso excelente que merece la pena. Creo que este artículo será útil para aquellos que están tratando de estudiar programación por su cuenta. De todos modos, si alguien me hubiera hablado de este curso antes, le habría estado muy agradecida.
Aquellos que no han intentado aprender por su cuenta desde cero pueden preguntarse por qué son necesarios algunos cursos, ya que hay un mar de información en la red: basta con tomarla y estudiar. En realidad, ese mar de información no siempre es algo bueno, porque elegir de ese mar precisamente lo que necesitas puede ser bastante complicado. El curso te indicará qué estudiar, cómo estudiar y a qué ritmo; ayudará a distinguir entre las buenas y dignas fuentes de información y las de baja calidad y obsoletas; ofrecerá una gran cantidad de ejercicios prácticos; y te permitirá ser parte de una comunidad de personas entusiastas e interesadas que hacen lo mismo que tú.
A lo largo del curso, realizamos constantemente tareas: pasamos pruebas, resolvimos problemas y creamos nuestros propios proyectos. Todo esto fue evaluado y se registró en una tabla donde se podía comparar nuestro resultado con el de otros estudiantes. La atmósfera de competencia es buena, divertida e interesante. Sin embargo, los puntos, aunque importantes para avanzar a la siguiente etapa, no eran el objetivo en sí. Los organizadores del curso promovieron el apoyo y la ayuda mutua: en el chat, los estudiantes discutían las preguntas que surgían al resolver las tareas y trataban de encontrar respuestas juntos. Además, contábamos con mentores que, para un curso gratuito, es una oportunidad única.
El curso funciona prácticamente de manera continua: se lanza dos veces al año y dura seis meses. Consiste en tres etapas. En la primera etapa, estudiamos principalmente Git y diseño, en la segunda, JavaScript, y en la tercera, React y Node.js.
En la siguiente etapa se avanzó según los resultados de las tareas del fase anterior. Al final de cada etapa se realizó una entrevista. Después de la primera y segunda etapa, estas fueron entrevistas de formación con mentores; después de la tercera etapa se organizaron entrevistas en el EPAM JS Lab de Minsk para los ciento veinte mejores estudiantes. El curso es impartido por la comunidad belarusa de desarrolladores frontend y JavaScript The Rolling Scopes, por lo que es comprensible su conexión con la oficina de EPAM en Minsk. Sin embargo, la comunidad se esfuerza por establecer contactos y recomendar a sus estudiantes en empresas de TI en otras ciudades de Bielorrusia, Kazajistán y Rusia.
La primera etapa duró un poco más de un mes. Esta es la etapa más masiva. En mi grupo empezaron 1860 personas, es decir, todos los que se inscribieron en el curso. En el curso participan personas de diferentes edades, pero la mayoría de los estudiantes son estudiantes de años superiores y aquellos que, después de haber trabajado varios años en otra esfera, decidieron cambiar de profesión.
En la primera etapa realizamos dos pruebas sobre los fundamentos de Git, dos pruebas sobre HTML/CSS, cursos de Codecademy y HTML Academy, creamos nuestro CV en forma de archivo markdown y como una página web normal, maquetamos un pequeño diseño de una sola página y resolvimos varias tareas bastante complejas de JavaScript.
La tarea más extensa de la primera etapa fue la maquetación del sitio web Hexal.
La más interesante fue el juego Code Jam sobre el conocimiento de selectores CSS "CSS Quick Draw".
Las tareas más difíciles fueron las de JavaScript. Un ejemplo de una de estas tareas es: «Encontrar la cantidad de ceros al final del factorial de un gran número en el sistema numérico especificado».
Ejemplo de tarea de la primera etapa: .
Como resultado de las tareas completadas en la primera etapa, 833 estudiantes recibieron invitaciones a entrevistas. La continuación del estudiante a la segunda etapa durante la entrevista fue determinada por su futuro mentor. Los mentores de Rolling Scopes School son desarrolladores en activo de Bielorrusia, Rusia y Ucrania. Los mentores ayudan y orientan, revisan las tareas y responden preguntas. En nuestro grupo había más de 150 mentores. Dependiendo de su disponibilidad, un mentor puede aceptar de dos a cinco estudiantes, pero a la entrevista se envía a dos estudiantes más, para que durante la entrevista pueda elegir a aquellos con los que trabajará.
La distribución de estudiantes y mentores fue uno de los momentos más interesantes y emocionantes del curso. Los organizadores incorporaron un pequeño elemento lúdico: la información sobre los mentores era almacenada en un sombrero distribuidor, al hacer clic en el cual se podía ver el nombre y los contactos de tu futuro mentor.
Cuando supe el nombre de mi mentor y vi su perfil en LinkedIn, me di cuenta de que realmente quería contactarlo. Es un desarrollador experimentado, senior, que lleva varios años trabajando en el extranjero. Tener un mentor así es realmente una gran suerte. Pero pensé que sus requisitos serían muy altos. Más tarde me di cuenta de que me había equivocado respecto a los requisitos demasiado altos, pero en ese momento así lo pensaba.
Las preguntas de la entrevista próxima eran conocidas, así que se podía preparar con anticipación.
El OOP lo enseñé a través de videos . Su autor, Sergey Melyukov, explica de manera excepcionalmente accesible y clara.
Las estructuras de datos y la notación O-grande están excelentemente desarrolladas en el artículo .
La tarea de JavaScript, que definitivamente estará en la entrevista, causó las mayores dudas. En general, me gusta resolver problemas, pero con Google y en la consola del navegador, y si hay que resolverlo a mano y en papel (o con el mouse en un bloc de notas), todo se vuelve mucho más complicado.
Es conveniente prepararse juntos en el sitio – haciéndose preguntas mutuamente, inventando tareas. Este es un método de preparación bastante efectivo: al asumir diferentes roles, entiendes mejor a la persona que está al otro lado de la pantalla.
¿A qué podía parecerse una entrevista en mi imaginación? Probablemente a un examen, donde hay un examinador y un examinado. En realidad, no fue en absoluto un examen. Más bien, fue una conversación entre dos personas apasionadas que se dedican a lo mismo. La entrevista fue excepcionalmente tranquila, cómoda, amigable, las preguntas no eran muy difíciles, la tarea bastante simple, y el mentor no se opuso en absoluto a resolverla en consola e incluso permitió mirar en Google ("en el trabajo, nadie prohíbe usar Google").
Por lo que entiendo, el principal objetivo de la entrevista no era evaluar nuestros conocimientos y habilidades para resolver problemas, sino permitir que el mentor conociera a sus estudiantes y les mostrara cómo es una entrevista en general. Y el hecho de que de la entrevista solo quedaran buenas impresiones fue el resultado de sus esfuerzos conscientes, deseando mostrar que en realidad no hay nada aterrador en las entrevistas y que se puede afrontar con placer. Otra pregunta es por qué a una persona con formación técnica le resultó tan fácil hacerlo, y esto raramente se logra por parte de los docentes. Todos recuerdan cuánta ansiedad se experimentaba antes de un examen, incluso si se conocía el material a la perfección. Y ya que hemos mencionado la pedagogía oficial, compartiré otra observación. En el curso también asistían estudiantes de años superiores en especialidades de TI. Y ellos afirmaron que el formato de aprendizaje que ofrece la Rolling Scopes School es mucho más útil, interesante y efectivo que el programa ordinario de la universidad.
Pasé la entrevista. Posteriormente, el mentor programó un día de la semana y una hora en la que le convenía hablar conmigo. Para ese día, preparé preguntas, y él respondió a ellas. No tenía muchas preguntas sobre los proyectos que estaba realizando; la mayor parte de las respuestas las encontraba en Google o en el chat de la escuela. Sin embargo, él hablaba sobre su trabajo, sobre los posibles problemas y las formas de solucionarlos, compartía sus observaciones y comentarios. En general, estas conversaciones fueron excepcionalmente útiles e interesantes. Además, el mentor es prácticamente la única persona interesada en lo que haces y cómo lo haces, alguien que observará tu trabajo, te indicará qué está mal y cómo puedes mejorarlo. La presencia de mentores es realmente una gran ventaja de la escuela, cuyo papel es difícil de sobreestimar.
En la segunda etapa tuvimos un Code Jam muy interesante y dinámico titulado «JavaScript Arrays Quick Draw», competencias como estas se llevan a cabo de manera emocionante y atractiva en la escuela.
El Code Jam «CoreJS» resultó ser mucho más complicado. 120 tareas sobre JavaScript, para las cuales se asignaron 48 horas, se convirtieron en una seria prueba.
También realizamos algunas pruebas de JavaScript, el enlace a lo tengo guardado en los marcadores del navegador. Se asignan 30 minutos para completar la prueba.
A continuación, diseñamos la maqueta de NeutronMail, realizamos el Code Jam «DOM, DOM Events», y creamos un buscador de YouTube.
Otras tareas de la segunda etapa: Task: Codewars – resolviendo problemas en el sitio homónimo, Code Jam «WebSocket Challenge.» – envío y recepción de mensajes mediante websockets, Code Jam «Animation Player» – creación de una pequeña aplicación web.
Una tarea bastante inusual e interesante de la segunda etapa fue la tarea «Presentation». Su principal característica es que la presentación debía prepararse y presentarse en inglés. se puede ver cómo transcurrió la fase presencial de las presentaciones.
Y, sin duda, la tarea más difícil y extensa fue la tarea final de la segunda etapa, en la que se nos propuso crear nuestra propia copia de la aplicación web Piskel (www.piskelapp.com).
Este trabajo llevó más de un mes, siendo la mayor parte del tiempo dedicada a entender cómo funciona en el original. Para mayor objetividad, la tarea final fue evaluada por otro mentor elegido al azar. Y la entrevista después de la segunda etapa también fue conducida por un mentor aleatorio, porque ya estábamos acostumbrados al nuestro y él a nosotros, y en las entrevistas reales, por lo general, se encuentran personas que no se conocen entre sí.
La segunda entrevista resultó ser mucho más difícil que la primera. Al igual que antes, había una lista de preguntas para la entrevista para la que me preparé, pero el mentor decidió que simplemente preguntar teoría no sería del todo correcto, y preparó un conjunto de problemas para la entrevista. Los problemas, a mi parecer, eran bastante complejos. Por ejemplo, él no entendía sinceramente qué me impedía escribir un bind polyfill, y yo creía sinceramente que saber qué es bind y qué es polyfill ya era mucho. No resolví este problema. Pero hubo otros que los resolví. Sin embargo, los problemas no eran fáciles, y tan pronto como encontraba una solución, el mentor cambiaba un poco la condición, y tenía que resolver el problema de nuevo en una variante más complicada.
Cabe señalar que la atmósfera de la entrevista era muy amable, las tareas interesantes, el mentor dedicó mucho tiempo para prepararlas, y se esforzó para que la entrevista de aprendizaje ayudara a pasar la entrevista real al buscar trabajo.
Ejemplos de tareas de la segunda etapa:
En la tercera etapa, se nos propuso la tarea del Culture Portal. La realizamos en grupo y, por primera vez, nos familiarizamos con las características del trabajo en equipo, la distribución de responsabilidades y la resolución de conflictos al fusionar ramas en Git. Probablemente, esta fue una de las tareas más interesantes del curso.
Ejemplo de tarea de la tercera etapa: .
Después de finalizar la tercera etapa, los estudiantes que aspiraban a trabajar en la empresa EPAM y que estaban en la lista de los 120 mejores, realizaron una entrevista telefónica para evaluar su conocimiento de inglés, y actualmente están pasando entrevistas técnicas. La mayoría de ellos será invitada al EPAM JS Lab y luego a proyectos reales. Cada año, más de un centenar de graduados de la Rolling Scopes School obtienen trabajo en EPAM. En comparación con aquellos que iniciaron el curso, este es un porcentaje relativamente pequeño, pero si se observa a quienes llegaron a la final, su oportunidad de conseguir empleo es bastante grande.
De las dificultades a las que hay que estar preparado, mencionaré dos. La primera es el tiempo. Se necesita bastante. Prepárate para dedicar entre 30 y 40 horas a la semana; se puede hacer más, pero menos significa que es poco probable que completes todas las tareas, ya que el programa del curso es muy intenso. La segunda es el inglés en nivel A2. Si está por debajo, estudiar en el curso no será un obstáculo, pero encontrar trabajo con ese nivel de idioma será bastante complicado.
Si tienes preguntas, no dudes en preguntar, intentaré responder. Si conoces otros cursos online gratuitos similares en ruso, compártelos, sería interesante.
Fuente: habr.com
