Controle de qualidade: Hackathons

Controle de qualidade: Hackathons

A parte final da trilogia hackathon. EM a primeira parte Falei sobre a motivação para participar de tais eventos. A segunda parte foi dedicado aos erros dos organizadores e seus resultados. A parte final responderá questões que não cabem nas duas primeiras partes.

Conte-nos como você começou a participar de hackathons.
Fiz mestrado na Universidade de Lappeenranta enquanto resolvia competições de análise de dados. Meu dia típico era assim: acordar às 8, alguns casais na universidade, depois concursos e cursos até meia-noite (enquanto contam as inscrições, assisto palestras ou leio artigos). Um cronograma tão rígido deu frutos e ganhei o concurso de análise de dados MERC-2017 (que até foi discutido postar no hub). A vitória me deu confiança e, quando acidentalmente me deparei com informações sobre o hackathon SkinHack 2 em Moscou, resolvi visitar meus pais e ao mesmo tempo descobrir o que é um hackathon.

O hackathon em si acabou sendo bem engraçado. Havia duas trilhas de análise de dados com métricas claras e um conjunto de dados com prêmio em dinheiro de 100 mil rublos. A terceira faixa foi sobre desenvolvimento de aplicativos com prêmio de 50 mil, e não houve participantes. A certa altura, o organizador disse que uma janela com botão sem funcionalidade poderia ganhar 50 mil, pois o prêmio não poderia ser pago. Não comecei a aprender a programar aplicativos (não competi onde posso ser facilmente “entregue”), mas para mim foi uma mensagem clara de que os campos dos hackathons não estão lotados.

Então resolvi sozinho as duas trilhas de análise de dados. Encontrei um vazamento nos dados que me permitiu obter a velocidade ideal, mas a coluna com o vazamento não estava nos dados de teste que recebi duas horas antes do final do evento (aliás, então entendi que a presença de uma coluna “alvo” no trem não conta como vazamento). Ao mesmo tempo, a tabela de classificação abriu, minha finalização sem rosto ficou em terceiro lugar entre cinco, havia uma grande diferença para o primeiro e resolvi não perder tempo e fui embora.

Depois de analisar com a mente renovada o que aconteceu, encontrei um monte de erros (um dos meus hábitos é percorrer mentalmente o que aconteceu com o bloco de notas e analisar os erros, suas causas e o que poderia ter sido alterado - um legado tão agradável de um jogo de pôquer semiprofissional). Mas uma coisa estava certa: há muito valor em hackathons e eu simplesmente tive que implementá-lo. Após esse evento, comecei a monitorar eventos e grupos, e o hackathon subsequente não demorou a chegar. Depois outro, e outro...

Por que você está fazendo hackathons e não Kaglo?
Não gosto de Kagle no momento. A partir de um determinado nível de habilidade, sem motivos específicos para participação, o kagle torna-se menos útil do que outras atividades. Já participei muito antes, aparentemente consegui “sair” de alguma forma.

Por que hackathons e não trabalhar em seu próprio projeto?
Gosto da ideia de fazer algo legal com as próprias mãos em um ritmo lento. Os caras do ODS organizaram Projetos de estimação ODS para todos que desejam passar o fim de semana trabalhando em seus projetos com pessoas que pensam como você. Acho que em breve irei me juntar a eles.

Como você encontra eventos?
Fonte principal - hackathon.com (mundo) e chat por telegrama Hackers russos (Rússia). Além disso, anúncios de eventos aparecem em publicidade nas redes sociais e no LinkedIn. Se não encontrar nada, você pode procurar aqui: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Você prepara um plano de solução antes de participar ou tudo é decidido na hora? Por exemplo, uma semana antes do hackathon, você pensa: “Vamos precisar de tal e tal especialista aqui, precisaremos procurá-lo”?
Se o hackathon for para comida, sim, estou me preparando. Algumas semanas antes, eu descubro o que vou fazer, descubro quem pode ser útil e reúno uma equipe de amigos ou participantes de hackathons anteriores.

É realmente possível hackear um hackathon sozinho? O que fazer se não houver equipe?
Hackathons de ciência de dados são reais (sou um exemplo vivo disso), não vi hackathons de supermercado, embora também pense assim. Infelizmente, às vezes os organizadores impõem um limite ao número mínimo de participantes numa equipa. Acho que isso se deve ao fato de que nem todos os “solitários” chegam à final (ou seja, simplesmente saem com as primeiras dificuldades); a participação em equipe ainda é retardada. Mesmo após o evento, espera-se que você continue trabalhando no projeto. Será mais fácil concretizar o projeto com uma equipe.

