
Cerca de um ano e meio atrás, comecei a participar de hackathons. Durante esse período, participei de mais de 20 eventos de diversas escalas e temas em Moscou, Helsinque, Berlim, Munique, Amsterdã, Zurique e Paris. Em todos os eventos, participei da análise de dados de uma forma ou de outra. Eu gosto de vir para novas cidades por conta própria, fazer novos contatos, criar novas idéias, realizar idéias antigas em um curto período de tempo e adrenalina durante um discurso e o anúncio dos resultados.
Este post é o primeiro de três posts sobre o assunto hackathons, nele eu vou lhe dizer o que são hackathons, por que você deve começar a participar de hackathons. O segundo post será sobre o lado sombrio desses eventos - sobre como os organizadores cometeram erros durante a conduta e o que eles levaram. O terceiro post será dedicado a respostas a perguntas sobre tópicos quase hackatônicos.
O que é um hackathon?
Hackathon é um evento realizado durante vários dias, cujo objetivo é resolver um problema. Geralmente, existem vários problemas na hackathon, cada um representado como uma pista separada. A empresa patrocinadora fornece uma descrição da tarefa, métricas de sucesso (métricas podem ser subjetivas, como "novidade e criatividade", ou objetivo, precisão da classificação em um conjunto de dados atrasado) e recursos para o sucesso (APIs da empresa, conjuntos de dados, hardware). Os participantes no tempo estipulado devem formular um problema, propor uma solução e mostrar um protótipo de seu produto. As melhores soluções recebem prêmios da empresa e a possibilidade de cooperação adicional.
Etapas de Hackathon
Após o anúncio das tarefas, os participantes do hackathon se juntam às equipes: cada “solitário” recebe um microfone e fala sobre a tarefa selecionada, sua experiência, ideia e especialistas sobre que tipo de plano ele precisa implementar. Às vezes, uma equipe pode consistir em uma pessoa capaz de executar todo o trabalho de um projeto por conta própria em um nível bastante alto. Isso é relevante para hackers de análise de dados, mas geralmente é proibido ou indesejável para eventos de mercearia - os organizadores têm como objetivo trabalhar mais no projeto, mas já na empresa; a equipe formada tem várias vantagens sobre os participantes que desejavam criar o produto sozinhos. A equipe ideal geralmente consiste em 4 pessoas e inclui: front-end, back-end, data do cientista e pessoa de negócios. A propósito, a separação de dataaens / hackathons de alimentos é bastante simples - se você tiver um conjunto de dados com uma métrica e um cabeçalho claros, ou poderá ganhar com um código no bloco de notas do jupyter, essa é uma hackathon da dataens; tudo o resto - onde você deseja criar um aplicativo, site ou algo pegajoso - supermercado.
Normalmente, o início do trabalho em um projeto começa às 21h de sexta-feira e o prazo final - às 10h de domingo. Parte desse tempo deve ser adormecida (não para adormecer e codificar - esse é o caminho certo para o fracasso, verifiquei), o que significa que os participantes não têm muito tempo para fazer algo de alta qualidade. Para ajudar os participantes, representantes e mentores da empresa estão presentes no site.
O trabalho no projeto começa com a comunicação com os representantes da empresa, pois eles entendem melhor as especificidades da tarefa, as métricas e, provavelmente, irão julgar o seu trabalho no final. O objetivo desta comunicação é entender quais áreas são mais relevantes e em que vale a pena focar sua atenção e tempo.
Em um hackathon, a tarefa de regressão foi definida em um conjunto de dados com dados e imagens tabulares e uma métrica clara - RMSE. Depois de conversar com o datacenter da empresa, percebi que eles não precisavam de regressão, mas de classificação, mas apenas alguém da gerência decidiu que o problema seria melhor resolvido dessa maneira. E eles não precisam de classificação para obter um aumento nas métricas monetárias, mas para entender quais parâmetros são mais importantes ao tomar uma decisão e depois processá-los manualmente. Ou seja, a tarefa inicial (regressão com RMSE) muda para classificação; a prioridade da avaliação muda da precisão obtida para a possibilidade de explicar o resultado. Isso, por sua vez, elimina a possibilidade de usar algoritmos de empilhamento e caixa preta. Esse diálogo me salvou muito tempo e aumentou minhas chances de ganhar.
Depois de entender o que você precisa fazer, o trabalho direto no projeto começa. Você deve definir um check-pony - o horário em que você deve concluir as tarefas; ao longo do caminho, é bom continuar se comunicando com mentores - representantes da empresa e especialistas técnicos - isso é útil para ajustar a rota do seu projeto. Uma nova visão do problema pode sugerir uma solução interessante.
Como um grande número de iniciantes participa de hackathons, dos organizadores um bom tom é a realização de palestras e master classes. Geralmente, existem três palestras - sobre como apresentar sua ideia como um produto, uma palestra sobre tópicos técnicos (por exemplo, sobre o uso de APIs abertas no aprendizado de máquina, para que você não precise escrever o texto do discurso2 em dois dias, mas use um já pronto), uma palestra sobre pitching (como apresente seu produto, como agitar os braços no palco corretamente para que os ouvintes não fiquem entediados). Existem atividades diferentes para animar os participantes - uma sessão de ioga, matraquilhos e tênis ou jogar no console.
No domingo de manhã, você precisa fornecer os resultados do seu trabalho ao júri. Nas boas hackathons, tudo começa com o conhecimento técnico - o que você afirma realmente funciona? O objetivo deste teste é eliminar equipes com uma bela apresentação e palavras-chave, mas sem um produto de caras que realmente fizeram alguma coisa. Infelizmente, o conhecimento técnico não está presente em todos os hackathons e há casos em que uma equipe com 12 slides e uma mentalidade "... blockchain, computação quântica e, em seguida, a IA o completará ..." ganha o primeiro lugar. Tais precedentes não são tão frequentes, mas como são mais lembrados, muitas pessoas pensam que uma boa apresentação é uma vitória de 99% no hackathon. A apresentação, a propósito, é realmente importante, mas sua contribuição não passa de 30%.
Após o desempenho dos participantes, o júri decide premiar os vencedores. Isso completa a parte oficial do hackathon.
Motivação para participar de hackathons
Experiência
Em termos de experiência adquirida, um hackathon é um evento único. Na natureza, não há muitos lugares onde você pode realizar a idéia do nada em dois dias e obter um feedback instantâneo sobre o seu trabalho. Durante o hackathon, o pensamento crítico, o trabalho em equipe, o gerenciamento do tempo, a capacidade de trabalhar em uma situação estressante, a capacidade de apresentar os resultados de seu trabalho de maneira compreensível, a habilidade das apresentações e muitos outros são estimulados. É por isso que os hackathons são um ótimo lugar para pessoas com conhecimento teórico que desejam obter experiência real.
Prémios
Normalmente, o prêmio total do hackathon é de aproximadamente 1.5k - 10k euros para o primeiro lugar (na Rússia - 100-300 mil rublos). O benefício esperado (valor esperado, VE) da participação pode ser calculado usando uma fórmula simples:
EV = Prize * WinRate + Future_Value - Costs
onde o
prêmio é o tamanho do prêmio (por simplicidade, assumimos que existe apenas um prêmio);
WinRate - probabilidade de vitória (para uma equipe iniciante, esse valor será limitado a 10% acima, para uma equipe mais experiente - 50% e acima; conheci pessoas que deixaram cada hackathon com um prêmio, mas isso é mais provável uma exceção à regra e seu winrate será uma longa distância abaixo de 100%);
Future_Value - um valor que mostra o lucro futuro da participação no hackathon: pode ser o lucro da experiência adquirida, relacionamentos estabelecidos, informações recebidas etc. Esse valor é quase impossível de determinar exatamente, mas deve ser lembrado;
Custos - o custo do transporte, acomodação, etc.
A decisão de participar é tomada com base na comparação do hackathon de EV com a atividade de EV que você gostaria de fazer se não tivesse um hackathon: se você quiser deitar no sofá durante o fim de semana e morder o nariz, provavelmente participará do hackathon; se você passa algum tempo com os pais ou uma garota - leve-os para a equipe para um hackathon (brincando, decida por si mesmo), se você é freelancer - compare a hora do dólar.
De acordo com meus cálculos, posso dizer que na Rússia, para um datacenter júnior médio de nível médio, a participação em hackathons é comparável a ganhar dinheiro em um dia normal de trabalho, mas também há nuances (tamanho da equipe, como uma hackathon, premiação etc.). Em geral, os hackers no momento não são uma pechincha, mas podem dar um bom impulso ao seu orçamento pessoal.
Contratação e rede de empresas
Para uma empresa, um hackathon é uma maneira de contratar novos funcionários. Será muito mais fácil mostrar que você é uma pessoa adequada e sabe trabalhar em um hackathon do que em uma entrevista, girando uma árvore binária em uma placa (que, a propósito, nem sempre corresponde ao que você fará no trabalho real de um datacentista, mas as tradições devem ser respeitadas). Tal teste em condições de "combate" pode substituir um dia de teste.
Consegui meu primeiro emprego graças ao hackathon. No hackathon, mostrei que mais dinheiro pode ser extraído dos dados, informado como vou fazê-lo. Comecei o projeto no hackathon, ganhei e continuei o projeto já na empresa patrocinadora. Foi o quarto hackathon da minha vida.
A capacidade de obter um conjunto de dados exclusivo
Este é um item muito relevante para a data dos Hackathons, cuja importância nem todo mundo entende. Normalmente, as empresas patrocinadoras fornecem conjuntos de dados reais durante o evento. Esses dados são privados, estão sob a NDA, que não para de mostrar uma prova de conceito em um conjunto de dados real e não em um brinquedo titânico. No futuro, esses resultados ajudarão bastante a encontrar emprego nesta empresa ou empresa concorrente ou em substanciar projetos semelhantes. Concorde que, ceteris paribus, ter concluído projetos avaliados positivamente é melhor do que não tê-los. Em geral, esses projetos implementados desempenham um papel semelhante com medalhas e status na tosse, mas para a indústria seu valor é mais óbvio.
Dicas
Em geral, trabalhar em uma hackathon é uma experiência bastante diversificada e é difícil formular uma lista de regras. No entanto, aqui eu gostaria de dar uma lista de observações que podem ajudar o iniciante:
- Não tenha medo de ir a hackathons, mesmo que você não tenha experiência ou equipe. Pense no que você pode ser útil. Por exemplo, você pode ter uma ideia interessante ou é bom em alguma área? Você pode usar seu conhecimento de domínio para formular o problema e encontrar soluções não triviais. Ou talvez você seja o mais capaz de pesquisar no Google? Sua habilidade economizará muito tempo se você puder encontrar implementações prontas no github. Ou você é muito bom em ajustar os parâmetros lightgbm? Nesse caso, não vá ao hackathon, mas prove-o nas competições kagla.
- Táticas são mais importantes que manobras. Sua tarefa no hackathon é resolver o problema. Às vezes, para resolver um problema, ele precisa ser identificado. Verifique se o problema identificado é realmente relevante para a empresa. Verifique sua decisão quanto à conformidade com o problema, faça uma pergunta a respeito da otimização da sua solução. Ao avaliar sua solução, eles primeiro examinarão a relevância do problema e a adequação da solução proposta. A arquitetura da sua rede neural, ou quantas mãos você recebeu, é de pouco interesse para ninguém.
- Participe do maior número possível de hackathons, mas não hesite em deixar eventos mal organizados.
- Adicione os resultados do seu trabalho na hackathon ao seu currículo e não tenha medo de escrever sobre isso publicamente.
A essência dos hackathons. Brevemente