¿Debería un estudiante de informática asistir a un campo de entrenamiento de codificación?

Divulgación y antecedentes completos: cofundé y enseñé en Fullstack Academy , un programa de codificación inmersivo centrado en JavaScript. También trabajé como ingeniero de software en Yahoo y Gilt Groupe, entre otros lugares, y me especialicé en CS y EE en Univ of Illinois Urbana-Champaign.

La respuesta depende de tus objetivos profesionales. Una especialización en CS cubre mucha buena teoría de Comp Sci y programación de bajo nivel. Esa base es excelente para ciertos trabajos, pero no tanto para otros. Si desea trabajar en la web, y especialmente si desea trabajar en una startup, asistir a un programa de codificación inmersiva de primer nivel puede acelerarlo allí y darle la mayoría de las opciones de empleo.

Los programas de educación de codificación inmersiva como Fullstack Academy pueden llenar el vacío que los programas formales de CS actualmente fallan: enseñar pilas de desarrollo web populares y brindar a los estudiantes experiencia real en la creación de aplicaciones web. Si desea trabajar en una startup y no tiene esa experiencia, puede ser una venta difícil durante la entrevista, incluso con un título de CS.

El problema para las startups no es que piensen que no puedes aprender su stack en un plazo de 3 a 6 meses. Saben que sí puedes. Es posible que no tengan el ancho de banda para enseñarle. Ahí es donde tener más de 3 meses de instrucción intensa y relevante y experiencia en la creación de aplicaciones web puede ayudar. Llegar a la mesa con un gran conocimiento de los fundamentos de CS y una sólida experiencia en la creación de aplicaciones en un lenguaje como JavaScript es un juego de pelota completamente diferente. Entonces la startup no tiene que enseñarte casi tanto; Puedes agregar valor el día 1.

En Fullstack tenemos varias especializaciones en CS en cada grupo: son graduados nuevos o ingenieros que provienen de conjuntos tecnológicos obsoletos / corporativos (por ejemplo, .NET) que buscan actualizar rápidamente su conjunto de habilidades. Generalmente son nuestros mejores estudiantes y tienen los mejores resultados laborales en términos de compensación y elección de empresas. Nuestra profunda experiencia de inicio, somos la única escuela de codificación respaldada por Y Combinator, es particularmente útil para graduados que buscan trabajo en el mundo de inicio. Y nuestro enfoque en JavaScript, aunque crea un plan de estudios más desafiante, satisface la creciente demanda de las empresas de experiencia con marcos JS complejos como AngularJS.

La conclusión es que una escuela de codificación inmersiva superior que enseña un lenguaje relevante como JavaScript puede ser de gran ayuda para los estudiantes de CS que buscan acceder directamente a los roles de desarrollo web o nuevas empresas. Al elegir un programa, debe concentrarse más en el plan de estudios que se enseña, los antecedentes de los instructores y los resultados de empleo para los graduados.

Si tiene la intención de ser ingeniero de software, escriba mucho código además de lo que se requiere para sus clases. No importa si haces esto en un campo de entrenamiento o mediante proyectos personales.

La ventaja de un campo de entrenamiento es que le dará estructura si no puede encontrar la disciplina o la motivación para proyectos personales. Será como una clase, pero más intensa.

Si tiene la disciplina para hacer las cosas por su cuenta, adoptar proyectos personales puede ser mucho más motivador que otro entorno de aprendizaje estructurado. Todo depende de tu temperamento.

Si le gusta la autodirección, pero también busca una experiencia comunitaria, entonces puede investigar si hay un proyecto de código abierto en el que esté interesado y pueda contribuir.

TLDR: Sí, si desea acceder a web / mobile / data science / startups; no para la mayoría de los otros campos.

¡Felicidades por tu título de CS! Eso representa mucho trabajo duro y estudio. Lamento informarle que es casi seguro que está destinado a otro programa de capacitación, porque su título de CS no es una preparación suficiente para las responsabilidades de un ingeniero de software.

Este programa de capacitación se denominará trabajo, pero en realidad será un programa de capacitación. De hecho, probablemente te unirás a una empresa que ha reconocido formalmente ese hecho y ha desarrollado un rol especializado que te prepara con la instrucción sobre el material que te falta (por ejemplo, Dropbox – Ingeniero de software – Graduado universitario). La razón por la que probablemente termines en ese tipo de rol es porque la mayoría de las otras compañías no contratan graduados universitarios nuevos, e incluso Dropbox no contrata graduados universitarios nuevos para la mayoría de los roles.

