¿Qué tipo de trabajo de preparación recomienda que completen los futuros estudiantes antes de postular a Codesmith?

Estos son los pasos que tomé antes de aplicar a Codesmith:

  1. Aprende la sintaxis de Javascript con Codecademy. No estaría de más familiarizarse con HTML y CSS.
  2. Empieza a ir a JavaScript las partes difíciles. Intenta y atiende a cada parte dos veces.
  3. Lea los capítulos de Javascript elegantes 1-6. Personalmente comencé desde el principio y seguí adelante hasta que no pude seguir más. Luego busqué en Google los temas que eran difíciles de entender durante unos días y exploré otros recursos. Entonces empecé el libro otra vez. Terminé este proceso varias veces antes de poder pasar por el capítulo 6 y comprender completamente todos los conceptos y resolver los problemas al final de cada capítulo. No busques las respuestas. Incluso si te lleva días descifrar uno.
  4. Practica escribir código resolviendo problemas en CoderByte y CodeWars.
  5. Lo último que sugeriré es probablemente lo más importante. No memorices nada. A menudo, las personas intentarán memorizar las respuestas a las preguntas que creen que obtendrán en la entrevista. Si bien es posible que obtenga esas preguntas en la entrevista, esto dificultará su crecimiento como desarrollador y lo dejará perplejo si recibe una pregunta que no conoce. Al final, la codificación tiene que ver con la resolución de problemas, y la memorización de las respuestas no es la resolución de problemas. En su lugar, trata de construir una lista de conceptos que comprendas profundamente.

Recomendaría estar lo más preparado posible antes de postularse a Codesmith … cuanto más sepa sobre el programa, más podrá aprender y absorber. Sentirse perdido es un ruido de confianza y es potencialmente desalentador (por no decir que no puede superarlo, ¡tenía que hacerlo!) … pero tomarme un tiempo para construir una base sólida para usted mismo antes de postularse, se estará preparando para sacar el máximo provecho de su tiempo en CS. Tendrás un contexto para las conferencias y podrás conectar los puntos de las cosas que has enseñado (o has intentado enseñar) a ti mismo en el camino y, en última instancia, surgir un programador más fuerte como resultado.

No venía de un campo tecnológico y no tenía una capacitación formal en programación cuando decidí dedicarme al desarrollo de software, por lo que mis sugerencias a continuación son para alguien como yo, o alguien que está empezando donde estaba (desde cero) antes de postularme a Codesmith:

  • CodeAcademy – ¡Estos recursos son geniales y GRATIS! Realice primero los cursos HTML y CSS, Javascript y jQuery, luego continúe con “Crear un sitio web” y “Crear un sitio web interactivo” … cursos como “Aprenda la línea de comandos”, “Aprenda Git”, “Aprenda SQL” y ‘Learn AngularJS’ será un activo más adelante en la línea, así que si has dominado las otras pistas de CodeAcademy, ¿por qué no subir de nivel con estas también?
  • CodeWars : este sitio no solo es un gran campo de entrenamiento para mejorar tu pensamiento analítico y tu habilidad para manejar Javascript como un arma contra los rompecabezas, ¡es muy divertido! También sirve como una buena prueba de fuego para determinar si te gustará la programación … no sin excepción, pero si te gusta este tipo de sitio, es probable que tengas sangre de ingeniero de software corriendo por tus venas.
  • ¡Construir cosas! – Haz una extensión de Chrome, juego de tic-tac-toe o pong, haz un blog web personal … no tiene que ser desde cero, sigue un tutorial y ve si puedes entender lo que estás armando en el camino. Una vez que haya terminado, juegue con su código y vea si puede cambiar las cosas para lograr un resultado deseado … ¿puede agregar un puntaje actual en su juego? ¿Puedes permitir a los lectores filtrar tus publicaciones de blog por tema?
  • Asista a reuniones / conferencias / eventos : cuando comencé a sumergir mi dedo del pie en este campo, me sorprendió la cantidad de reuniones y eventos diferentes que hubo en la comunidad de programadores / desarrolladores (y casi todos son gratuitos) … es una prueba de cuánto. La industria y las personas que la integran están comprometidas con la mejora personal y la construcción de cosas geniales juntas. Encuentre algunos de estos encuentros para Javascript (por ejemplo, JS the Hard Parts) o NodeJS y esponja cualquier conocimiento que los anfitriones impartan de forma libre y desinteresada. Intente esforzarse para participar en algunas de las actividades del grupo (por ejemplo, la programación en parejas) que a menudo constituyen la parte posterior de estas reuniones. Claro, muchos de nosotros somos raros, pero la gran mayoría de nosotros queremos ser tan serviciales y alentadores como sea posible; estamos emocionados de ver a alguien más compartiendo nuestra pasión y alguien que se embarca en un viaje similar.

