Essa é uma era de revoluções: Computação em nuvem; popularização do acesso a Internet com conexões de dezenas (ou mesmo centenas) de megabits;
data sets históricos com petabytes (ou mesmo exabytes) de informações; milhões de dados "quentes" sendo produzidos e consumidos por sistemas de sistemas a cada piscar de olhos; computação ubíqua e infinitas possibilidades.
Todos esses avanço vêm alavancando novas tendências de mercado. Estão se popularizando tecnologias e técnicas antes dominadas por poucos, restritas principalmente aos meios acadêmico, governamental, militar e financeiro; utilizadas apenas por instituições que possuíam os recursos e
expertise necessários para operar nessa escala.
Buzzwords como
Big Data e
Fast Data estão na boca dos profissionais de TI, analistas de negócios e empreendedores. Esses tópicos andam sendo discutidos abertamente em todo tipo de conferência de mercado. Livros (inclusive romances) foram escritos sobre o obscuro mundo dos
Quants: Nerds com seus PhDs em estatística, física e matemática aplicada. Figuras curiosas que deixaram (ou foram rejeitados) pela academia e ganharam o mercado... Gênios renegados com seus modelos para troca automatizada de títulos, com seus portfólios para gestão de riscos e com suas gordas contas bancárias.
Mas afinal o que é
Data Science?
De acordo com a Wikipedia,
Data Science é o estudo da extração de conhecimento a partir de dados. Uma ciência que incorpora técnicas e teorias das mais diversas áreas de conhecimento (computação, engenharia, matemática, estatística, economia, etc).
A demanda por profissionais especializados em
Data Science cresce em ritmo acelerado. Aos poucos isso tudo está despertando o nosso interesse. Nós "programadores comuns", escritores de "
Software commodity" que mantém o mundo girando. Assuntos como aprendizado de máquina, inferência estatística e modelos de regressão deixam de ser exclusividade de dissertações e artigos acadêmicos, perdem a aura de superioridade e caem no gosto das abelhas e zangões trabalhadores. Há muito a aprender; um passo de cada vez. A hora de soprar o pó da capa daquele velho livro de
estatística básica encostado na prateleira finalmente chegou.
E se você é como eu, há muito a aprender. Já fui um aluno muito orgulhoso do meu desempenho, sempre ostentando meu parco conhecimento sobre estatística com um livro do
Bussab em mãos. Fui uma das três ovelhas da minha turma que conseguiu passar direto em estatística na primeira oferta da disciplina da
USP Leste (com uma "excelente" nota 7.2, a melhor nota da turma... Considerando a dificuldade da disciplina na época 7 valia mais do que 10). Passei a dar aulas particulares de estatística para alunos com as mais diversas origens (meus colegas, alunos de administração e economia da FGV e Mackenzie, alunos de outros cursos e departamentos da USP, etc). Eis uma época em que eu "conhecia" distribuições como a normal, binomial, hipergeométrica, Poisson, t de Student, etc; também "sabia" fazer testes de hipóteses, calcular erros e taxas de confiança de cabeça e até mesmo ousava me aventurar um pouquinho com inferência e o básico de Estatística Bayesiana.
O problema é que tudo isso está para
Data Science como um curso de lógica de programação está para desenvolvimento de software (ou ainda como o Ping Pong está para o Tênis de Mesa) . O que aprendi naquela época é importante, porém esses são apenas fundamentos. O básico do básico em um nível de abstração bem distante daquele que está sendo utilizado para resolver problemas na prática.
Na verdade
Data Science possui três grandes pilares muito bem ilustrados nesse
Diagrama de Venn do site do Drew Conway:
Em resumo, você pode ser um hacker excepcional, aprender sobre ferramentas e técnicas de ponta, conhecer muito sobre determinado assunto, porém não ter conhecimento matemático suficiente para entender o que está fazendo (muito menos interpretar resultados). Essa é a frente "perigosa" que mais comete erros do tipo tomar uma correlação por causa e efeito sem investigar
variáveis de confusão.
Na outra ponta não é muito difícil você esbarrar com acadêmicos que possuem grande conhecimento tecnológico e estatístico, porém com pouco conhecimento sobre o assunto no qual estão trabalhando. Geralmente o conhecimento desse grupo sobre o problema que estão tentando resolver é de natureza teórica (e muitas vezes extremamente desatualizado); sabe aquele grupo que faz complexos experimentos de laboratório sem nunca ter realmente vivenciado ou entendido o problema que está tentando resolver? Esse tipo de profissional pode produzir estudos bem interessantes, distorcer categorizar dados e chegar a conclusões insignificantes únicas. Podem até mesmo propor soluções "geniais" para problemas em aberto (que geralmente são inviáveis ou de aplicação muito limitada por esbarrarem em alguma constraint básica desconhecida pelo autor). Enquanto penso que esse grupo é menos perigoso do que o primeiro, a quantidade de estudos do tipo Seinfeld (sobre o nada) gerando ruído na comunidade científica também é bastante preocupante.
Finalmente a pesquisa tradicional continuará existindo e continuará sendo relevante. Porém, sem o componente hacker pesquisa não é
Data Science. Muitos autores criticam
Data Science como um termo mercadológico para descrever estatística. Enquanto essa critica não é totalmente injusta, acredito que há uma distinção válida. Conhecer a distribuição normal não me faz um estatístico; saber criar um modelo e rodar uma simulação no
MATLAB não faz do estatístico um
Data Scientist.
O aspecto hacker da coisa rapidamente me encantou. Tenho que admitir que passei muito tempo engatinhando, brincando com diversas ferramentas e possibilidades, lendo livros e tutorais puramente focados em tecnologia. Eu poderia passar horas falando de
HPC e
HTC. Poderia falar de
BI,
CEP e
DW. Poderia falar de soluções analíticas na nuvem como
BigQuery e
Redshift. Ainda vou escrever um artigo dedicado ao ecossistema
Hadoop. Enfim, há muita coisa a ser aprendida nessa frente.
Apesar disso tenho que reconhecer minha pequenez. Quanto mais explorava esse Universo mais me deparava com papers descrevendo soluções altamente sofisticadas para problemas que eu desconhecia (geralmente usando abstrações matemáticas que eu também desconheço). Foi nesse momento que resolvi desmanchar o castelo de cartas que construí e começar do zero. E não é que a vida fica mais fácil quando procuramos conhecimento de base?
Sou um grande fã da
Coursera, e acabei me deparando com a
especialização gratuita sobre Data Science. Uma verdadeira "pós-graduação" com nove cursos (e um projeto final). A espacialização aborta o básico sobre métodos estatísticos e ferramentas computacionais, passa por técnicas de tratamento e visualização de dados, inferência, modelos de regressão, aprendizado de máquina e finalmente produtos baseados em dados. Essa especialização é um verdadeiro
Data Science tour de force elaborado por três professores do
Departamento de Bioestatística da
Johns Hopkins University.
Achei muito interessante como os primeiros cursos da especialização conseguem ensinar cientistas a utilizarem ferramentas com
Git e um
IDE enquanto ensinam nerds da computação sobre métodos estatísticos e afins. Apear do material denso, os cursos não são difíceis ou massantes. A abordagem é bastante prática, focada em
R e seu enorme ecossistema (incluindo pacotes e tecnologias correlatas). Você vai aprender sim sobre métodos estatísticos, experimentando na prática com
data sets reais.
R é uma tecnologia "simples", porém o caminho para se tornar um especialista é longo e pode ser desafiador até para programadores experientes. A linguagem é extremamente expressiva, própria para tratamento estatístico e visualização de dados em memória (ainda que essa não seja toda a verdade, veja
minha resposta no Stack Overflow sobre como utilizar R com
data sets grandes demais para serem tratados inteiramente em memória), utilizando uma combinação de elementos que podem parecer estranhos para programadores de linguagens
C-Like. Para mencionar alguns pontos: A linguagem adota algumas características da programação funcional (o curso de
Programação Funcional em Scala me ajudou muito nessa frente), também conta com a expressividade da vetorização, escopo léxico e diversas tentativas de implementar orientação a objetos (que coexistem na linguagem).
100%
Open source e parte do
Projeto GNU, o ambiente R se tornou a base de um fortíssimo ecossistema para aplicações científicas. Esqueça suas experiências traumatizantes com código da plataforma
Weka, esqueça aquelas implementações de
LVQ e
SOM caseiras feitas em C, Python e Java (sim, eu também fiz isso na faculdade). Tome a pílula vermelha e venha brincar com os pacotes do
CRAN (bem como pacotes mais especializados de fontes como o
Biocondutor). Use o que há de mais moderno em termos no mercado; use implementações extremamente robustas de algoritmos clássicos; brinque com código instável recém saído do forno (da acadêmia e da indústria). Há soluções para todos os gosto.
Ainda não cheguei na parte mais avançada do curso (atualmente estou cursando o terceiro módulo -
Getting and Cleaning Data - pela terceira vez, por pura falta de tempo). Mas o que já aprendi sobre métodos e variáveis estatísticas, tratamento de dados, etc, compensou. Com certeza a especialização já me tornou um programador melhor... Mas o mais importante de toda essa experiência foi que, com os cursos, percebi toda a enormidade teórica e a base matemática sustentando as
Buzzwords de mercado. Não há o que temer nessas frentes (com paciência, bons livros e bons instrutores você consegue dominar qualquer assunto).
P.S. Pelo preço simbólico de $49 você pode obter um certificado verificado para o curso (obviamente isso também requer que você passe no curso com um
score mínimo). Enquanto o certificado atualmente não tem muito valor (seja no mercado seja na acadêmia), não é de todo ruim possuir um certificado com o logo da
Johns Hopkins. Enquanto não coloco esses certificados no meu currículo oficial, já os incluí no meu perfil do
LinkedIn (e, contrariando minhas expectativas, isso está chamando a atenção de empresas dentro e fora do país).