- Global Voices em Português - https://pt.globalvoices.org -

Como organizar uma “hackathon”?

Categorias: América Latina, Europa Ocidental, Espanha, Mídia Cidadã, Tecnologia, Technology for Transparency Network

[Todos os links levam a páginas em castelhano, excepto quando indicado o contrário]

Para o presente artigo, convidamos J.J. Merelo [1], Doutor em Física e Professor na Universidade de Granada, Espanha, a contar-nos a sua experiência na organização de hackathons educativas, na preparação para a Hackathon regional Desenvolvendo a América Latina 2012 [2] [pt] que vai tomar lugar em Dezembro.

A priori a palavra hackathon não deveria levantar grandes dúvidas: maratona + programação. 52 quilómetros de programação até que alguém colapse de exaustão. Juntamente com mais algumas pessoas, dizes: vá lá! Vamos programar! Restam dúvidas? Não? Então siga.

Na realidade, não é assim tão simples e apercebemo-nos disso quando organizámos a primeira hackathon de projectos em software livre [3] na UGR [4] (Universidade de Granada).

Foto do álbum Hackathon no Picasa, usada sob uma licença Creative Commons (BY-SA 3.0). [5]

Foto do álbum Hackathon no Picasa, usada sob uma licença Creative Commons (BY-SA 3.0).

Essa hackathon tomou lugar para dar apoio a projectos que participavam num Concurso de Software Livre [6], que estava a ser celebrado pela segunda vez em Granada. A ideia principal era chamar a atenção sobre os projectos, atrair a comunidade e, obviamente, dar um pequeno empurrão para que os participantes da UGR desenvolvessem os seus projectos e conseguissem solucionar quaisquer problemas que estivessem a enfrentar. Para ser sincero, não sei que ideia tínhamos. Mas havia a esperança que aparecesse a pessoa da UGR mais experiente em Java [7] [pt], Python [8] [pt], MVC [9] [pt] e, claro está, em metodologias de programação.

Naturalmente, tínhamos tudo isso [10]. E mais, apareceu também o caloiro com vontade de aprender e o tipo das telecomunicações que só sabia o que era Java e pensava que Python era o nome de um revólver. Vieram também tradutores. Quando fazes uma hackathon na universidade, pessoas de toda a universidade aparecem. A universidade é um grande espaço e alberga diversidade.

Pôr as pessoas a programarem desde o primeiro minuto é muito difícil. As ferramentas a usar têm de ser ensinadas, principalmente aquelas que são usadas para desenvolvimento colaborativo e redes sociais. Sim, redes sociais. Quer acreditem quer não, há mais utilizadores de Whatsapp do que do Twitter. E também metodologias de desenvolvimento. Não se trata de “tu faz isto e eu faço aquilo”, mas sim do que é para ser feito, como fazê-lo e com quem. A quem vais apresentar o resultado? Como é que vais testar o desenvolvimento e verificar se está correcto? É tudo isso. E assim começa a hackathon: conseguir pôr toda a gente ao mesmo nível dentro do possível. Só com isso, as primeiras horas já passaram.

A verdade é que as primeiras horas já tinham sido preenchidas bem antes disso: nos preparativos para a hackathon. Todos os participantes de projectos devem organizar tarefas que queiram ver tratadas durante a hackathon. Tarefas para todos os níveis, desde o nível de Jennifer da série IT Crowd [11] (Os Informáticos) [pt], que mal sabia fazer clique ou duplo clique com o rato, até ao nível do “não te preocupes. Já está pronto um novo interpretador [12] [pt] da linguagem que criei numa tarde”. E, claro, há que preparar as apresentações específicas dos projectos que vão ser abordados. Que bibliotecas [13] estou a usar e porquê? Existem critérios definidos para o código? Será que estou a usar uma linguagem estranha que ninguém conhece e vou ter de ensiná-la às pessoas? E é com isto que se ocupam as horas seguintes.

Foto do álbum Hackathon no Picasa, usada sob uma licença Creative Commons (BY-SA 3.0). [5]

Foto do álbum Hackathon no Picasa, usada sob uma licença Creative Commons (BY-SA 3.0).

Felizmente, a programação em si é o que vem a seguir, e para isso é preciso tempo e espaço. Tempo suficiente para que a tarefa seja iniciada e terminada, e um espaço no qual a mesma possa ser desenvolvida. Não deve ser descurada a boa iluminação do espaço (já aconteceu a luz ir abaixo na casa onde estávamos a trabalhar) e, acima de tudo, há que ter o número da entrega de pizzas ao domicílio, para que o estafeta possa chegar rápida e eficientemente. Até pode ser num bar, mas precisa de tomadas, e ninguém pode fazer má cara a quem mandar uma cerveja abaixo a cada hora. Ou se mandares três abaixo em meia hora. Às vezes para programar é necessária lubrificação extra por hidrocarbonetos.

No final, há três factores chave para uma hackathon bem sucedida: muita divulgação (e reforço que é preciso mesmo muita divulgação, durante um período de tempo alargado, boca-a-boca, cartazes, redes sociais, press releases), preparação adequada dos projectos participantes (tarefas suficientes e formação suficiente para aqueles que vão estar envolvidos), e projectos cativantes (se alguém quiser fazer um compilador de Brainfuck [14] [pt] provavelmente não terá tanto sucesso como alguém que queira criar uma aplicação móvel para encontrar um parceiro). Quanto ao último factor, é difícil dar garantias. Como pode ser frustrante que algum projecto não atraia nenhum participante, tu, como organizador, deves ter algo previsto para esses casos. Um “hackatonista” suplente, por exemplo.

Preparação para a hackathon de 2012 [15]por Juan Julián Merelo Guervós [16]

E o que é que resulta de uma hackathon? Código, claro. Isto não quer dizer que se trata de um evento social do qual as pessoas saem com as mãos vazias, há que pensá-lo como um gatilho para colaborações que muitas vezes resultam em amizades duradouras. Por isso quase de certeza que vamos repetir no próximo ano. Se estiveres em Espanha, juntas-te à 5ª hackathon de projectos UGR? E se estiveres na América Latina, vais fazer parte [17] da Dal2012?

Fotos [18] retiradas do álbum Hackathon [19] no Picasa, usadas sob uma licença Creative Commons – Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) [20].