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