Em geral, meu conselho é participar sempre em equipe. Se você não tem equipe própria, os organizadores sempre o ajudarão a encontrar ou criar uma.

Como você lida com o cansaço durante um hackathon?
No hackathon você tem 2 dias para trabalhar, ou seja, 48 horas (30-48 horas, vamos considerar 48 para facilitar a contagem). Reservamos o tempo de sono (16-20 horas), deixando no máximo 30. Destas, 8 horas (em média) serão efetivamente gastas em trabalho produtivo. Se você organizar seu trabalho corretamente (sono, alimentação, saídas ao ar livre, exercícios, minutos de atenção plena, comunicação adequada com a equipe e troca de atividades), então as horas de trabalho profundas podem ser aumentadas para 12-14. Depois desse trabalho você se sentirá exausto, mas será um cansaço agradável. Programar sem dormir e sem pausas, interrompido por bebidas energéticas, é uma receita para o fracasso.

Você tem seus próprios pipelines prontos para hackathons? Como você os conseguiu, como eles estão organizados (eles estão em pastas com arquivos .py, cada um para sua tarefa, etc.) e como começar a criá-los você mesmo?
Não uso soluções totalmente prontas de hackathons anteriores em novos, mas tenho meu próprio zoológico de modelos e pipelines de competições anteriores. Não preciso reescrever peças padrão do zero (por exemplo, codificação de destino correta ou uma grade simples para extrair a intenção do texto), o que me economiza muito tempo.

No momento é assim: para cada competição ou hackathon existe seu próprio repositório no GitHub, que armazena notebooks, scripts e pequena documentação sobre o que está acontecendo. Além disso, há um repositório separado para todos os tipos de “truques” em caixa (como codificação de destino correta com validação cruzada). Não creio que esta seja a solução mais elegante, mas por enquanto me convém.

Eu começaria salvando todo o meu código em pastas e escrevendo uma breve documentação (por que, o quê, como fiz isso e o resultado).

É realista preparar um MVP do zero em tão pouco tempo ou todos os participantes já vêm com soluções prontas?
Só posso dizer sobre projetos relacionados à ciência de dados: sim, é possível. MVP para mim é uma combinação de dois fatores:

  • Uma ideia viável apresentada como um produto (ou seja, pintada em uma tela comercial). Deve haver sempre uma compreensão clara do porquê e para quem estamos fabricando um produto. Às vezes projetos com design bem fundamentado, mas sem protótipo, ganham prêmios, e isso não é surpresa. Infelizmente, muitos participantes não conseguem ignorar a amargura da derrota e atribuem seus fracassos à miopia dos organizadores, continuando a cortar modelos para alguém desconhecido nos próximos hackathons.
  • Algum indicador de que você pode fazer este produto (aplicativo, código, descrição de pipelines).

Acontece que uma equipe chega a um hackathon com uma solução pronta e tenta “adaptá-la” às instruções dos organizadores. Essas equipes são cortadas durante a triagem técnica ou apenas a parte que fizeram no local é “contada”. Não vi essas equipes como vencedoras, mas acho que ainda é lucrativo para elas jogarem por causa do valor futuro (contatos, conjuntos de dados, etc.).

Há algum exemplo de como trazer artesanato implementado em hackathons para produção/startup?
Sim. Tive três casos em que o trouxeram para produção. Uma vez eu mesmo, duas vezes - com as mãos de outra pessoa, com base nas minhas ideias e no código que escrevi no hackathon. Também conheço algumas equipes que continuaram a cooperar com a empresa como consultores. Não sei os resultados finais, mas provavelmente algo foi concluído. Eu mesmo não organizei startups e não sei se alguém o fez, embora tenha certeza de que há exemplos.

Depois de participar de muitos hackathons, que conselho você daria a si mesmo se pudesse voltar no tempo?

  1. As táticas são mais importantes que as manobras. Pense em cada solução como um produto acabado. Uma ideia, um laptop Júpiter, um algoritmo não valem nada se não estiver claro quem pagará por isso.
  2. Antes de projetar qualquer coisa, responda à pergunta não “o quê?”, mas “por quê?” E como?". Exemplo: ao projetar qualquer solução de ML, pense primeiro no algoritmo ideal: o que ele recebe como entrada, como suas previsões serão usadas no futuro?
  3. Faça parte de uma equipe.

O que eles costumam alimentar nos hackathons?
Normalmente a comida nos hackathons é ruim: pizza, energéticos, refrigerantes. Quase sempre a comida é organizada em forma de buffet (ou mesa de servir) para o qual há uma fila enorme. Geralmente não fornecem comida à noite, embora tenha havido um caso numa competição em Paris em que a comida foi deixada durante a noite - batatas fritas, donuts e cola. Vou imaginar o pensamento dos organizadores: “Então o que os programadores comem lá? Ah, exatamente! Batatas fritas, donuts - isso é tudo. Vamos dar a eles esse lixo.” No dia seguinte perguntei aos organizadores: “Gente, é possível fazer algo diferente para a noite? Bem, talvez um pouco de mingau? Depois disso, eles olharam para mim como se eu fosse um idiota. Famosa hospitalidade francesa.

Nos bons hackathons, a comida é pedida em caixas, há uma divisão em refeições regulares, vegetarianas e kosher. Além disso, colocam uma geladeira com iogurtes e muesli - para quem quer fazer um lanche. Chá, café, água - padrão. Lembro-me do hackathon Hack Moscow 2 - eles me alimentaram com borscht e costeletas com purê de batata na cantina do escritório 1C.

A sanidade dos hackathons depende, por assim dizer, da esfera profissional dos organizadores (por exemplo, os melhores hackathons são conduzidos por consultores)?
Os melhores hackathons vieram de organizadores que já haviam organizado hackathons ou participado deles antes. Talvez este seja o único fator do qual depende a qualidade do evento.

Como entender que você não é um novato e é hora de um hackathon?
A melhor época para ir a um hackathon é há um ano. O segundo melhor momento é agora. Então vá em frente, cometa erros, aprenda – está tudo bem. Mesmo uma rede neural – a maior invenção do homem desde a roda e o gradiente que aumentam sobre as árvores – não consegue distinguir um gato de um cão na primeira época de treino.

Quais “bandeiras vermelhas” indicam imediatamente que o evento não será muito bom e não há necessidade de perder tempo?

  • Uma descrição clara do que precisa ser feito (relevante para hackathons de produtos). Se durante o registro você receber uma tarefa clara, é melhor ficar em casa. Na minha memória, não houve um único hackathon bom com especificações técnicas. Para efeito de comparação: Ok - faça-nos algo relacionado à análise de conversas de áudio. Ruim - crie um aplicativo que seja capaz de dividir uma conversa em duas faixas de áudio separadas para cada pessoa.
  • Pequeno fundo de prêmios. Se lhe pedirem para fazer “Tinder para uma loja online com IA” e o prémio para o primeiro lugar for de 500 euros e uma equipa mínima de 5 pessoas, provavelmente não vale a pena perder tempo (sim, este é um verdadeiro hackathon que foi realizada em Munique).
  • Falta de dados (relevante para hackathons de ciência de dados). Os organizadores geralmente fornecem informações básicas sobre o evento e, às vezes, um conjunto de dados de amostra. Se eles não forneceram, pergunte, não custará nada. Se dentro de 2-3 não estiver claro quais dados serão fornecidos e se serão fornecidos, isso é um sinal de alerta.
  • Novos organizadores. Não seja preguiçoso e pesquise no Google informações sobre os organizadores do hackathon. Se estiverem realizando um evento desse tipo pela primeira vez, há uma grande probabilidade de que algo dê errado. Por outro lado, se o organizador e os membros do júri já realizaram hackathons ou participaram ativamente no passado, esta é uma bandeira verde.

Em um hackathon me disseram: “Você teve a melhor solução em pouco tempo, mas desculpe, avaliamos o trabalho em equipe e você trabalhou sozinho. Agora, se você levasse uma aluna ou uma menina para o seu time...”? Você já encontrou tal injustiça? Como você lidou com isso?
Sim, já o encontrei mais de uma vez. Sou estóico com tudo o que acontece: fiz tudo que estava ao meu alcance, se não deu certo, que assim seja.

Por que você está fazendo tudo isso?
Tudo isso é apenas por tédio.

Fonte: habr.com

Adicionar um comentário