Por qué deberías participar en hackatones

Por qué deberías participar en hackatones

Hace aproximadamente un año y medio comencé a participar en hackatones. Durante este tiempo, he tenido la oportunidad de participar en más de 20 eventos de diferentes tamaños y temáticas en Moscú, Helsinki, Berlín, Múnich, Ámsterdam, Zúrich y París. En todos los eventos, me he dedicado al análisis de datos de diversas formas. Disfruto llegar a nuevas ciudades, establecer contactos, generar ideas frescas, implementar viejas propuestas en poco tiempo y sentir la adrenalina durante las presentaciones y la divulgación de resultados.

Esta publicación es la primera de tres relacionadas con hackatones, en la que explicaré qué son los hackatones y por qué deberías comenzar a participar en ellos. La segunda publicación tratará sobre el lado oscuro de estos eventos: los errores cometidos por los organizadores y sus consecuencias. La tercera publicación estará dedicada a responder preguntas relacionadas con el tema de los hackatones.

¿Qué es un hackatón?

Un hackatón es un evento que se lleva a cabo durante varios días con el objetivo de resolver algún problema. Generalmente, hay varios problemas en un hackatón, cada uno presentado como una pista separada. La empresa patrocinadora proporciona una descripción del desafío, métricas de éxito (que pueden ser subjetivas, como 'novedad y creatividad', o objetivas, como la precisión de clasificación en un conjunto de datos separado) y recursos para lograr el éxito (API de la empresa, conjuntos de datos, 'hardware'). Los participantes deben formular el problema, proponer una solución y presentar un prototipo de su producto en el tiempo estipulado. Las mejores soluciones reciben premios de la empresa y la oportunidad de una colaboración futura.

Fases del hackatón

Después de que se enuncian las tareas, los participantes del hackatón se agrupan en equipos: cada “solitario” recibe un micrófono y habla sobre la tarea que ha elegido, su experiencia, su idea y qué tipo de especialistas necesita para llevarla a cabo. A veces, un equipo puede consistir en una sola persona que sea capaz de realizar todo el trabajo del proyecto de manera autónoma y a un nivel suficientemente alto. Esto es común en hackatones de análisis de datos, pero a menudo se prohíbe o es indeseable en eventos de productos: los organizadores están enfocados en la continuación del trabajo en el proyecto, pero ya en una empresa; un equipo formado tiene varias ventajas sobre los participantes que desean crear un producto en solitario. Un equipo óptimo suele estar compuesto por 4 personas e incluye: un frontend, un backend, un científico de datos y alguien del ámbito empresarial. Cabe mencionar que la división entre hackatones de ciencia de datos y de productos es bastante sencilla: si hay un conjunto de datos con métricas claras y un leaderboard o se puede ganar con código en un cuaderno de Jupyter, es un hackatón de ciencia de datos; todo lo demás, donde se necesita crear una aplicación, un sitio web o algo cautivador, es un evento de producto.

Por lo general, el inicio del trabajo en el proyecto comienza a las 9 de la noche del viernes, y la fecha límite es a las 10 de la mañana del domingo. Parte de este tiempo debe dedicarse al sueño (no dormir y programar es un camino seguro hacia el fracaso, lo he comprobado), lo que significa que los participantes no tienen mucho tiempo para hacer algo de calidad. Para ayudar a los participantes, en el lugar hay representantes de la empresa y mentores.

El trabajo en el proyecto comienza con una charla con los representantes de la empresa, ya que ellos comprenden mejor la especificidad de la tarea, las métricas y, probablemente, serán quienes evalúen sus trabajos al final. El objetivo de esta comunicación es entender qué áreas son más relevantes y en qué deberías centrar tu atención y tiempo.

En un hackatón se planteó la tarea de regresión utilizando un conjunto de datos con información tabular y imágenes, y una métrica clara: RMSE. Después de conversar con el científico de datos de la empresa, entendí que lo que realmente necesitaban no era regresión, sino clasificación, pero alguien en la gerencia decidió que era mejor abordar el problema de esta manera. Y la clasificación no la necesitaban para obtener un incremento en métricas monetarias, sino para comprender qué parámetros son más importantes en la toma de decisiones y luego procesarlos manualmente. Es decir, la tarea inicial (regresión con RMSE) se transforma en clasificación; la prioridad de evaluación cambia de la precisión obtenida a la capacidad de explicar el resultado. Esto, a su vez, descarta la posibilidad de utilizar apilamiento y algoritmos de caja negra. Este diálogo me ahorró mucho tiempo y aumentó mis posibilidades de éxito.