tl; dr: la mejor preparación es sumergirse en la comunidad de preparación de Codesmith: las clases de partes difíciles de JavaScript, las sesiones de programación en pares, etc. nada te hará crecer más rápido en las áreas clave que buscamos en las entrevistas.

¿Cuáles son esas áreas? Hay diez factores que observamos durante el proceso de la entrevista, pero cinco son importantes sobre todos los demás:

  1. Solución analítica de problemas : ¿Cómo utiliza el código como una herramienta para razonar sobre los nuevos problemas que enfrenta en la entrevista técnica?
  2. Comunicación técnica : hablar de su código de manera precisa y clara (una gran parte de lo que hace que un ingeniero sea efectivo)
  3. Comunicación no técnica : ¿Serás atento y apoyarás a los demás durante las horas difíciles y el trabajo?
  4. Cómo manejas golpear un bloque : cómo depuras, obtén retroalimentación cuando llegas a un bloqueo en tu comprensión (nos aseguramos de que llegues un momento como este en la entrevista)
  5. Experiencia de JavaScript : este no es, sorprendentemente, el mejor predictor de la tasa de crecimiento, pero es el quinto factor más importante

Queremos que esté en lo que yo llamo el Nivel 2, donde se sienta cómodo resolviendo problemas con el código, ya sea mediante algoritmos o creando soluciones a los problemas que tiene, y ha llegado al extremo del idioma. ¿Cómo puedes llegar a ese nivel en cada uno de los factores que observamos?

  • ¿Cómo puede mejorar su resolución analítica de problemas y cómo manejar golpear un bloque?
  • Use el código para resolver problemas: Algoritmos o compile pequeños proyectos para resolver problemas que tiene el día a día. Para los algoritmos, consulte los cursos y desafíos de programación y http://Codewars.com . Para los proyectos, cree extensiones de Chrome: estos tienen muy poco código de configuración, lo que significa que puede sumergirse para resolver un problema que tiene con una extensión de Chrome casi de inmediato. ¿Cuáles son algunos proyectos de programación excelentes para principiantes?
  • ¿Cómo puede mejorar su experiencia de Javascript (y depuración)?
    • Vaya por debajo del capó del lenguaje: debe encontrar un equilibrio en la profundidad de su trabajo, pero debe explorar conceptos básicos como el cierre, el contexto de ejecución, la asincronía en JavaScript. Esto también puede ayudar a aumentar su pasión por la codificación: es realmente emocionante saber cómo funcionan realmente las cosas y eso se mostrará en su entrevista.
  • ¿Cómo puedes mejorar tu comunicación técnica?
    • Programación de pares y diagrama a través de su código: aprenda a leer su código de manera precisa y lógica mediante la programación de pares todo lo que pueda. Puede hacerlo en las clases de partes difíciles de JavaScript, las sesiones de programación de parejas o reuniéndose con otros alumnos y formando parejas durante el fin de semana (también Freecodecamp tiene excelentes reuniones para las parejas)
  • ¿Cómo puedes mejorar tu comunicación no técnica?
    • Programe parejas y lea sobre las experiencias de otros: ¡ Trabaje en pareja y entienda el viaje que otros están haciendo! Lea algunos de estos artículos que comparten los desafíos que usted y sus compañeros de aprendizaje pueden enfrentar: síndrome de Imposter, antecedentes no tradicionales

    Una sesión de JavaScript las partes difíciles


    Recuerde, muchos de los mejores admitidos por Codesmith no fueron admitidos en su primer intento o incluso a veces en su segundo intento. Así que tómese su tiempo cuando haga la solicitud y asegúrese de hablar con la comunidad, los estudiantes actuales, los graduados acerca de cómo se prepararon para la entrevista. Esa es la mejor preparación que puede obtener.

    Soy un reciente estudiante de Codesmith y actual ingeniero de Codesmith residente. Dicho esto, creo que los futuros estudiantes deberían enfocarse en 3 áreas clave de preparación (numeradas, pero no ordenadas).

    1. Detalles del idioma de Javascript : ya sea que venga de un idioma diferente o no, debe tener un buen conocimiento de la sintaxis, la estructura y las capacidades de javascript. Aquí es donde Codecademy y Codeschool pueden ser muy útiles. Esta es una línea de base sobre la que debe construir para convertirse en un ingeniero excepcional.
    2. Solución de problemas: esto puede venir en diferentes formas, pero el elemento importante de esta pieza es que te presentas con desafíos que no puedes superar de inmediato y te entrenas para descomponerlos y finalmente superar los bloqueos que encuentres. Una de las mejores maneras de resolver esto es identificar algo en su vida que podría mejorarse y tratar de usar Javascript para resolverlo. Coderbyte y codewars también ofrecen buenas oportunidades para practicar esto, y si quieres subir de nivel, puedes combinar cualquiera de estos con …
    3. Programa de pares: hay una razón por la que la programación de pares es una pieza tan importante del currículo de Codesmith. Encuentra un amigo o crea uno nuevo en encuentros como JS the Hard Parts y resuelve todos los problemas que desees. Prometo que habrá diferentes partes de los problemas con los que pueden ayudarse mutuamente y que ambos terminen siendo más fuertes.

    Sea diligente y comprométase a seguir adelante incluso cuando sea difícil. No importa lo que suceda, esos rasgos y el conocimiento que adquieras te ayudarán en tu camino.

    Actualmente soy estudiante de Codesmith y recientemente hice una sesión de preguntas y respuestas con SwitchUp sobre mi experiencia hasta ahora. Aquí hay un extracto que podría ser útil:

    ¿Qué tipo de trabajo de preparación recomienda que completen los futuros estudiantes antes de postularse a las escuelas?
    Creo que lo más importante es entrar en una mentalidad de aprendizaje continuo mediante la programación regular. Encuentre una rutina con la que pueda comprometerse, ya sea una hora todos los días después del trabajo o unas pocas horas cada fin de semana, y dedique ese tiempo a desarrollar sus habilidades.

    Afortunadamente, hay muchos recursos disponibles en línea e impresos, especialmente para los principiantes. Comencé mi viaje de programación con el curso gratuito de Introducción a JS de la Academia Khan , y soy un gran fanático (aunque después de haber trabajado en KA, quizás estoy un poco sesgado). El curso es accesible para todas las edades, y enseña JavaScript en el contexto del dibujo y la animación, utilizando la biblioteca ProcessingJS. Esto significa que puede ver los resultados de su código de inmediato y comenzar a tener una idea de cómo la programación creativa puede ser. También me gusta mucho cómo el curso combina los desafíos de codificación que refuerzan los conceptos básicos de programación con proyectos abiertos que fomentan la exploración. Y, por supuesto, el hecho de que todo en Khan Academy sea gratis es una gran ventaja. Fuera de KA, me beneficié mucho de las lecciones gratuitas en Codecademy y Code School, aunque ambos sitios requieren una suscripción de pago para un acceso completo. También encontré útiles los libros HTML y CSS de Jon Duckett: Diseño y creación de sitios web y JavaScript y jQuery: Desarrollo interactivo de front-end, así como los primeros capítulos del JavaScript Elocuente de Marijn Haverbeke.

    No puedes aprender todo antes del bootcamp, porque siempre habrá más que aprender, esa es una de las cosas que hacen que la programación sea tan emocionante. Pero puedes construir una base sólida.

    ¡Espero que esta información ayude!

    También soy estudiante actualmente en Codesmith, así que estoy agregando mi experiencia aquí:

    Pasé tiempo tomando clases gratuitas de Javascript en línea, y luego terminé pagando por Codeschool durante unos meses. Fue bueno pasar un poco de tiempo repasando los principios básicos de cómo funciona el idioma. Sin embargo, al final del día, lo que he aprendido de las escuelas es que la tasa de aprendizaje de una experiencia verdaderamente inmersiva es mucho más alta que la de cualquier aprendizaje basado en ejemplos. Asistir a los eventos en persona en los campamentos de entrenamiento fue la mejor manera que encontré para aprender y la mejor manera de descubrir qué enseñó el campamento de manera que me funcionó.

    Asistir a clases presenciales y en línea también fue una excelente manera de averiguar si también quería una escuela remota o en persona.