DevSecOps

15 abr, 2014

Opinião: por que é importante participar de hackatons?

Publicidade
Na Revista iMasters #09 – edição de fevereiro de 2014 – perguntamos a algumas pessoas sobre a importância dos hackatons para o desenvolvimento profissional do programador, também sobre a questão da propriedade dos códigos. Você vê as perguntas abaixo – e pode deixar também sua opinião, nos comentários.
A Revista iMasters traz uma pesquisa de opinião diferente em cada edição. Se você quer propôr um assunto para discussão, ou participar do conteúdo da Revista, fale com a gente no e-mail redacao@imasters.com.br

Você considera importante para o aprendizado de desenvolvedores a participação destes em maratonas de programação (também chamadas de “hackatons”)? Como você avalia a questão da propriedade dos códigos escritos durante esses eventos?”

Jomar Silva* – Eu considero a experiência de um hackathon como algo indispensável para os desenvolvedores. O ambiente de colaboração, motivação e profusão de ideias é simplesmente sensacional, e já vi muita coisa pra lá de interessante e inovadora sendo desenvolvida nesses eventos, inclusive por gente sem grandes conhecimentos em tecnologia e programação, o que prova mais uma vez que não só de código fonte vive um projeto de software. Um hackathon é ainda, para mim, a forma mais inteligente e eficiente hoje de se disseminar uma nova tecnologia, seja ela uma ferramenta, uma linguagem de programação ou uma API.

Sobre a propriedade do código, depende muito do público e do foco do evento. Eu sempre estimulo a utilização de licenças open source, como forma de “deixar algo” para quem não estava dentro da sala, ou para permitir que os projetos continuem a ser desenvolvidos mesmo depois que o evento acabou, além de atrair desenvolvedores que não puderam participar do evento, mas que se interessam pelo assunto posteriormente. Gosto dos Hackathons por promoverem a colaboração entre os desenvolvedores, e código aberto nesse cenário é fundamental.

*Engenheiro Eletrônico especializado em Padrões Abertos e Open Source. Community Manager de HTML5 na divisão de Software da Intel no Brasil.

 

Prof. Joel da Silva – Essas competições são de grande importância para desenvolvimento e aprimoramento dos desenvolvedores, tanto para aqueles que estão ingressando na área, quanto para os experts, pois, ao final do processo, mesmo não sendo premiados na competição, sempre percebe-se que há um acúmulo de conhecimento. Para aqueles que estão em fase de formação, em um curso técnico ou graduação, por exemplo, a participação nas maratonas de programação pode contribuir significativamente para a melhoria do processo de ensino/aprendizagem. Nessas oportunidades, os participantes também podem conhecer melhor suas habilidades e são motivados a aprimorar seus conhecimentos.

Com relação à propriedade dos códigos produzidos durante as competições, acredito que devem ser mantidos os direitos autorais aos desenvolvedores, porém deve-se incentivar que os mesmos sejam disponibilizados sob alguma licença que permita que outros desenvolvedores possam reusá-los. Dessa forma, incentiva-se um círculo virtuoso, disseminando a cultura de desenvolvimento colaborativo, o que pode proporcionar a criação de soluções cada vez mais completas, eficazes e eficientes.

*Coordenador do Curso de Sistemas para Internet – UFSM/CAFW

 

Haydée Svab – Os hackathons são momentos singulares no aprendizado de desenvolvedores, porque representam a possibilidade de troca de (muitas) ideias com (muitas) pessoas em pouco tempo. É uma imersão num desafio a que se quer dar uma resposta e, como se dá em muito pouco tempo, não há saída senão colaborar. Muitas vezes, trata-se de um problema originado em área do conhecimento que não é de domínio dos desenvolvedores, assim, é preciso colaborar. Dentro dessa perspectiva, o estilo mais interessante de hackathon é aquele voltado para exploração de dados (públicos) abertos e que estimule a utilização de software livre. Por quê? Porque dados públicos são do interesse da sociedade e, quanto mais gente interessada, maior a probabilidade de o projeto ter continuidade e/ou uso depois da maratona. Porque software livre possibilita aos desenvolvedores soltar o filho no mundo e correr o risco de alguém adotá-lo, corroborando também com a continuidade do projeto a posteriori. Então, a melhor forma de trabalhar junto é ter gente junto para trabalhar, e usar licenças restritivas assusta e afasta essa prática.

*Engenheira civil, feminista atuante no PoliGen, ativista do software livre pelo PoliGNU e militante pela transparência pública pela Thacker

 

