Por que programar?

Uma habilidade que não é mais restrita a desenvolvedores de software.

Vini Salazar
pizzadedados
4 min readApr 24, 2019

--

Quem está programando alguma coisa deve ter o objetivo final em mente. Lembro de ler essa regra em um artigo direcionado a biólogos quando eu estava aprendendo a programar e foi algo que grudou em mim. Refletindo agora, acho que isso também se aplica a análise de dados. Essas duas atividades são pragmáticas por natureza, quando uma pessoa tem objetivos e perseverança, sua capacidade de aprendizado aumenta exponencialmente.

Lembro bem do problema que me deparei, como graduando em biologia, de ter um conjunto de dados (arquivos .fastq, para os curiosos) e um objetivo: extrair informação dali. A pessoa no comando do grupo de pesquisa já havia trabalhado com dados assim, porém não realizou a etapa de análise. Foi uma colega de um país estrangeiro — muito tempo atrás, numa galáxia muito, muito distante — que ficou encarregada disso, e nós, pobres alunos de iniciação científica, tivemos uma única instrução: use o programa X para analisar seus dados. Acontece que o programa X era uma ferramenta de linha de comando, que só podia ser executada pelo terminal. Por acaso, eu tinha um sistema operacional com um terminal e poderia rodar o programa. Antes desse momento, no qual eu tinha um objetivo, a minha relação com computadores era o usual “navegador-pacote Office-mídias (games/músicas/fotos)”.

A minha luta para instalar e rodar o programa X a partir de linhas de comando deu início a uma relação mais profunda com informática e programação. Lembro de ficar até tarde da noite lendo a documentação, escrevendo posts em fóruns da internet buscando ajuda, e buscando minicursos de Python e Bash para ver se eu aprendia como usar o bendito terminal.

A partir daí, comecei a me interessar cada vez mais pelo assunto e, por sorte, na época estava acontecendo o SciPy Latin America (na UFSC, onde eu estudava). Lembro de fazer as oficinas para aprender a mexer no terminal, de assistir palestras sobre Python científico e entender pouca coisa. Lembro do sentimento de estar descobrindo um mundo novo e estar maravilhado pelas possibilidades que estavam se abrindo.

Foi no SciPy que conheci meu orientador do TCC. o professor Arnaldo Russo, que é um biólogo/oceanógrafo e estava dando uma palestra sobre o uso de um pacote Python. Quando conversamos, me dei conta de que a sobreposição entre o que eu estudava e programação era mais comum e mais simples do que eu imaginava.

Aprendi muito com o professor Arnaldo e somos amigos até hoje. Lembro dele me contar que aprendeu a programar por que “tinha preguiça de ficar clicando em botões”. O típico programador preguiçoso, leia-se, pragmático. Ele nunca escreveu um código para mim, ou me deu algo pronto, por mais feio que ficasse o meu código. Deixava eu errar e aprender com os erros, o que considero uma virtude para qualquer mentor.

Com o tempo, fui percebendo que aprender um pouquinho de informática e programação era algo muito útil para estudantes de biologia (e, na verdade, para qualquer cientista que queira fazer pesquisa).

Fonte

Fiquei abismado quando me dei conta que conhecimentos tão básicos de informática eram completamente omitidos da grade curricular de tantos cursos de ciência, especialmente as ciências sociais e da vida. Nos cursos de engenharia e ciências exatas, como física e matemática, o aprendizado de programação já é algo mais difundido, porém ainda existe uma certa carência no ensino de boas práticas científicas.

Eu bato na tecla das boas práticas científicas por que, embora eu trabalhe como biólogo e como programador, me identifico como cientista e acredito que essa é uma profissão naturalmente interdisciplinar. Acredito também que a maioria dos cientistas tem o computador como a principal ferramenta de trabalho, onde ele ou ela geralmente passa a maior parte do seu tempo, seja lendo, escrevendo ou analisando dados de sua pesquisa. No entanto, em muitos campos da ciência, durante o período de formação, nutre-se um medo e uma intimidação de “código” e da “tela preta” do terminal.

Iniciativas como a The Carpentries (que é uma non-profit internacional muito bacana que promove workshops de ensino de informática e programação) buscam acabar com esse medo e desmistificar esses conhecimentos para os pesquisadores. A importância disso é singular, pois qualquer pesquisador(a) que abrace a ideia de aprender mais sobre as tecnologias que usa, se tornará mais empoderado(a), independente e eficiente. E, na verdade, isso não conta somente para pesquisadores.

Quando colegas do curso de biologia discordavam de mim quando eu dizia que deveríamos ter uma cadeira (mesmo que super breve) de Introdução à Ciência da Computação, assim como temos cadeiras de Física, Química e Matemática, por que eles queriam ser professores e não cientistas ou pesquisadores, eu perguntava “E quando seu aluno te perguntar como um computador funciona? Ou a internet?”.

A verdade é que a época em que conhecimentos de informática e programação estão restritos a desenvolvedores de software, físicos e engenheiros, acabou. Aprender mais sobre computadores e como funcionam é aprender mais sobre o mundo ao nosso redor e sobre a revolução digital que vivemos.

Vini Salazar é bioinformata e mestrando em engenharia de sistemas. Você pode segui-lo no Twitter ou no GitHub. Ele é nosso primeiro convidado aqui na revista do Pizza e se você também quiser escrever aqui, pode mandar e-mail para gente.

--

--

Vini Salazar
pizzadedados

Bioinformatician. Open-source developer. Aspiring marine microbiologist. PhD student at the University of Melbourne.