Una vez que entendiste lo que necesitas hacer, comienza el trabajo real en el proyecto. Debes establecer puntos de control: el tiempo en el cual debes completar las tareas asignadas; mientras tanto, es beneficioso continuar la comunicación con los mentores —representantes de la empresa y especialistas técnicos— esto es útil para ajustar la dirección de tu proyecto. Una nueva perspectiva sobre el problema puede sugerir una solución interesante.

Dado que en los hackatones participan muchos principiantes, es buena práctica por parte de los organizadores llevar a cabo charlas y talleres. Generalmente hay tres charlas: sobre cómo presentar tu idea como un producto, una charla técnica (por ejemplo, sobre el uso de API abiertas en el aprendizaje automático, para que no tengas que escribir tu propio sistema de speech2text en dos días, sino usar uno ya existente), y una charla sobre pitching (cómo presentar tu producto, cómo gesticular correctamente en el escenario para que la audiencia no se aburra). También hay diversas actividades para animar a los participantes: sesiones de yoga, futbolín y tenis de mesa, o juegos en consola.

En la mañana del domingo, deberá presentar los resultados de su trabajo al jurado. En buenos hackathones, todo comienza con la experiencia técnica: ¿realmente lo que afirma funciona? El objetivo de esta revisión es filtrar a los equipos con presentaciones atractivas y palabras de moda, pero sin producto, de aquellos que realmente han hecho algo. Desafortunadamente, no todos los hackathones cuentan con evaluación técnica, y hay casos en los que un equipo con 12 diapositivas y una mentalidad de “... blockchain, computación cuántica, y aquí la IA lo hará todo...” gana el primer lugar. Tales precedentes no son tan comunes, pero dado que se recuerdan mejor, muchos piensan que una buena presentación representa el 99% del éxito en un hackathon. La presentación, por cierto, es realmente importante, pero su contribución no supera el 30%.

Después de la presentación de los participantes, el jurado toma una decisión sobre la premiación de los ganadores. Con esto, la parte oficial del hackathon ha terminado.

Motivación para participar en hackathones

Experiencia

Desde el punto de vista de la experiencia adquirida, un hackathon es un evento único. En la naturaleza no hay muchos lugares donde se puede realizar una idea desde cero en 2 días y obtener retroalimentación instantánea sobre el trabajo realizado. Durante el hackathon, se desarrolla el pensamiento crítico, la capacidad de trabajar en equipo, la gestión del tiempo, la habilidad para trabajar bajo presión, la capacidad de presentar los resultados de su trabajo de manera comprensible, la habilidad para hacer presentaciones y muchas más. Por eso, los hackathones son un excelente lugar para personas con conocimientos teóricos que desean obtener experiencia real.

Premios

Normalmente, el fondo de premios de un hackathon oscila entre 1.5k y 10k euros para el primer lugar (en Rusia, entre 100-300 mil rublos). El valor esperado (expected value, EV) de la participación se puede calcular con la siguiente fórmula sencilla:

EV = Prize * WinRate + Future_Value - Costs

donde Premio — monto del premio (por simplicidad, consideraremos que hay un solo premio);
WinRate — probabilidad de ganar (para un equipo novel, este valor estará limitado superiormente al 10%; para uno más experimentado, al 50% o más; he conocido personas que salieron con un premio de cada hackathon, pero eso es más bien la excepción que la regla, y a largo plazo su tasa de victoria será inferior al 100%);
Future_Value Una medida que indica las ganancias futuras de participar en un hackatón: esto puede ser ganancias de la experiencia adquirida, las conexiones establecidas, la información obtenida, etc. Es prácticamente imposible determinar esta medida con precisión, pero es importante tenerla en cuenta.
Costes Los gastos de transporte, alojamiento, entre otros.

