
Cerca de um ano e meio atrás, comecei a participar de hackathons. Durante esse período, participei de mais de 20 eventos de diferentes escalas e temas em Moscovo, Helsínquia, Berlim, Munique, Amesterdão, Zurique e Paris. Em todos os eventos, trabalhei com análise de dados de alguma forma. Gosto de visitar cidades novas, estabelecer novos contatos, ter ideias inovadoras, concretizar antigas aspirações em um curto espaço de tempo e sentir a adrenalina durante as apresentações e a divulgação dos resultados.
Esta postagem é a primeira de três sobre hackathons, na qual explicarei o que são hackathons e por que você deve começar a participar deles. A segunda postagem abordará o lado obscuro desses eventos — os erros cometidos pelos organizadores durante a realização e suas consequências. A terceira postagem será dedicada a responder perguntas sobre o tema dos hackathons.
O que é um hackathon?
Um hackathon é um evento realizado ao longo de vários dias, com o objetivo de resolver um problema específico. Geralmente, há vários problemas em um hackathon, cada um apresentado como uma trilha separada. A empresa patrocinadora fornece uma descrição da tarefa, métricas de sucesso (as métricas podem ser subjetivas, como 'novidade e criatividade', ou objetivas, como a precisão da classificação em um conjunto de dados reservado) e recursos para alcançar o sucesso (API da empresa, conjuntos de dados, 'hardware'). Os participantes devem, no tempo definido, formular o problema, propor uma solução e apresentar um protótipo de seu produto. As melhores soluções recebem prêmios da empresa e a oportunidade de colaborar no futuro.
Etapas do hackathon
Após a apresentação das tarefas, os participantes do hackathon se reúnem em equipes: cada "solitário" recebe um microfone e fala sobre a tarefa escolhida, sua experiência, ideia e quais especialistas ele precisa para sua realização. Às vezes, a equipe pode ser composta por uma única pessoa que pode realizar todo o trabalho do projeto de forma suficientemente alta. Isso é relevante para hackathons de análise de dados, mas muitas vezes é proibido ou indesejado para eventos de produtos — os organizadores visam continuar trabalhando no projeto, mas já na empresa; a equipe formada tem várias vantagens em relação aos participantes que desejam criar o produto sozinhos. Uma equipe ideal geralmente consiste em 4 pessoas e inclui: front-end, back-end, cientista de dados e um profissional de negócios. Vale ressaltar que a divisão entre hackathons de ciência de dados e de produtos é bastante simples — se há um conjunto de dados com uma métrica clara e um ranking ou se é possível vencer com código em um jupyter notebook — é um hackathon de ciência de dados; o restante — onde é necessário criar um aplicativo, site ou algo cativante — é um evento de produtos.
Geralmente, o início do trabalho no projeto começa às 9 da noite de sexta-feira, e o prazo final é às 10 da manhã de domingo. Parte desse tempo deve ser reservada para dormir (não dormir e codificar é o caminho certo para o fracasso, eu já testei), e isso significa que os participantes não têm muito tempo para fazer algo de qualidade. Para ajudar os participantes, representantes da empresa e mentores estão presentes no local.
O trabalho no projeto começa com a comunicação com os representantes da empresa, pois eles entendem melhor a especificidade da tarefa, as métricas e, provavelmente, irão avaliar seu trabalho no final. O objetivo dessa comunicação é entender quais direções são mais relevantes e em quais aspectos vale a pena concentrar sua atenção e tempo.
Em um hackathon, a tarefa de regressão foi definida usando um conjunto de dados com informações tabulares e imagens, com uma métrica clara — RMSE. Depois de conversar com um data scientist da empresa, percebi que eles precisavam de classificação, e não de regressão, mas alguém na gestão decidiu que o problema deveria ser resolvido dessa forma. A classificação era necessária não para obter melhorias nas métricas financeiras, mas para entender quais parâmetros são mais importantes ao tomar decisões e, em seguida, processá-los manualmente. Ou seja, a tarefa inicial (regressão com RMSE) foi substituída por classificação; a prioridade da avaliação passou de obter precisão para a capacidade de explicar o resultado. Isso, por sua vez, descarta a possibilidade de utilização de empilhamento e algoritmos black box. Esse diálogo me economizou muito tempo e aumentou minhas chances de vitória.
Depois de entender o que é necessário, inicia-se o trabalho direto no projeto. Você deve estabelecer pontos de verificação — tempos limites para completar as tarefas definidas; ao mesmo tempo, é bom manter a comunicação com mentores — representantes da empresa e especialistas técnicos — isso é útil para ajustar o percurso do seu projeto. Um novo olhar sobre o problema pode sugerir uma solução interessante.
Como muitos novatos participam de hackathons, é considerado uma boa prática por parte dos organizadores realizar palestras e workshops. Normalmente, há três palestras — uma sobre como apresentar sua ideia como um produto, uma sobre temas técnicos (por exemplo, sobre o uso de APIs abertas em aprendizado de máquina, para que você não precise escrever seu próprio sistema de speech2text em dois dias, mas possa usar um pronto), e uma sobre pitching (como apresentar seu produto, como gesticular de maneira interessante no palco para que a audiência não fique entediada). Existem diversas atividades para animar os participantes — sessões de yoga, futebol de mesa e tênis ou jogos em consoles.
Na manhã de domingo, você precisa apresentar os resultados do seu trabalho para o júri. Em bons hackathons, tudo começa com a expertise técnica — o que você afirmou realmente funciona? O objetivo dessa verificação é filtrar equipes com apresentações bonitinhas e buzzwords, mas sem produto, daquelas que realmente fizeram algo. Infelizmente, a expertise técnica não está presente em todos os hackathons, e existem casos em que uma equipe com 12 slides e a mentalidade de '... blockchain, computação quântica, e aqui a IA vai finalizar...' ganha o primeiro lugar. Esses precedentes não são tão comuns, mas como ficam mais na memória, muitos pensam que uma boa apresentação é 99% da vitória em um hackathon. A apresentação, por sinal, é realmente importante, mas sua contribuição não passa de 30%.
Após a apresentação dos participantes, o júri toma uma decisão sobre a premiação dos vencedores. Com isso, a parte oficial do hackathon é encerrada.
Motivação para participar de hackathons
Experiência
Do ponto de vista da experiência adquirida, o hackathon é um evento único. Na natureza, existem poucos lugares onde você pode realizar uma ideia do nada em 2 dias e receber um feedback imediato sobre seu trabalho. Durante o hackathon, desenvolve-se o pensamento crítico, a habilidade de trabalhar em equipe, a gestão do tempo, a habilidade de trabalhar sob estresse, a capacidade de apresentar os resultados do seu trabalho de forma clara, habilidades de apresentação e muitas outras. Por isso, os hackathons são um ótimo lugar para pessoas com conhecimentos teóricos que desejam ganhar experiência prática.
Prêmios
Normalmente, o fundo de prêmios de um hackathon varia entre 1.5k e 10k euros para o primeiro lugar (na Rússia, de 100 a 300 mil rublos). O valor esperado (expected value, EV) da participação pode ser calculado pela fórmula simples:
EV = Prize * WinRate + Future_Value - Costs onde Prêmio — valor do prêmio (para simplificar, vamos considerar que é um único prêmio);
WinRate — probabilidade de vitória (para uma equipe iniciante, esse valor será limitado a 10% no máximo, para uma equipe mais experiente — 50% ou mais; conheci pessoas que saíam de cada hackathon com um prêmio, mas isso é mais a exceção do que a regra e, ao longo do tempo, sua taxa de vitórias será inferior a 100%);
Future_Value — um valor que mostra o futuro lucro da participação em um hackathon: isso pode ser o lucro da experiência adquirida, das conexões feitas, das informações obtidas, etc. Este valor é praticamente impossível de ser determinado com precisão, mas deve ser considerado;
Custos — despesas com transporte, hospedagem, entre outros.
A decisão de participar é tomada com base na comparação entre o EV do hackathon e o EV da atividade que você gostaria de realizar se o hackathon não existisse: se você quisesse relaxar no sofá durante o fim de semana e se coçar, talvez valha a pena participar do hackathon; se você preferir passar tempo com seus pais ou sua namorada — leve-os para a equipe no hackathon (brincadeira, decida você mesmo), se quiser trabalhar como freelancer — compare dólar-hora.
Com base nos meus cálculos, posso dizer que na Rússia, para um cientista de dados de nível júnior a médio, participar de hackathons é comparável ao lucro em dinheiro de um dia de trabalho comum, mas há nuances (tamanho da equipe, tipo de hackathon, prêmio, etc.). Como um todo, os hackathons atualmente não são uma mina de ouro, mas podem proporcionar um agradável aumento no orçamento pessoal.
Contratação na empresa e networking
Para a empresa, um hackathon é uma das maneiras de contratar novos funcionários. Será muito mais fácil mostrar que você é uma pessoa competente e sabe trabalhar em um hackathon do que em uma entrevista, desenhando uma árvore binária em um quadro (o que, aliás, nem sempre corresponde ao que você fará no verdadeiro trabalho de cientista de dados, mas é preciso respeitar as tradições). Essa verificação em condições "de combate" pode substituir um dia de teste.
Meu primeiro emprego eu consegui graças a um hackathon. No hackathon, mostrei que podia extrair mais dinheiro dos dados e expliquei como iria fazer isso. Comecei um projeto no hackathon, ganhei, e depois continuei o projeto já na empresa patrocinadora. Esse foi o quarto hackathon da minha vida.
A oportunidade de obter um conjunto de dados exclusivo
Este é um ponto muito relevante para hackathons de ciência de dados, cuja importância nem todos compreendem. Normalmente, empresas patrocinadoras fornecem conjuntos de dados reais durante o evento. Esses dados são privados, estão sob NDA, mas isso não impede que você veja uma prova de conceito baseada em um conjunto de dados real, e não em um titânico de brinquedo. No futuro, esses resultados ajudarão bastante na sua contratação pela empresa ou por um concorrente, ou ao justificar projetos semelhantes. Concorde que, em iguais condições, ter projetos realizados que foram bem avaliados é melhor do que não ter nenhum. No geral, esses projetos realizados desempenham um papel semelhante a medalhas e status no Kaggle, mas para a indústria, seu valor é mais evidente.
Dicas
De modo geral, trabalhar em um hackathon é uma experiência bastante diversificada e é difícil formular uma lista específica de regras. No entanto, aqui gostaria de apresentar uma lista de observações que podem ajudar os novatos:
- Não tenha medo de participar de hackathons mesmo que você não tenha experiência ou equipe. Pense em como você pode ser útil. Por exemplo, você pode ter uma ideia interessante ou entender bem alguma área? Você pode usar seu conhecimento de domínio ao formular o problema e encontrar soluções não triviais. Ou talvez você seja o melhor na habilidade de fazer pesquisas? Essa sua habilidade pode economizar muito tempo, se você conseguir encontrar implementações prontas no GitHub. Ou você entende muito bem como ajustar parâmetros do LightGBM? Nesse caso, não participe de hackathons, prove isso em competições no Kaggle.
- A tática é mais importante que os manobras. Sua tarefa em um hackathon é resolver o problema. Às vezes, para resolver um problema, é preciso identificá-lo. Verifique se o problema que você identificou é realmente relevante para a empresa. Verifique se sua solução está alinhada com o problema, pergunte-se sobre a optimalidade da sua solução. Ao avaliar sua solução, a atenção inicial será voltada para a relevância do problema e a adequação da solução proposta. A arquitetura da sua rede neural ou quantas Rodadas de Leilão você conseguiu é de pouco interesse para a maioria.
- Participe de quantos mais hackathons puder, mas não hesite em sair de eventos mal organizados.
- Adicione os resultados do seu trabalho em hackathons ao seu currículo e não tenha medo de falar sobre isso publicamente.

A essência dos hackathons. Em resumo
Fonte: habr.com
