– Brasil
Artigo escrito por Henrique Branco • Desenvolvedor RPA na Cellere, com 3 anos de experiência profissional com análise e ciência de dados e automação de processos, incluindo empresas multinacionais (Bosch e ADM do Brasil).
Você que está estudando ciência de dados, lhe faço a seguinte pergunta: como você lida com a evolução das tecnologias e ferramentas conforme você estuda? Nesse post vou passar uma dica valiosa e prática que aprendi sobre estudar ciência de dados. Não quero que você foque no detalhe, na biblioteca em si. Atente-se então, de uma forma mais ampla e geral, à minha linha de raciocínio.
Aprendendo a aprender
Vamos começar por uma pequena história com vocês que tem bastante a ver com como eu consegui me adaptar à forma de aprender para entrar nesta jornada de tecnologia.
Pois bem, comprei um livro para estudar ciência de dados e foram R$100 em um conteúdo extremamente valioso, na minha opnião. E comecei a leitura, executando todos os códigos, linha a linha, passo a passo, tudo correndo bem até então.
Eis que em um determinado momento, quando começo a me envolver com bibliotecas mais avançadas no livro (TensorFlow, para aqueles que conhecem, mas volto a repetir, foque no raciocínio!) me deparo com a seguinte situação, em que uma tomada de decisão seria importante:
Situação: o livro, apesar de super atual (2019) apresenta a versão 1.3 do pacote TensorFlow. O framework, no entanto, já está na sua versão 2.3 e os códigos do livro começaram a apresentar diversos erros por conta da incompatibilidade da versão. E agora? O que fazer? Quais as possíveis decisões que tenho para tomar? Compartilho abaixo alguns pontos que refleti sobre.
Decisões a serem tomadas
- Poderia falar que o livro está desatualizado e comprar outro. Porém, seria tempo e dinheiro investidos perdidos. E o próximo livro também poderá ficar desatualizado muito rápido. Opção 1 descartada.
- Poderia simplesmente instalar a versão antiga do framework (biblioteca, pacote, ou até mesmo outras tecnologias – foque no raciocínio) e continuar executando os códigos da versão antiga do framework contidas no livro. Funcionaria. Mas, ao escolher esta segunda opção, eu estaria meio que fugindo de aprender sobre a nova versão, pois ambas são novas para mim, tanto a versão 1.3 do livro quando a versão mais atual 2.3. E eu ainda estaria estudando uma versão que poderia ficar obsoleta em um futuro próximo, ainda que de forma confortável. Opção 2 descartada
- O caminho difícil, pouco provável, que a maioria talvez não escolheria: sair da zona de conforto e seguir com o aprendizado do livro na versão 1.3 do TensorFlow e instalei a nova versão 2.3 na minha máquina, estando ciente de que seria um desafio. Assim, quando o código do livro apresentava algum erro, eu interrompia a leitura e pesquisava sobre o que estava acontecendo.
E então, se fosse você? Qual delas você tomaria?
Acrescento aqui: essa decisão (3) fez com que eu levasse quase três meses a mais para encerrar o livro. Mas qual o objetivo, afinal de contas? Somente ter mais um livro para a conta ou copiar e colar os códigos do livro, todos executando sem nenhuma falha, e apresentá-los como um troféu em redes sociais definitivamente não era minha ideia. Tentei, no entanto, absorver todo o conteúdo, e ainda, de quebra, aprender um framework novo e atualizado. Reflitam sobre esse ponto.
Dicas de estudos para a vida
Como eu me planejei para enfrentar esse desafio? A maioria deve estar: “Ah, fácil, pega o erro, copia e cola no Google ou StackOverflow e pronto! Alguém já deve ter encontrado a solução. Basta utilizá-lá, não preciso reinventar a roda”. Não foi bem assim que fiz. Não gosto de terceirizar meu conhecimento e muito menos pegar uma solução pronta que mate meu aprendizado. Eu li a documentação oficial do TensorFlow 2.3 quase que inteira (sim, ela é enorme, e por isso demorei alguns meses a mais para terminar a leitura do livro…). e fui adaptando o código de acordo com a documentação oficial atualizada do framework.
O trecho acima cita um trade-off de tempo vs aprendizado. Aliás, tomem cuidado com o famoso perfil de “aprendizagem rápida” que muitas vagas de emprego exigem. Há temas complexos que somente o tempo e o uso contínuo levarão ao domínio pleno deles.
Conclusão
E para encerrar, afirmo que Google, StackOverflow e outros fóruns são excelentes para busca por soluções pontuais, mas não se enganem. Em outras palavras, se você não buscar entender o que está acontecendo corre o risco de você ser um dependente de soluções prontas. A dica final é: estude em outras fontes (livros, artigos, documentações oficiais, etc.). Além disso, aprofunde nos conceitos e não sejamos dependentes apenas de uma tecnologia específica.
Aprendam a aprender!
Contatos
Gostou desse post? Aprendeu sobre como você pode melhorar seu aprendizado na jornada de ciência de dados? Gostaria de entrar em contato comigo para troca de experiência e discussões posteriores? Clique nos ícones abaixo e me envie uma mensagem!
Minha experiência com a programação começa com meu interesse em automatizar meu serviço como assistente administrativo em elaboração de oficios e processos administrativos. Automatizei com Word VBA e EXCEL.
Meu projeto de automatizar a construção de um modelo de processo administrativo, com paginas como capa, termo de abertura, histórico e outras informações a respeito da entidade em questão. Este modelo tomava muito tempo para produzir com todas as informações para tirar do sistema da empresa e colocar no texto digitado, e as buscas de historico se dividia em banco de dados no excel e no banco de dados sql da empresa (isso tornava tudo mais complicado, o banco do excel era bagunçado).
A partir de um bom esboço de como programar, eu dei inicio a busca por conhecimento, usei muito livros em ingles (tem pouca literatura em portugues sobre vba), e tbm o docs do office. A versão era a antiga 2013 que eu devia programar (devido o pc da empresa).
Em resumo meu projeto foi evoluindo e evoluindo com o tempo, a versão mais optimizada foi finalizada após 3 meses depois de ter iniciado em meu conhecimento de vba.
Claro, ja tive contato com um curso mais basico de programação na faculdade de engenharia mecânica, mas muito superficial, porém ja tinha o conhecimento em algoritmos e estrutura de dados. Que sim facilita muito a programação em qualquer linguagem. Mesmo para aqueles que estejam esquecidos do curso.
Hoje, estou cursando graduação em ciência de dados e tbm faço diversos cursos do ramo pela udemy. Tendo já a noção de que devo aprender duas linguagens como python (principal) e R. Uma outra coisa que tenho em pensamento é que me sentindo pronto, ainda assim, numa empresa eu não vou saber de tudo, mas saberei o caminho para solucionar os problemas.
Eu preferiria seguir aprendendo a base na versão antiga. Duvido que tenha mudado tanto que tenha invalidado tudo. Com o fundamento na cabeça, só iria me atualizar.