La decisión de participar se toma comparando el EV del hackatón con el EV de la actividad que habrías querido realizar si no hubiera hackatón: si querías quedarte en el sofá durante el fin de semana y rascarte la nariz, entonces probablemente valga la pena participar en el hackatón; si quieres pasar tiempo con tus padres o con tu novia, entonces llévalos a tu equipo en el hackatón (es una broma, decidid vosotros mismos); si prefieres trabajar como freelance, compara el dólar por hora.

Según mis cálculos, puedo decir que en Rusia, para un científico de datos de nivel junior a medio, participar en hackatones es comparable a las ganancias económicas de un día laboral regular, pero hay matices (tamaño del equipo, tipo de hackatón, fondo de premios, etc.). En general, los hackatones en este momento no son una mina de oro, pero pueden proporcionar un agradable complemento a tu presupuesto personal.

Contratación en la empresa y networking

Para la empresa, el hackatón es una de las formas de contratar nuevos empleados. Te será mucho más fácil demostrar que eres una persona competente y que puedes trabajar en un hackatón, que en una entrevista, haciendo girar un árbol binario en una pizarra (lo cual, por cierto, no siempre refleja lo que harás en el trabajo real como científico de datos, pero hay que respetar las tradiciones). Esta comprobación en condiciones 'reales' puede sustituir un día de prueba.

Conseguí mi primer trabajo gracias a un hackatón. En el hackatón, demostré que se puede extraer más dinero de los datos y expliqué cómo iba a hacerlo. Comencé el proyecto en el hackatón, lo gané y luego continué el proyecto ya en la empresa patrocinadora. Ese fue el cuarto hackatón en mi vida.

Oportunidad de obtener un conjunto de datos único

Este es un punto muy relevante para los hackatones de ciencia de datos, cuya importancia no todos comprenden. Normalmente, las empresas patrocinadoras proporcionan conjuntos de datos reales durante el evento. Estos datos son privados y están bajo un NDA, lo que no impide mostrar un proof of concept basado en un conjunto de datos real en lugar de un modelo simplificado. En adelante, tales resultados serán de gran ayuda para obtener empleo en dicha empresa o en una competidora, o al justificar proyectos similares. Coincidirán en que, en igualdad de condiciones, tener proyectos realizados que hayan sido valorados positivamente es mejor que no tener ninguno. En general, estos proyectos realizados juegan un papel similar a las medallas y estatus en Kaggle, pero para la industria su valor es más evidente.

Consejos

En general, trabajar en un hackatón es una experiencia bastante variada y es difícil formular una lista específica de reglas. Sin embargo, aquí me gustaría presentar una lista de observaciones que pueden ayudar a un principiante:

  1. No tengan miedo de asistir a hackatones incluso si no tienen experiencia o un equipo. Piensen en cómo podrían ser útiles. ¿Tienen una idea interesante o se conocen bien en alguna área? Pueden utilizar su conocimiento del dominio al formular el problema y encontrar soluciones no triviales. O tal vez son los mejores buscando información en Google. Su habilidad les permitirá ahorrar mucho tiempo si logran encontrar implementaciones existentes en GitHub. O si son muy buenos afinando los parámetros de LightGBM. En ese caso, en lugar de ir a un hackatón, demuestren su talento en competencias de Kaggle.
  2. La táctica es más importante que los movimientos. Su objetivo en el hackatón es resolver un problema. A veces, para resolver un problema, es necesario identificarlo primero. Verifiquen que el problema que han identificado sea realmente relevante para la empresa. Asegúrense de que su solución se ajuste al problema, pregúntense sobre la óptima ejecución de su solución. Al evaluar su solución, primero se considerará la relevancia del problema y la adecuación de la solución propuesta. La arquitectura de su red neuronal o cuántas méritos han conseguido tiene poco interés para la mayoría.
  3. Asistan a tantos hackatones como sea posible, pero no duden en irse de eventos mal organizados.
  4. Agregue los resultados de su trabajo en el hackathon a su currículum y no tema hablar de ello en público.

Por qué deberías participar en hackatones
La esencia de los hackatones. Breve descripción

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster