Nos últimos meses algumas pessoas me procuraram para falar basicamente sobre ciências sociais — às vezes ciências humanas em geral — e tecnologia. Como sou sociólogo por formação, perguntam como foi a transição, se eu já sabia programar, como aprender ciência de dados, se vale a pena e etc. Então juntei o que foi comum nesses papos e compartilho aqui nesse post.

A primeira coisa que vale a pena falar é um self-jabá, um post que escrevi há um tempo já, mas que me ajudou muito a me entender: Autonomia: meus últimos 10 anos. Esse texto conta a minha história, a forma como eu misturo tecnologia com a minha formação em ciências sociais e em design. Gosto de começar com isso pois obviamente o que segue nesse texto daqui pra frente tem um viés forte dessa história toda.

Palestra no Data Science Business Weekend (2017)
Palestra no Data Science Business Weekend (2017)

Sim! Misture ciências sociais e tecnologia

Antes de mais nada preciso confessar que acho sensacional essa mistura: juntar tecnologia e ciências humanas. Tem muita gente misturando as duas coisas no mundo. Muita. E tem saído muita coisa legal disso tudo. Então se por algum acaso você acha que é uma ideia maluca, você só está certo se ideia maluca for um elogio. Recomendo fortemente passar o olho no que o Oxford Internet Institute, o Data & Society e o Berkman Center estão fazendo — e talvez olhar o que eles estão fazendo te inspire.

Estive no Oxford Internet Institute ano passado, fazendo o Summer Doctoral Programme deles e a estada lá confirmou todas as boas expectativas que eu tinha quanto a eles e quanto a esse ramo de pesquisa. Especialmente a linha de pesquisa dos professores que publicaram o Political Turbulence: a forma como eles questionam liderança em política na época dos meios digitais, de big data, de mídias sociais é sensacional — me cativou. Ainda se você procura uma pós, esse ano eles inauguram cursos de mestrado e doutorado em Social Data Science.

Saber programar ou não saber programar

Eu, de fato, tinha noções de programação desde… desde criancinha. Mas fui aprender muito sobre linguagens “modernas”, metodologias ágeis, boas práticas etc. bem recentemente. No meio do meu doutorado em Sociologia, por lazer a princípio. E me empolguei. Gosto de Python pois ele resolve muitas coisas: análise e visualização de dados, automatização de coleta e raspagem de dados, desenvolvimento de APIs e aplicativos web, ferramentas para ajudar no dia-a-dia… isso me empolga muito no Python. E, além de tudo isso, é uma linguagem super fácil de aprender.

Mas apesar disso você não precisa aprender a programar. Você precisa entender da dinâmica e das limitações da tecnologia, mas não precisa necessariamente aprender a programar. O ponto que tem sido muito valorizado, no entanto, é que saber programar te abre pelo menos duas portas interessantes: você tem mais autonomia para coletar e mesclar dados, e mais propriedade para questionar os dados, as plataformas digitais etc. Até onde eu sei, nem Gabriella Coleman nem Luciano Floridi, por exemplo, são programadores, nem de passatempo. E mesmo assim tem trabalhos interessantíssimos, valisosíssimos. Ela na área de cultura hacker e ele na de ética na era da informação:

Começando a programar

Diversos acadêmicos nas ciência sociais tem conhecimento sobre programação e tem feito centenas de pesquisas boas também, mesmo que não usem código diretamente nos trabalhos: é o caso, por exemplo, da danah boyd com um sensacional trabalho sobre adolescentes e privacidade em redes sociais, ou do James Allen-Robertson, um dos meus orientadores, e a pesquisa sobre a indústria cultural digital e a cultura hacker.

Claro que existe ainda outra possibilidade: usar a programação como parte da metodologia de pesquisa nas ciências sociais, como é o caso do Taha Yasseri, um dos autores do Political Turbulence que mencionei antes, ou do meu colega daquele curso que fiz em Oxford, Felix Victor Münch… então pode ser que você realmente queira aprender a programar.

Quando (re)comecei, ou seja, quando fui aprender coisas mais modernas depois de um período de uns 7 anos sem programar, aprendi muito de Python com essas fontes aqui, talvez seja um bom começo.

Comemorando meu primeiro Pull Request aceito em um pacote de código aberto (2014)
Comemorando meu primeiro Pull Request aceito em um pacote de código aberto (2014)

Ainda quando eu estive em Oxford eu e o Felix começamos (mas não terminamos…) uma espécie de de guia para quem quer começar a trabalhar com ciência de dados e não sabe programar. Na nossa cabeça achamos que existem trocentas referências na internet se você procurar por Python, data science, big data etc., mas a gente quis traçar o que para gente seria o melhor caminho dentre todas essas opções — sim, totalmente subjetivo, concordo! Talvez, mesmo incompleto, esse guia possa mostrar alguns caminhos: How to learn to code.

Mas existem muitas opções. A Codecademy tem uma estrutura muito legal para pegar o básico de várias linguagem. Existem cursos mais estruturados no Coursera sobre qualquer linguagem ou tema, tem o DataCamp que sempre tem promoção boa na Black Friday e foca em ciência de dados seja com R seja co Python. E ainda me falaram bem da Udacity também. Opções não faltam.

Passando a régua com o mais importante

Muitas vezes quem começa a aprender a programar esbarra em situações como fiz tal coisa, funcionou, mas não tô entendendo quase nada de como isso aconteceu. Eu acredito que o importante nessa hora é decidir o quanto tu quer saber de programação. Existem parcerias, e a cultura de código aberto facilita muito isso. Existem hacker spaces, existem pessoas interessadas nas mesmas questões que você e que sabem programar. Tu pode aprender tudo de programação e fazer tudo sozinha, ou tu pode não aprender nada de programação mas tocar a ideia em frente com algum parceiro — e existe ainda um mar de possibilidades entre esses dois extremos. E arrisco que é aí que pode estar a escolha mais legal. Resumindo o ponto é: até onde você quer se afundar em aprender tecnologia? Não existe certo ou errado, melhor ou pior. É uma decisão tua — e só tua.

Outra preocupação é uma espécia de cobrança para se formar em tecnologia, programação, desenvolvimento, ciência de dados ou qualquer coisa que seja. Eu, particularmente, não gosto dessa ideia de se formar: ela depende da escolha do parágrafo anterior (e aquela escolha é que é o mais importante). Sem falar que fazer outra faculdade, por exemplo, pode ser um desperdício de tempo, de recursos, de dinheiro em muitos casos.

Então, se tu tem essa pressão de se dedicar a uma formação mais estruturada, existem opções menos intensas e que te consomem menos dinheiro, tempo e recursos: cito como exemplo o Data Science Retreat de em Berlim ou o Learn Data Science da General Assembly (várias cidades, nenhuma no Brasil). São cursos robustos, intensivos que vão te dar contatos bons, colegas na área, e portas de entrada no mercado de trabalho. Vão custar caro em termos de dinheiro, mas serão bons para uma formação mais sólida. Se essa parte de formação te preocupa, pode ser uma alternativa a uma nova graduação tradicional.

E por fim a dica mais importante de todas: crie um pet project — criar algo teu para ir botando a curiosidade e os novos aprendizados em prática. Escolha um tema que você gosta, para analisar, para buscar dados, brincar, mostrar para os amigos. Quando eu comecei, escolhi whisky!

Whiskython: meu playground para aprender Python
Whiskython: meu playground para aprender Python

Bons estudos ; )