★★★★★
Antecedentes
Después de decidir inscribirme en un campo de entrenamiento en línea para aprender Ruby on Rails, investigué durante semanas para encontrar lo mejor. Me suscribí al Informe del curso, leí todas las revisiones en Switchup y las resumí en las dos primeras: Firehose Project y Bloc.
Después de hablar con representantes de Firehose y Bloc, quedó bastante claro que Firehose se ajustaba mejor. Los cofundadores de Firehose, Marco y Ken, son tipos increíblemente apasionados y geniales. Son amables, profesionales y están decididos a ayudarlo a cumplir sus objetivos de codificación.
Realmente aprecié la cantidad que invirtieron para responder las preguntas de los estudiantes potenciales junto con su súper útil: La guía definitiva para elegir un campamento de programación.
- ¿Cómo responderías a una persona que toma la Biblia completamente literalmente?
- ¿Ha habido un aumento en el proselitismo por parte de los testigos de Jehová?
- Filosofía de la ciencia: ¿La física causa religión?
- Estoy pensando en unirme a una iglesia para aprender más acerca de Dios. ¿Me juzgarán mis amigos si eventualmente no me convierto al cristianismo?
- ¿Cuáles son las fiestas judías más importantes y qué significan?
El principal diferenciador entre Firehose y Bloc parecía ser la aparente disposición de Firehose para adaptar su plan de estudios a las necesidades de sus estudiantes, y su tono de comunicación amigable y humano de bajo perfil. Cuando la gente de Bloc se le acercó, parecía ser un correo electrónico de marketing copiado, mientras que Marco envió un correo electrónico escrito a mano y estaba muy interesado en mí, esa fue la diferencia.
Mi experiencia en Firehose
Comencé The Firehose Project con una orientación que cubría el esquema del plan de estudios del curso, así como las herramientas y el entorno de desarrollo que necesitaría usar. Después de una hora más o menos, tenía mi entorno de desarrollo en funcionamiento y estaba muy emocionado de saltar a la codificación.
El plan de estudios del curso se divide en tres partes:
- Algoritmos
- Tutoriales
- Proyecto final
Y, por supuesto, tiene un desarrollador de clase mundial como su mentor para guiarlo a lo largo de su viaje a través del plan de estudios.
Entre el aprendizaje de la sintaxis básica de Ruby, los conceptos de informática, el flujo de trabajo de desarrollo web y las habilidades iniciales, recomendaría honestamente dedicar al menos 25 horas a la semana al programa. Sé que la gente de Firehose dice que puedes sobrevivir con alrededor de 15, pero en mi opinión, también podrías investigar y dedicar un par de horas adicionales a la semana para aprovechar al máximo tu tiempo y dinero.
Algoritmos
Al no tener experiencia en informática y poca competencia en programación, esta fue definitivamente la parte más difícil del plan de estudios para mí. Descubrir cómo resolver problemas complejos en el código fue alucinante. La mayoría de las ideas eran relativamente abstractas y necesitaba tiempo fuera de la computadora para esbozar ideas en una pizarra antes de entender realmente el problema.
Invertir tiempo en resolver estos algoritmos definitivamente será una parte crucial de su éxito. Creo que también es un gran diferenciador entre Firehose y otros bootcamps. Aquí es donde obtendrá la capacidad de desglosar problemas complejos y abstractos en componentes modulares simples que hacen una cosa bien y resuelven el problema en la forma en que trabajan en conjunto.
Muchos bootcamps te enseñan cómo hacer aplicaciones CRUD usando Rails, pero no creo que muchos te enseñen cómo trabajar con listas vinculadas u ordenar árboles binarios. Si estás dispuesto a esforzarte, aquí es donde Firehose puede llevarte lejos. Asegúrate de establecer un precedente con tu mentor desde el principio de que estás decidido a convertirte en un ninja de Ruby que corta algoritmos a izquierda y derecha.
Tutoriales
Aquí es donde puedes ensuciarte las manos y hacer aplicaciones reales con Rails. En su mayoría es un formato de tutorial, por lo que no tiene demasiados desafíos (lo cual puede ser bueno porque obtener codificación de impulso a veces requiere leer documentación y repetir patrones de diseño), pero las aplicaciones tienden a ser súper divertidas de construir y muy gratificantes.
Las tres aplicaciones que creas son:
- Splurty (generador de cotizaciones aleatorias)
- Nomster (clon de Yelp)
- Flixtr (clon de Udemy)
Es muy importante escribir cada línea de código en los tutoriales y nunca copiar y pegar nada. También es bueno dar un paso atrás y preguntar “¿qué está haciendo esta línea de código? ¿Por qué necesito esta parte aquí? ¿Qué vendrá después?” y preguntas similares.
Saltar a los tutoriales le dará una buena idea de un flujo de trabajo de desarrollo web y la arquitectura básica de una aplicación web. Aprenderá cómo configurar una base de datos, pasar variables a través de su controlador a sus vistas y cómo definir la lógica en sus modelos.
Es sorprendente lo simple que puede ser crear aplicaciones web en Rails. Aprenderá a trabajar con gemas estándar de la industria y aprenderá sobre MVC y arquitectura RESTful. Al trabajar con su mentor, probablemente profundizará en algunos aspectos de Rails como ActiveRecord.
Proyecto final
Aquí es donde todo lo difícil comienza a culminar. Tendrá dos opciones para su proyecto final (esto probablemente estará determinado por sus objetivos profesionales más que cualquier otra cosa):
- Proyecto grupal para construir una aplicación de ajedrez
- Proyecto en solitario lanzando un MVP de su elección
A menos que sea un emprendedor empeñado en lanzar su MVP para asegurar un financiamiento inicial, le recomiendo hacer el proyecto grupal. Trabajar en equipo es, con mucho, la habilidad blanda más crucial de trabajar como desarrollador y, a menos que salgas y lo hagas, no hay forma de que aprendas.
La mayoría de los bootcamps no te hacen construir aplicaciones de ajedrez para presumir tus habilidades o permitirte lanzar un MVP de tu elección bajo la guía de personas que han lanzado MVP exitosos. Aquí es donde The Firehose Project realmente brilla.
Elegí trabajar en el proyecto grupal y construir la aplicación de ajedrez. Puede consultar la aplicación en vivo aquí: http://sprky.herokuapp.com/ o ver nuestro repositorio de github aquí: https://github.com/sprky/sprky_c…. Rompí nuestro proceso y compartí algunos fragmentos de código aquí: http://john-ellison.com/sprky-ch…
Codificar en un grupo es increíblemente divertido. Las revisiones de código lo convierten en un mejor programador, y aprender a trabajar en equipo lo convertirá en un activo invaluable para el empleo.
Si está interesado en conseguir un trabajo como desarrollador web, le recomiendo que elija The Firehose Project. Si quieres lanzar tu propio MVP, creo que también tendrás una gran experiencia de aprendizaje, simplemente no puedo responder por ello desde que tomé la pista de trabajo.
Comida para llevar
Estaba muy entusiasmado con The Firehose Project y lo recomiendo encarecidamente. No estaba buscando trabajar como desarrollador web, pero creo que podría conseguir un trabajo como desarrollador junior en una tienda Ruby o en una startup. Sé que The Firehose Project está recibiendo solicitudes de toneladas de graduados de otros campamentos de entrenamiento que están buscando ‘el próximo nivel’ de su educación. Eso debería decirte algo. El Proyecto Firehose es realmente un estándar por encima del resto y haría bien en invertir tiempo y dinero allí.
No dude en ponerse en contacto conmigo si tiene alguna pregunta: http://john-ellison.com/