No quiero engañarlo aquí: el hecho de que una compañía se haya convencido del hecho de que tiene que capacitarlo no significa que sea especialmente bueno en eso, y puede que le desconcierten las opciones de diseño de su nueva educación y programa de entrenamiento. Estos programas fueron diseñados evolutivamente por no educadores y son ad-hoc en un grado u otro. (Probablemente hay algunos sobresalientes, ¡tal vez incluso Dropbox! No sé nada sobre ellos).

Puede unirse a una empresa que no tiene ningún programa de capacitación, en un rol normal. (Esto es especialmente probable si ha sido proactivo con respecto a sus estudios fuera de clase y ha desarrollado un montón de software normal). Sin embargo, este será un programa de capacitación, será 100% ad-hoc.

Cualquiera de los caminos anteriores son curvas de aprendizaje muy empinadas: la mayoría de los ingenieros de software dirían que aprendieron más en su primer trabajo que en la universidad. En consecuencia, su salario aumentará sustancialmente después de su primer trabajo. Estoy familiarizado con los salarios del área de la bahía, y puedo proporcionar cifras aproximadas aquí: si te gradúas de Stanford con un título de CS, ganarás $ 93k en promedio. Su segundo trabajo probablemente pagará más como $ 120k.

Aquí es donde entra en juego Hack Reactor. Somos un programa de capacitación similar, pero diseñado por educadores (que también son ingenieros de software de lugares como Google, Twitter y Adobe). Tarda tres meses en lugar de 1-2 años, y luego, su búsqueda de trabajo es más como obtener su segundo trabajo que obtener su primer trabajo fuera de la universidad. Nuestro graduado promedio gana $ 105k, y aquellos con títulos de CS probablemente ganen sustancialmente más (no he corrido los números). Si sus intereses en la industria se alinean con nuestro tema, el ROI es muy claro.

Además, es bastante divertido, y si disfrutas hackear tus propias cosas mucho más que tus clases de CS, probablemente te encantará. ¡Es muy diferente de la universidad!

More Interesting

¿Debo hacer una maestría en informática justo después de graduarme o trabajar un par de años primero? Tengo 22 años y tengo menos de un año de experiencia laboral. Definitivamente quiero obtener un MS, pero no estoy seguro de qué es más sabio.

¿Hay alguna diferencia psicológica entre "Tengo 5 preguntas correctas" y "Tengo 5 preguntas incorrectas" en una prueba de 10 preguntas?

¿Por qué saber sobre el aprendizaje automático se correlaciona negativamente con ser un buen programador?

¿Necesita un título en informática o informática (o incluso cualquier título) para trabajar como desarrollador / ingeniero de software para el gobierno de EE. UU. O una gran empresa tecnológica?

¿Es un estudiante universitario con especialización en informática capaz de crear una aplicación funcional? ¿Cómo sé que pueden hacerlo antes de contratarlos?

¿Qué pueden hacer los codificadores con una computadora?

¿Qué programa CS debería elegir?

¿Cómo puede un estudiante de ingeniería informática de segundo o tercer año de una universidad promedio obtener una pasantía en grandes empresas de TI?

¿Cuáles son algunos desafíos que puedo plantearme si quiero convertirme en un gran desarrollador?

Soy un ingeniero químico con cero conocimientos en lenguajes informáticos. Quiero aprender la codificación al nivel para poder desarrollar mi propio sitio web. Por favor, ayúdenme con lo siguiente: ¿Cuáles son los idiomas y conceptos básicos necesarios? ¿Cuáles son algunos recursos en línea y otros recursos donde puedo aprender lo anterior?

¿Cuáles son las cualidades integrales que hacen un excelente desarrollador web o empresa de desarrollo web?

¿Qué debo hacer junto con mis asignaturas de informática durante mi segundo año?

¿Cómo se hace ingeniería inversa a un cliente?

¿Cuánto tiempo le toma a un empleado familiarizarse con una base de código en una empresa de tecnología?

¿Puedo obtener un doctorado en ciencias de la computación en los EE. UU. Después de trabajar como ingeniero de software en India durante aproximadamente 3 años?