Nuestro bootcamp es un programa de formación inmersivo de 6 meses enfocado en Front End Development y UX Design. Nuestra metodología de aprendizaje trata de imitar el entorno de trabajo real y se centra en completar una serie de proyectos de complejidad gradualmente creciente.
Cada proyecto se acompaña con una serie de tópicos sugeridos incluyendo materiales de aprendizaje por cuenta propia (self-paced).
Los proyectos son evaluados por coaches y pares (peers) usando una rúbrica estandarizada que siempre incluye componentes generales, habilidades blandas, habilidades técnicas y ux.
El mapa de aprendizaje/proyectos se divide en 4 etapas: Admisión, Common Core, Track (Front End Dev y UX Designer) y Electivos.
=> Track de Front End Dev => Electivos
//
Admisión => Common Core
\\
=> Track de UX Designer => Electivos
La etapa de admisión empieza antes de ser aceptada a nuestro Bootcamp. Al final de cada proceso de admisión invitaremos a candidatas seleccionadas a completar un proyecto presencialmente en una de nuestras sedes.
- Duración estimada: 1 semana.
- Equipos: 1 estudiante
- Tópicos: JavaScript Basics, HTML Intro, CSS.
Una vez admitida a nuestro Bootcamp, todas comienzan con el common core. En esta etapa completarás los siguientes proyectos en orden, cada uno desbloqueando el siguiente. Al final del common core las estudiantes participan en una serie de hackathones trabajando en proyectos más chicos propuestos por empresas/empleadores externos.
Proyecto: Cipher
En este proyecto implementarás una aplicación web basada un boilerplate que permita cifrar y descifrar texto usando la técnica del cifrado césar.
El objetivo principal de aprendizaje de este proyecto es tener tu primera experiencia construyendo una aplicación web usando tus conocimientos de User Experience Design y de JavaScript. Esto incluye diseñar un producto pensando en los usuarios, construir una interfaz, escuchar eventos básicos del DOM, escribir lógica para llevar a cabo el cifado/descifrado, tests unitarios básicos para comprobar (y documentar) dicha lógica, y finalmente manipulación del DOM para mostrar (escribir) los resultados.
- Duración estimada: 2 semanas.
- Equipos: 1 estudiante
- Tópicos: Flow control, Strings, Testing, HTML, SCM, Shell, Intro a UX Design.
Proyecto: Data Lovers
En este proyecto tendrás tu primer acercamiento a transformar data en información creando tu primera interfaz basada en data.
El objetivo principal de este proyecto es que aprendas a diseñar y construir una interfaz web donde podamos visualizar y manipular data.
Esperamos que puedas pensar en el usuario, entender cuál es la mejor manera de visualizar la data según sus necesidades, y plasmar todo eso en tu diseño en la web.
Además, este proyecto se debe "resolver" en parejas, por lo que un objetivo importante es ganar experiencia en trabajos colaborativos con entrega grupal.
- Duración estimada: 3 semanas.
- Equipos: 2 estudiantes
- Tópicos: Arrays, Objects, DOM, XHR/fetch, Visual Design.
Proyecto: Social Network
En este proyecto partimos del supuesto que una empresa nos ha pedido hacer un prototipo para una red social, y nos dan a elegir un tema que nos interese para la red social entre algunas sugerencias.
El objetivo principal de aprendizaje de este proyecto es construir un sitio web responsive con más de una vista (página), y en el que podamos leer y escribir datos, además de entender las necesidades de los usuarios para los que crearás el producto.
- Duración estimada: 3 semanas.
- Equipos: 3 estudiantes
- Tópicos: Mobile first, Responsive, URL, HTTP,
Async, Múltiples vistas, Routing, Escritura de
datos,
localStorage
, Firebase.
Proyecto: Coworking Visitors
En este proyecto tendrás que implementar un sistema web de registro de visitantes para un coworking.
El objetivo principal de este proyecto es que pongas en práctica todo lo aprendido durante el common core, con foco en la calidad, trabajando en un equipo multifuncional y presentando tu solución a una audiencia.
- Duración estimada: 1 semana
- Equipos: 3 estudiantes
- Tópicos: Todo lo visto hasta este punto.
Después del common core cada grupo se separa en tracks especializados: JavaScripters y UXers. Durante esta etapa las estudiantes trabajarán en dos proyectos en paralelo.
Tópicos comunes (independientes de proyecto): Paradigmas, JavaScript Funcional.
Proyecto: Applying for a job
En este proyecto simulamos una postulación a una empresa como Front-end Developer.
El objetivo principal de este reto es que conozcas un proceso de reclutamiento para una posición de Front-End development y estés preparada para enfrentar los meses de colocación laboral. El 100% de las preguntas, retos, desafíos, etc. que se plantean en este proyecto son casos reales de empresas que han contratado y/o entrevistado a egresadas de Laboratoria.
- Duración estimada: ?
- Equipos: 1 estudiante
- Tópicos: Todo lo visto en el common core.
Proyecto: Burger Queen WebApp
En este proyecto tendrás que implementar un sistema para que lxs meserxs de un restautante (Burger Queen) puedan tomar nota de los pedidos usando una tablet.
El objetivo principal de aprendizaje de este proyecto es construir una interfaz web usando un framework (React, Vue o Angular).
Como objetivo secundario, la implementación debe además seguir las recomendaciones para PWAs (Progressive Web Apps), lo cual incluye conceptos como offline.
- Duración estimada: 3 semanas.
- Equipos: 1-2 estudiantes
- Tópicos: Frameworks, React, Vue, Angular, PWA, Offline first, Service Workers, Serverless.
Proyecto: Markdown Links
Dentro de una comunidad de código abierto, nos han propuesto crear una
herramienta usando Node.js, que lea y analice archivos
en formato Markdown
, para verificar los links que contengan y reportar
algunas estadísticas.
El objetivo práctico de este proyecto es que aprendas cómo crear tu propia librería (o biblioteca - library) en JavaScript.
Diseñar tu propia librería es una experiencia fundamental para cualquier desarrollador porque que te obliga a pensar en la interfaz (API) de tus módulos y cómo será usado por otros developers. Debes tener especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.
- Duración estimada: 3 semanas.
- Equipos: 1 estudiante
- Tópicos: Node.js, NPM, File System, Semver, Parsing, Markdown, CLI, HTTP, Módulos, Errores.
- Duración estimada: 4 semanas.
- Tópicos: (tbd)
El último mes del Bootcamp - más o menos, cada una avanza a su ritmo - se espera que construyas tu proyecto final o capstone, que puede estar basado en los tópicos/tecnologías vistas hasta el momento, o pueden cubrir algunos de los tópicos sugeridos (electivos).
Proyecto: Burger Queen HTTP/JSON API
El objetivo principal de aprendizaje es adquirir experiencia con Node.js como herramienta para desarrollar aplicaciones de servidor, junto con una serie de herramientas comunes usadas en este tipo de contexto (Express como framework, MongoDB como base datos, ...).
En este proyecto tendrás que construir un servidor web que debe servir JSON
sobre HTTP
.
En este proyecto partimos de un boilerplate que ya contiene una serie de endpoints (puntos de conexión o URLs) y nos piden completar la aplicación. Esto implica que tendremos que partir por leer la implementación existente, y familiarizarnos con el stack elegido: Node.js, Express, MongoDB, mongoose, ...
- Duración estimada: 2 semanas.
- Equipos: 1 estudiante
- Tópicos: Node.js, Express, rutas (routes), URLs, HTTP (verbs, request, response, headers, body, status codes...), JSON, MongoDB, variables de entorno, JWT (JSON Web Tokens)...
Proyecto: Tic tac toe con React Native
El objetivo principal de aprendizaje es tener una primera experiencia en desarrollo de aplicaciones nativas con React Native.
En este proyecto tendrás que construir una aplicación usando React Native y Expo, y publicarla en tu cuenta de Expo, para que se pueda instalar en cualquier dispositivo Android o iOS.
Para completar el proyecto tendrás que familiarizarte con conceptos como View
,
Text
o TouchableOpacity
, además del flujo de desarrollo propio de apps
nativas.
- Duración estimada: 2 semanas.
- Equipos: 1 estudiante
- Tópicos: React Native, Expo, componentes nativos, touch events, ...
- Duración estimada: 4 semanas.
- Tópicos: (tbd)
En uso (v2.x
):
- JavaScript
- HTML
- CSS
- Browser
- SCM: Git + GitHub
- UNIX Shell
- Paradigmas de programación
- JavaScript Funcional
- React
- Intro a UX Design
- Visual Design
Work in progress:
- Node
- Redux
Wish list:
- Algorithms
- Angular
- Data Structures
- Databases
- Editors
- ESNext
- Modules
- Serverless
- Styleguides
- The web stack
Toda contribución es gratamente bienvenida.
Pero POR FAVOR no olvides leer detalladamente la guía para contribuidores antes de enviar un PR.
Muchas gracias a toda esta gente maravillosa (leyenda de emojis):
Este proyecto sigue la especificación de all-contributors. Todo tipo de contribuciones son bienvenidas.
Todos los materiales de este repo son (c) 2017-2018 Laboratoria.
Este trabajo está publicado bajo la licencia Creative commons Attribution-ShareAlike 4.0.