O bootcamp da Laboratória é um programa imersivo de aprendizagem de 6 meses focado nos perfis de Front-end Developer e UX Designer. Nosso modelo de aprendizagem se baseia em emular um ambiente de trabalho que prepare nossas estudantes, desenvolvendo as habilidades técnicas e sócio-emocionais necessárias para que comecem a trabalhar.
A aprendizagem baseada em projetos é o eixo central sobre o qual se articula a experiência de aprendizagem. Ao completarem uma série de projetos, de complexidade gradualmente crescente, permite-se que as estudantes desenvolvam as habilidades necessárias. De todas estas habilidades, consideramos que a autoaprendizagem seja a mais importante; acreditamos firmemente que, não somente é uma habilidade indispensável para o mundo do trabalho que as espera, como também é uma ferramenta poderosa para que se tornem mulheres autossuficientes, seguras de seu talento e habilidades e, finalmente, agentes de mudança a longo prazo.
O mapa de aprendizagem (ou mapa de projetos se divide em 4 etapas: Pré-admissão, Common Core, Track (Front-end Development e UX Design) e Eletivos.
Pré | Common Core | Trilha | Eletivos |
=== | =========== | ===== | ========= |
| | | |
| | Frontend | |
| | social-network > md-links burger-queen | battleship |
| | / \ / \ |/ |
| cipher | /\ > -burger-queen-api-client >| |
| \ |/ \ / \ / |\ |
trivia | > data-lovers | md-links > social-network burger-queen-api | tic-tac-toe-rn |
| / |\ | |
| luhn | \ | service-design |
| | UX |/ |
| | small businesses > redesign-and-data > ux consultancy |-design-sprint |
| | |\ |
| | | visual-design |
| | | |
A etapa de admissão começa antes da candidata ser aceita no Bootcamp. Ao final de cada processo de admissão convidamos as candidatas pré-selecionadas para completarem um projeto presencialmente em uma de nossas sedes.
- Duração estimada: 3 dias.
- Equipes: 1 estudante
- Tópicos: JavaScript Basics, HTML Intro, CSS.
Com todas as estudantes admitidas, tem início o common core. Durante esta etapa serão completados os seguintes projetos:
- Primeiro, escolhendo entre Cifra de César y Validador de cartão de crédito. Ambos compartilham dos mesmos objetivos de aprendizagem.
- Uma vez completo o projeto escolhido no ponto anterior, terão que completar o projeto Data Lovers.
Ao final do common core as estudantes participam de um ou mais hackathons, trabalhando em projetos menores propostos pela Laboratória e/ou pelas empresas/colaboradores externos.
Projeto: Cifra de César
Este projeto requer a implementação de uma aplicação web baseada em um boilerplate que permita cifrar e decifrar textos usando a técnica da cifra de César.
O principal objetivo de aprendizagem deste projeto é passar pela primeira experiência de construção de uma aplicação web, utilizando os conhecimentos adquiridos a respeito de User Experience Design e JavaScript. Isto inclui desenvolver um produto pensando nos usuários, desenvolver uma interface, ouvir eventos básicos no DOM, escrever a lógica para cifrar e decifrar, testes de unidade básicos para testar (e documentar) essa lógica e manipulação de DOM para exibir os resultados.
- Duração estimada: 2 semanas.
- Equipes: 1 estudante.
- Tópicos: Flow control, Strings, Testing, HTML, SCM, Shell, Intro a UX Design.
Projeto: Cartão de crédito válido
Este projeto requer a implementação de uma aplicação web baseada em um boilerplate que permita a um usuário validar o número de um cartão de crédito e também ocultar todos os dígitos do cartão, exceto os últimos quatro.
O principal objetivo de aprendizagem deste projeto é ter uma primeira experiência no desenvolvimento de uma aplicação web, utilizando os conhecimentos adquiridos sobre User Experience Design e JavaScript. Isso inclui desenvolver um produto pensado nos usuários, desenvolver uma interface, escutar eventos básicos no DOM, escrever a lógica responsável pela validação do cartão, testes de unidade básicos para validar (e documentar) essa lógica, e manipulação de DOM para exibir os resultados na tela.
- Duração estimada: 2 semanas.
- Equipes: 1 estudante.
- Tópicos: Flow control, Strings, Testing, HTML, SCM, Shell, Intro a UX Design.
Projeto: Data Lovers
Neste projeto as alunas terão uma primeira aproximação com a processo de transformar dados em informação. O objetivo principal deste projeto é aprender, desenvolver e construir uma interface web onde se possa visualizar e manipular dados.
Espera-se que possam pensar no usuário, entender qual é a melhor maneira de visualizar os dados segundo suas necessidades e compor tudo isso em seu web design.
Este projeto deve ser desenvolvido em duplas, pois um objetivo importante é ganhar experiência em trabalhos colaborativos com toda a complexidade que isso implica.
- Duração estimada: 3 semanas.
- Equipes: 2 estudantes.
- Tópicos: Arrays, Objects, DOM, XHR/fetch, Visual Design.
Depois do common core cada grupo se divide em trilhas especializadas e paralelas: Desenvolvimento Front-End e UX Design.
Tópicos comuns (independetes de projeto): Paradigmas e JavaScript Funcional.
Projeto: Rede Social
Neste projeto partimos do pressuposto de que uma empreendedora solicitou um protótipo de rede social com um tema específico, que deverá ser escolhido pelas estudantes.
O objetivo principal de aprendizagem deste projeto é desenvolver um site responsivo com mais de uma view (página) onde seja possível ler e escrever dados, entendendo as necessidades dos usuários a quem se destina o produto.
- Duração estimada: 3 semanas.
- Equipes: 3 estudantes.
- Tópicos: Mobile first, Responsive, URL, HTTP,
Async, múltiplas telas, Routing, escrita de
dados,
localStorage
, Firebase.
Projeto: Markdown Links
Dentro de uma comunidade de código aberto, é proposta a criação de uma
ferramenta usando Node.js que leia e analise arquivos no
formato Markdown
, verifique se o arquivo contém links e faça algumas
checagens.
O objetivo prático deste projeto é aprender a criar uma biblioteca (library) em JavaScript.
Desenvolver uma bilioteca é uma experiência fundamental para qualquer desenvolvedora, porque obriga a pensar na interface (API) de seus módulos e como será usada por outras desenvolvedoras. É preciso algumas considerações especiais para as particularidades da linguagem, convenções e boas práticas.
- Duração estimada: 3 semanas.
- Equipes: 1 estudante.
- Tópicos: Node.js, NPM, File System, Server, Parsing, Markdown, CLI, HTTP, Módulos, Erros.
Projeto: Burger Queen Serverless
Este projeto requer a implementação de um sistema para que atendentes de uma lanchonete (Burger Queen) possam anotar pedidos utilizando um tablet.
O objetivo principal de aprendizagem deste projeto é desenvolver uma interface web utilizando um framework (React, Vue ou Angular).
Como objetivo secundário, a implementação deve seguir as recomendações para PWAs (Progressive Web Apps), que inclui conceitos como offline.
- Duração estimada: 3 semanas.
- Equipes: 1-2 estudantes.
- Tópicos: Frameworks, React, Vue, Angular, PWA, Offline First, Service Workers, Serverless.
Projeto: Burger Queen HTTP/JSON API
O objetivo principal de aprendizagem é adquirir experiência com NodeJS como ferramenta para desenvolvimento de aplicações de servidor, junto com uma série de ferramentas comumente usadas nesse tipo de contexto (Express como framework, MongoDB como base de dados e etc).
Neste projeto deverá ser desenvolvido um servidor web que deve servir JSON
sobre HTTP
.
Neste projeto partimos de um boilerplate que já contém uma série de endpoints (pontos de conexão ou URLs) e devemos completar a aplicação. Isto significa que teremos que começar lendo a implementação existente e nos familiarizando com o stack utilizado: Node.js, Express, MongoDB, mongoose e etc.
- Duração estimada: 2 semanas.
- Equipes: 1 estudante
- Tópicos: Node.js, Express, rotas (routes), URLs, HTTP (verbs, request, response, headers, body, status codes), JSON, MongoDB, variáveis de ambiente, JWT (JSON Web Tokens)
Projeto: Burger Queen API Client
Este projeto requer a implementação de um sistema para que atendentes de um restaurante (Burger Queen) possam anotar pedidos de clientes utilizando um tablet.
O objetivo principal de aprendizagem deste projeto é o desenvolvimento de uma interface web que utilize um framework (React, Vue ou Angular).
Como objetivo secundário, a implementação deverá seguir as recomendações para PWAs (Progressive Web Apps), que inclui conceitos como offline.
- Duração estimada: 3 semanas.
- Equipes: 1-2 estudantes.
- Tópicos: Frameworks, React, Vue, Angular, PWA, Offline First,
Service Workers, HTTP, JSON,
fetch
.
Projeto: Empreendimentos
Para este desafio inicial da trilha, as estudantes trabalham com pequenos empreendimentos, buscando oferecer uma experiência online nova e/ou melhor. Para isso, têm que entender os objetivos do negócio e também as necessidades dos usuários/clientes destes pequenos negócios. Durante este desafio, as estudantes fazem trabalho de campo como entrevistas, observação e testes, e desenvolvem soluções utilizando ferramentas de design como Figma e Marvel.
- Duração estimada: 3 semanas
- Equipes: 2 ou 3 estudantes
- Tópicos: UX research (entrevistas, benchmark), arquitetura da informação (fluxo de conteúdo, mapa do site), design visual e de interação (wireframes e protótipos) e testes com usuários.
Projeto: Redesign e análise de dados
Este é um projeto de redesign. Baseando-se nos dados dos resultados obtidos por uma aplicação de serviços financeiros, as estudantes buscam melhorar a experiência da mesma. Em alguns casos o tema pode ser substituído por um desafio dado por uma empresa, com os mesmos objetivos de aprendizagem.
- Duração estimada: 3 semanas
- Equipes: 2 ou 3 estudantes
- Tópicos: Análise de dados, UX Research, protótipos, idealização, visual design
Projeto: Consultoria em UX
Neste desafio, as estudantes trabalham em diferentes casos reais, propostos por empresas de diversas áreas e tamanhos. Desafios anteriores foram propostos por empresas como Kmimos, Guvery, Globant, Sinenvolturas, Magical Startups, Laboratória, entre outras.
- Duração estimada: 3 semanas
- Equipes: A depender dos projetos
- Tópicos: UX Research, protótipos, idealização, visual design
O último mês do Bootcamp - ou por volta do último mês, dependendo do ritmo de avanço de cada uma - espera-se que a estudante desenvolva seu projeto final ou capstone, que pode basear-se nos tópicos/tecnologias vistos até o momento, ou cobrir alguns dos tópicos sugeridos (eletivos).
Projeto: Tic Tac Toe com React Native
O objetivo principal de aprendizagem é ter uma primeira experiência em desenvolvimento de aplicações nativas com React Native.
Neste projeto a estudante terá que desenvolver uma aplicação utilizando React Native e Expo, e publicá-la em sua conta Expo para que seja possível instalá-la em qualquer dispositivo Android ou iOS.
Para completar o projeto, a estudante terá que se familiarizar com conceitos
como View
, Text
oo TouchableOpacity
, além do fluxo próprio de
desenvolvimento de apps nativos.
- Duração estimada: 2 semanas.
- Equipes: 1 estudante
- Tópicos: React Native, Expo, componentes nativos, touch events, etc.
Projeto: Batalha Naval
Batalha Naval é um jogo clássico, com múltiplas versões de tabuleiro e online (se não conhece, pode ver nesse link).
Neste projeto a estudante deverá criar uma nova versão, agregando alguma funcionalidade para tornar o jogo mais atrativo para as novas gerações. Também não é necessário criar um jogo sobre navios, é possível desenvolver com qualquer tema que prefira, mantendo apenas a mesma jogabilidade.
- Duração estimada: 2 semanas.
- Equipes: 3 estudantes
- Tópicos: react, angular, redux, firebase, mongodb stitch.
Projeto: Visual Design
Neste desafio buscamos melhorar as habilidades de desenho visual de interfaces. Para isso, as estudantes trabalham para melhorar e padronizar a experiência de uma plataforma de venda de ingressos (tradicional) para ajudá-los a competir com novos atores desse segmento, como Stubhub, Eventbrite, Joinnus, entre outros; isso inclui a criação de soluções consistentes para mobile, desktop e smartwatches. Em alguns casos, o tema pode ser substituído por um desafio proposto por uma empresa, porém com os mesmos objetivos de aprendizagem.
- Duração estimada: 3 semanas
- Equipes: A depender dos projetos
- Tópicos: Design Systems, Grid systems, atomic design, componentes, consistência, hierarquia, design responsivo.
Projeto: Service Design
Com a ajuda de consultorias especializadas, como Amable ou Touchpoint, as estudantes devem mergulhar no mundo do service design, entendendo problemas de negócio a partir de uma visão mais holística e utilizando ferramentas como Service BluePrint.
- Duração estimada: 3 semanas
- Equipes: A depender dos projetos
- Tópicos: Service design, disruptive design, insights, service prototyping, service blueprint
Em uso (v2.x
):
- JavaScript
- HTML
- CSS
- Browser
- SCM: Git + GitHub
- UNIX Shell
- Paradigmas de programação
- JavaScript Funcional
- React
- Redux
- Intro a UX Design
- Interaction Design
Toda contribuição é agradecidamente bem-vinda.
Mas POR FAVOR não esqueça de ler detalhadamente o guia para contribuições antes de enviar um PR.
Muitos agradecimentos a toda esta gente maravilhosa (legenda de emojis):
Este projeto segue a especificação de all-contributors. Todo tipo de contribuição é bem-vinda.
Todos os materiais deste repo são (c) 2017-2019 Laboratória.
Este trabalho está publicado sob a licença Creative commons Attribution-ShareAlike 4.0.