handbook
Handbook do USPCodeLab
Este handbook irá lhe guiar através das atividades da organização do grupo de extensão USPCodeLab.
Quem somos?
O USPCodeLab é um grupo de extensão universitária que tem como objetivo estimular a inovação tecnológica na USP.
O grupo foi fundado por estudantes do Bacharelado em Ciência da Computação do IME-USP em 2015 com o nome IME Workshop, mas atualmente conta com integrantes de vários cursos da USP. Atualmente, possuímos duas frentes de atuação: uma para os estudantes de tecnologia (Ciência da Computação, Engenharia da Computação, Sistemas da Informação, etc.) e outra para o público geral interessado.
Como nos organizamos (to be refactored)
Atualmente nos organizamos em cinco times:
No nosso Discord, cada time possui um grupo e cargos correspondentes. Conforme necessário, os times criam canais de texto para lidar com tarefas específicas do seu grupo (e.g., canais diferentes para hackathons diferentes).
O #shitposting é nosso canal for fun. O canal #meta serve para a comunicação com todos os membros do Discord, a chamada @Produção.
Para se juntar a qualquer time, você pode mandar o pedido no canal #meta do Discord. Recomendamos ler as atas das reuniões mais recentes do respectivo time para se atualizar sobre o andamento das tarefas.
Administrativo
Esse time tem três funções, obter patrocínios (#financeiro), resolver burocracias (#burocracias) da USP e garantir a transparência das atividades do grupo (#transparência).
Na parte de patrocínios não só queremos ganhar contatos em empresas, de preferência com o cargo mais alto possível, como também queremos filiar essas empresas ao UCL para termos patrocínios recorrentes. Tudo isso pode ser feito enviando emails bem redigidos e pegando contatos junto com o NEU (Núcleo de Empreendedorismo da USP).
A burocracia resume-se em mandar email para o professor Goldman do IME (gold@ime.usp.br) pedindo por reservas de sala e material. Dependendo da complexidade da reserva, é preciso fazer um ofício, atualmente, este caso só se aplica à reserva do CCSL para hackathons.
Relações Públicas
Esse time cuida da presença do USPCodeLab em diversas mídias sociais.
Atualmente temos páginas/perfis no #facebook, #linkedin, #medium, #twitter e #reddit.
Além disso, existe o nosso grupo do #telegram, onde estão todos os interessados no UCL. Usamos esse canal como meio de comunicação bi-direcional com a nossa comunidade.
Tomando como exemplo o Facebook, temos como responsabilidade responder as mensagens recebidas pela página e realizar posts temáticos. As mensagens devem ser respondidas o mais rápido possível após serem vizualizadas.
Logo, só visualize a mensagem quando tiver tempo de responder e, de preferência, só uma pessoa cuide de cada conversa para evitar confusões com o usuário que enviou a mensagem.
Os posts temáticos são divididos em quatro dias da semana: segunda, quarta e sexta. Os posts não são conteúdo original, mas sim compartilhados de acordo com o tema do dia:
| Hashtag | Descrição |
|---|---|
#MemeMonday |
Tirinha ou algum meme engraçado sobre o tema de tecnologia |
#TutorialWednesday |
Tutorial de alguma ferramenta do mundo web / mobile |
#EventFriday |
Atividades como hackathons, palestras e eventos |
As postagens da nossa página do Facebook são automaticamente transformadas em tweets para o nosso Twitter.
Nosso Reddit é usado principalmente como um repositório de links interessantes e úteis.
No Medium postamos conteúdo original e no LinkedIn divulgamos nosso conteúdo (os membros podem adicionar o USPCodeLab como emprego, o que ajuda na carreira :D).
Eventos
O time de eventos cuida da organização de Hackathons, Summer/Winter Code Schools, SIGEX e outros eventos espontâneos. Isto inclui elaboração do tema, articular a forma de divulgação com o time Relações Públicas, patrocínios e burocracias com Administrativo e falar com eventuais parceiros na organização.
SIGEX (Semanas dos Grupos de Extensão): evento que ocorre nas duas primeiras semanas de aula com os objetivos de apresentar o grupo aos bixes e recrutá-los para nossos grupos de estudos.
Outro evento anual do grupo é o #hackfools, nosso hackday(uma espécie de mini-hackaton) que ocorre no primeiro semestre do ano, no primeiro de abril. A proposta é ser um evento descontraído com temáticas inusitadas.
dev.journey()
É o grupo que cuida da organização do ciclo dev.journey().
O dev.journey() é dividido em 6 fases:#dev-learn, #dev-boost, #dev-hack, #dev-hire, #dev-research e #dev-camp.
O dev.start() é um ciclo de palestras voltado a pessoas com nenhuma experiência prévia de desenvolvimento web. Atualmente nossas palestras compreendem HTML, CSS e Javascript. Os slides das palestras estão disponíveis em http://slides.com/uspcodelab.
O dev.learn() é o grupo de estudos introdutório com duração prevista de 1 semestre onde os membros trabalham em projetos definidos por nós da organização. Esses projetos têm como fim treiná-los para frequentar o grupo avançado, passando a desenvolver projetos próprios.
O dev.boost() é o nosso grupo de estudos avançado, onde trabalhamos em #projetos escolhidos por nós mesmos e em #jobs, que são projetos remunerados que realizamos para outras pessoas/instituições.
Por fim, o dev.hire() é nossa iniciativa de captação de currículos de alunos, em particular os participantes do dev.journey() para facilitar o contado profissional com empresas parceiras. Nessa etapa vamos auxiliar os alunos na criação dos seus currículos e na preparação para entrevistas de emprego.
O canal #material cuida de nossos slides, tutoriais e atividades para o #dev-learn. Atualmente, o material está passando por uma reformulação, principalmente nosso material sobre JavaScript, pois nosso objetivo é mantê-los atualizados e torná-los acessíveis a todo tipo de público, incluindo alunos de cursos não relacionados a computação.
Junto à nossa parceria com a Pró-Reitoria de Pesquisa da USP temos um grande desafio: a alfabetização técnologica, que consiste em ensinar programação para alunos da USP com diferentes backgrounds, focando nas necessidades daquela área em específico. Por exemplo, ensinar alunos de marketing na ECA a desenvolver chatbots. Ainda não temos um nome bom para esta atividade.
Junto com a alfabetização, ganhamos a oportunidade de fazer um curso MOOC (massively open online course), ainda não está decidido o tema nem estrutura do curso, isto é algo a ser discutido e que terá um trabalho considerável para ser realizado.
Sites
É o time que cuida da criação e manutenção dos nossos sites. O USPCodeLab possui seu próprio site e eventualmente criamos sites para eventos, como hackatons.
dev.journey()
A dev.journey() - ou jornada do desenvolvedor - é uma série de 6 iniciativas criadas e coordenadas pelo USPCodeLab para cumprir sua missão. As iniciativas são: #dev-learn, #dev-boost, #dev-hack, #dev-hire, #dev-research e #dev-camp.
dev.learn()
O dev.learn() é uma série de aulas sobre desenvolvimento web básico. As aulas ocorrem uma vez por semana, durante o semestre inteiro. As aulas incluem temas como HTML, CSS, JavaScript, NodeJS, entre outros.
O dev.learn() tem o objetivo de ser um curso introdutório, e é voltado para aqueles que possuem nenhuma ou pouca experiência com programação. Além disso, o curso é aberto à todos - não é necessário ser do BCC, do IME-USP, nem mesmo aluno da USP.
dev.boost()
O dev.boost() é o nosso grupo de estudos avançado, onde trabalhamos em #projetos escolhidos por nós mesmos e em #jobs, que são projetos remunerados que realizamos para outras pessoas/instituições. Os encontros ocorrem uma vez por semana, durante o semestre inteiro.
O dev.boost() é um passo além do dev.learn(), no qual saímos do básico e focamos mais no uso de frameworks, como Vue.js, metodologias ágeis e trabalho em equipes.
Dentre os projetos que desenvolvemos, estão inclusos projetos para a própria universidade, como o Pandora, Íris, Solus, entre outros.
Devido à uma má experiência com um job, decidimos limitar o número de #jobs. Atualmente, focamos mais em projetos para a universidade.
dev.hack()
O dev.hack() é a nossa divisão de eventos. Durante o ano, organizamos diversos hackathons e hackdays. De forma simplificada, hackathons são maratonas de programação, nas quais os participantes são dividos em times e trabalham por 24 desenvolvendo uma ideia relacionada ao tema do evento. Ao final do evento, eles apresentam seus resultados à uma banca de jurados, que decidem quem são os vencedores. Já os hackdays são versões mais curtas de um hacakthons, com duração de 8h~10h.
Dentre os eventos que realizamos durante o ano, estão inclusos:
- **HackFools **- um hackday para os ingressantes do curso de Ciência da Computação;
- Hackday apenas para mulheres - HackMobilidade 2018 e SheHacks 2019;
- Hackathon para a comunidade USP;
- entre outros.
Quando falamos que organizamos hackathons, incluímos: reserva de espaço, organização do espaço pré e pós-evento, inscrição e seleção de participantes, alimentação durante todo o evento, arrecadação de patrocínios, divulgação física e digital, jurados, premiação, organizadores durante toda a duração do evento... Tudo.
Por último, somos contra hackathons pagos. Logo, todos os nossos eventos são grátis para os participantes.
dev.camp()
todo
dev.hire()
O dev.hire() é nossa iniciativa de captação de currículos de alunos, em particular os participantes do dev.journey() para facilitar o contado profissional com empresas parceiras. Nessa etapa vamos auxiliar os alunos na criação dos seus currículos e na preparação para entrevistas de emprego.
todo
dev.research()
todo
[DEPRECATED] dev.start()
O dev.start() era um ciclo de palestras voltado a pessoas com nenhuma experiência prévia de desenvolvimento web. As palestras compreendiam os seguintes assuntos: HTML, CSS e Javascript. Os slides das palestras podem ser encontrados em http://slides.com/uspcodelab.
O que você precisa fazer agora
Agora você pode entrar em nosso grupo do Telegram e nosso servidor do Discord, leia as atas das reuniões mais recentes dos times que lhe interessam e se increva nelas através do documento Divisão das Equipes no Drive.
O que é a #Produção?
Quando nos referimos à Produção, estamos falando dos membros da organização do grupo. Em outras palavras, são as pessoas que participam ativamente de discussões e decisões sobre os rumos do grupo.
Como entrar na #Produção?
Para entrar na Produção, é necessário apenas demonstrar interesse.
Não há processo seletivo, taxa de entrada, não verificamos documentos, nem precisa passar no cartório.
A única burocracia envolvida na entrada de um novo membro é a apresentação do novo membro em uma de nossas reuniões semanais, o ucl.check(). É adicionado um novo tópico Bem vindx, {$nome_do_membro} à pauta e são dadas as boas-vindas durante a reunião.
Como sair da #Produção (Aposentadoria)?
Durante a gradução, é comum se envolver em projetos pessoais, ICs, intercâmbios, estágios, etc. No entanto, essas atividades tomam tempo, de forma que o membro não tenha tempo para as atividades do grupo. Assim como a entrada na Produção, para sair é necessário apenas demonstrar interesse em se desligar do grupo.
Após o membro demonstrar interesse em sair da Produção, pedimos para que este passe pelo processo de Aposentadoria.
O processo de Aposentadoria consiste no desligamento do membro de todas as suas responsabilidades dentro do grupo, seja a participação em algum projeto, contato com alguma empresa, entre outros. Isso ocorre para que o grupo possa direcionar outros membros para assumir as responsabilidades daquele que está saindo.
OBS: Não temos vínculo com INSS e não pagamos benefício de aposentadoria.
Expulsão de um membro
todo
ucl.check()
O ucl.check() é a nossa reunião semanal da #Produção. Nessa reunião, ocorrem as discussões e decisões relacionadas às novidades da semana.
Geralmente, essas reuniões são presenciais. Neste semestre (2019.1), as reuniões ocorrerão na sala B7, às 10h das quartas-feiras. Há a possibilidade de participar da reunião remotamente, através do canal Reuniões do Discord.
A pauta da reunião é sempre disponibilizada no canal #meta de nosso Discord, enquanto as atas são colocadas em nosso Drive.
Discord
todo
CLI - CodeLab Initiative
todo
CLEAR - CodeLab Education And Research
todo
CLASS - CodeLab Association
todo
Outros acrônimos
CLAP - CodeLab Access Point
Nome dado ao roteador do USPCodeLab, presente do professor Alfredo Goldman.
CLAP nos dá acesso à rede USPCodeLab dentro do IME-USP.
CLUB - CodeLab University Base
Nome dado ao espaço exclusivo do USPCodeLab dentro da USP.
Atualmente, não possuímos espaço fixo. Concentramos nossas atividades na sala B7, bloco B do IME-USP e no auditório CCSL, bloco C do IME-USP.
USPCodeLab ICMC - UCL Sanca
todo
USPCodeLab EACH - USPCodeLeste
todo
Como criar um novo CodeLab?
todo
Links úteis
- http://uclab.xyz/site
- http://uclab.xyz/slides
- http://uclab.xyz/telegram
- http://uclab.xyz/facebook
- http://uclab.xyz/twitter
- http://uclab.xyz/reddit
- http://uclab.xyz/linkedin
- http://uclab.xyz/medium
- http://uclab.xyz/bitbucket
- http://uclab.xyz/gitlab
- http://uclab.xyz/github
- http://uclab.xyz/drive
- http://uclab.xyz/discord