Guia do Aprendiz

O(a) aprendiz é o(a) participante que irá desenvolver o projeto em que foi selecionado(a), tendo a oportunidade de aprender novas tecnologias e de ter a experiência de trabalho em um projeto real. Durante todo o desenvolvimento, o(a) aprendiz terá contato direto com membros da organização, especialmente com o(a) mentor(a) de seu projeto.

Requisitos

  • Estar regularmente matriculado(a) no curso de Ciência da Computação da UFCG;
  • Dedicar 15 horas semanais ao longo do evento (120 horas ao todo);
  • Ser aprovado(a) pelo processo de seleção do projeto.

Seleção

A seleção será feita separadamente para cada projeto. Nas inscrições de aprendiz, os candidatos devem demonstrar interesse em até dois projetos homologados, indicando a ordem de preferência. Dessa forma, se alguém for aprovado(a) nos dois projetos em que se inscreveu, será alocado(a) para o que teve maior preferência.

Após as inscrições, as organizações e seus mentores irão selecionar os aprendizes conforme seus perfis, priorizando aqueles que demonstrem mais interesse, e divulgarão os selecionados conforme nosso cronograma. Cada aprendiz terá uma semana para conhecer melhor o projeto em que participará e os mentores antes de iniciar o desenvolvimento.

Qual projeto escolher?

Escolher para qual projeto submeter pode ser difícil, mas temos algumas dicas para te ajudar a iniciar essa busca:

  • Leia com atenção as propostas de cada projeto, atentando quais atividades serão realizadas;
  • Dê preferência a projetos que possuem tecnologias e/ou áreas nas quais você se interessa;
  • Conheça mais sobre as organizações e veja quais você mais se identifica, tanto nos tipos de projetos que desenvolve como na missão e valores;
  • Faça perguntas aos mentores sobre as especificações de cada projeto para sanar quaisquer dúvidas;
  • Pense no impacto que deseja fazer! Nada anima mais do que saber que fará algo que será importante para a comunidade.

Dicas para a seleção

Seguem algumas dicas que podem te ajudar a ser selecionado(a) no projeto em que você se interessa:

  • Inicie discussões no canais de comunicação da organização e do projeto, preferencialmente nos canais do Discord. Pode ser uma ótima maneira de demonstrar interesse e engajamento para os mentores;
  • Comece a ler sobre as tecnologias do projeto em que se interessou;
  • Caso já exista um repositório e seja executável, tente rodá-lo;
  • Caso já exista um repositório, verifique se possui issues abertas e inicie discussões nas mesmas. Quem sabe já dê para abrir pull request com alguma contribuição;
  • Faça sugestões de melhorias nas propostas de projeto caso tenha ideias que podem melhorar o plano original.

Processo de desenvolvimento

Trabalhar em um projeto open source real pode envolver muito além de desenvolvimento de código e tecnologias. Você precisará aprender sobre Git, organização de tarefas, comunicação com comunidade e o mais importante: a pedir ajuda para conseguir fazer tudo isso! A seguir, damos algumas sugestões para adotar no seu processo de desenvolvimento, que você deve adaptar dependendo de suas necessidades.

Peça ajuda

Aprender a pedir ajuda pode parecer simples, mas é o ponto em que os iniciantes mais pecam quando começam a trabalhar em um projeto. Não se deixe levar pela vergonha. Já está há muito tempo travado(a) em algo? Tem dúvidas e não achou uma resposta? Pergunte! Contate seu mentor ou sua mentora e a comunidade através do canal do seu projeto no Discord explicando suas dúvidas. Nunca passe muitas horas em um problema — peça ajuda antes que a tarefa se torne frustante.

Antes de tudo: aprenda sobre as tecnologias

Caso esteja em um projeto no qual não conheça as tecnologias utilizadas, não pule direto para o desenvolvimento! Separe as primeiras semanas para ler tutoriais, criar exemplos, assistir a vídeos e tudo mais que possa te ajudar a aprender o básico para começar. Para isso, peça a seu mentor ou mentora indicações de material e acima de tudo, seja paciente. Quanto mais você se dedicar nessa parte, mais fácil será a etapa de desenvolvimento.

Divisão de tarefas e o uso de issues, pull requests e branches

Não tem mais dúvidas e está pronto(a) para começar a trabalhar em algo? Ótimo! Separe alguns minutos para planejar sua atividade; se possível, divida-a em tarefas menores em que possa fazer pequenas entregas. Ferramentas no GitHub/GitLab podem ajudar nessa organização:

  • Use o sistema de issues para registrar o progresso das atividades envolvidas, categorizá-las e também adicionar comentários;
  • Use pull requests para fazer as pequenas entregas, sugerindo que seu mentor ou mentora as revise;
  • Use branches para versionar seu código, separando as mudanças de código.

Caso tenha dúvidas sobre Git, GitHub ou GitLab, cheque esse dois materiais de pull requests e de issues.

Ainda, busque evitar acumular grandes mudanças de código, pois isso dificulta a revisão para o seu mentor ou mentora e também pode resultar em retrabalhos para você.

Faça sugestões

Sentiu dificuldades para começar a trabalhar no repositório do seu projeto? Reporte! É importante para a organização que você ajude os projetos a crescerem, e isso inclui fazer sugestões que facilitem a experiência de contribuição. Você pode sugerir a adição de guias, como para a configuração dos projetos e para compreensão dos componentes do projeto. Tudo que você sentir falta é algo que potencialmente será dúvida de futuros contribuidores, então sinta-se encorajado a fazer sugestões.

Divirta-se!

Divirta-se ao aprender novas tecnologias e ao compartilhar do conhecimento da comunidade! Para isso, faça sua parte para garantir um ambiente de respeito e não se sobrecarregue ao ponto de se frustar. Lembre-se que o Andromedev é uma oportunidade de aprendizado e que cada um tem seu tempo!

Se perceber qualquer problema maior, não hesite em reportar aos organizadores do evento.