Alexandre Alvaro – Programação é igual esporte, só se aprende praticando (e muito). A pessoa que participa de maratonas de programação desenvolve um raciocínio lógico diferenciado dos demais, uma vez que essas competições envolvem problemas complexos, a serem resolvidos utilizando diferentes conhecimentos da computação e em tempo determinado por cada competição. Quer se diferenciar dos demais? Participe de maratonas de programação. Sobre a questão do código fonte, se deve ser publicado sob uma licença livre ou permanecer proprietário, eu diria que depende. Em competições em que o foco está na criação de novos negócios (startups), acredito que o código deve ser proprietário e de uso exclusivo dos autores. Por outro lado, em competições que visam à solução de problemas que não têm o viés econômico, acredito que poderia ser disponibilizado livremente para consulta e uso.

*Professor de Sistema de Informação da UFSCAR

 

Cristiano Ferri Faria – Vou responder a esta questão levando-se em conta principalmente a experiência que tive recentemente como organizador da Maratona Hacker da Câmara dos Deputados, que ocorreu entre 29 de outubro e 1º de novembro de 2013, o 1º Hackathon (Maratona Hacker) da Câmara Federal.

Dos 183 inscritos, 50 hackers foram escolhidos para participar do evento. Isso resultou em projetos muito interessantes, aplicativos realmente úteis para a sociedade, como o Meu Congresso Nacional (meucongressonacional.com), que ficou em primeiro lugar. Mas, na minha opinião, o melhor resultado foi ver a interação entre desenvolvedores, servidores da Câmara e parlamentares. Pude ver desenvolvedores darem uma guinada grande na forma como eles estavam pensando seus projetos, depois de conversar com especialistas em processo legislativo. Um desses especialistas conseguiu mostrar muito claramente que não adianta apenas colocar regras do regimento interno nos aplicativos que visam a melhorar o entendimento sobre o processo legislativo. É preciso, também, agregar informação sobre o jogo político, pois, no frigir dos ovos, é isso que vai evidenciar como as coisas funcionam nessa casa legislativa.

Durante a maratona, exigimos que todos os desenvolvedores assinassem uma licença liberando os códigos para o uso público. Afinal, esse modelo de desenvolvimento de Hackathon, a meu ver, só é viável se conseguirmos criar outras formas de manter e evoluir os projetos desenvolvidos durante a maratona, já que ali é apenas o início do desenvolvimento. Agora estudamos na Câmara maneiras de fazer isso: pelos próprios técnicos de TI da Câmara, ou pelo contínuo estímulo, a realização de outras maratonas, inclusive com o incentivo de se dar continuidade a esses projetos. E, para isso funcionar, os códigos têm de ser abertos e de livre uso pela comunidade de desenvolvedores.

*Coordenador da Maratona Hacker e idealizador do portal e-Democracia da Câmara dos Deputados. Doutor em Democracia Digital pela IESP e Universidade de Harvard.

 

Manoel Lemos – Acredito que os hackatons servem para tirar o desenvolvedor da zona de conforto. Trabalhar em projetos fora de seu dia-a-dia e, especialmente, com outros desenvolvedores é uma oportunidade única para experimentar novas técnicas e aprender mais. Em geral, nesses eventos o desenvolvedor é chamado a resolver um problema de maneira diferenciada ou a implementar uma ideia nova, tudo numa janela de tempo bem definida e pequena, e isso faz com que ele tenha que exercitar sua capacidade de solucionar problemas e de propor caminhos curtos para as soluções. Muitas vezes, os eventos exigem o uso de determinadas plataformas e/ou APIs, e isso acaba forçando o desenvolvedor a absorver novos conhecimentos (para os que ainda não eram experientes naqueles temas). Tudo isso colabora para o amadurecimento do desenvolvedor e para o aprimoramento de suas habilidades.

Em geral, sou favorável ao licenciamento do código gerado nesses eventos com licenças que permitam que o conhecimento seja compartilhado. Por outro lado, devemos garantir a autoria para os desenvolvedores que codificaram as soluções. Nesse caso, juntando as duas coisas, gosto das licenças tipo a Creative Commons Share Alike, na qual o código ficaria publicado, disponível para uso em trabalhos derivados, mas sempre se referindo aos autores do mesmo. Porém, acredito que em alguns casos possa ser necessária a utilização de modelos mais restritivos.

*CDO da Abril e investidor anjo em Startups que querem mudar o mundo.

***

Artigo publicado originalmente na Revista iMasters: http://issuu.com/imasters/docs/revista_imasters_09