Do 0 ao 1, café com código
com Daniel Quirino
Quem é você e o que faz?
Meu nome é Daniel Quirino Oliveira, tenho 35 anos e trabalho atualmente na SAP como consultor de arquitetura na divisão SAP Hybris Expert Services das Américas.
Mora em qual cidade atualmente?
Araraquara é minha cidade-natal e onde eu passo maior parte do tempo.
Qual Hardware você usa atualmente?
Macbook Pro 15", 2017.
Quais software você tem adotado?
Os dois principais são iterm e Firefox. Mas a pilha é imensa. Hybris é uma plataforma de commerce escrita em Java e que utiliza uma pilha de frameworks opensource bem conhecida (Spring, basicamente), o que significa que eu utilizo muitas ferramentas de desenvolvimento Java, como Eclipse ou IntelliJ (preferencialmente). Mas eu também utilizo muito vim, Atom (embora eu esteja trocando gradualmente por VS Code) para desenvolver ferramentas para auxiliar meu dia-a-dia em Groovy, Scala, Ruby ou Python (escolho de acordo com a necessidade e meu humor). Além disso, uso muito Office (principalmente Outlook), R Studio, JMeter, Graphana, HANA Studio, Skype, Slack.
Estuda ou Estudou em alguma instituição que fornece curso de TI? Qual instituição e curso?
USP São Carlos.
Trabalha atualmente? Qual o seu cargo?
Trabalho na SAP como consultor senior de arquitetura na divisão SAP Hybris Expert Services das Américas.
Como foi seu contato com a área de TI?
Eu tinha 5 para 6 anos quando eu vi computador pela primeira vez e fiquei maravilhado. Era um PC-XT e lembro de brincar muito com BASIC e Lotus 123 (o avô do Excel). Enchi muito o saco dos meus pais e eles me puseram em cursos de informática na época, o que significava aprender DOS e programação com Borland Turbo Basic. Pouco depois eu ganhei meu primeiro computador (um 286) e ficava brincando na telinha azul do Turbo Basic e, depois, do Turbo C.
Teve alguma mudança da sua linha de desenvolvimento até os dias atuais?
Sim, várias. Você precisa aprender a cada erro que você comete.
Quais são seus objetivos nessa área hoje?
Como todo mundo da nossa área, meu objetivo é resolver problemas da melhor maneira possível, o que significa balancear sempre custo, escopo e qualidade. Mais especificamente com relação ao meu trabalho atual, o papel da minha divisão é garantir o sucesso da implantação do produto (SAP Hybris) nos clientes que o adquiriram, o que significa ser um jogador que atua em diversas posições durante uma partida: na maioria das vezes, atuo como consultor de arquitetura, algumas vezes como engenheiro de performance e infra-estrutura, outras como desenvolvedor e até consultor de negócio.
Quais linguagens de programação você utiliza?
Java, na maior parte das vezes. Mas Groovy, Scala, Ruby, Python e R também me ajudam a resolver problemas de tempos em tempos.
Quais são seus planos para o futuro?
Boa pergunta. Eu preciso planejar meus próximos anos de carreira. Quando eu estava começando, em 2000, eu gostaria muito de chegar na posição em que eu estou hoje. Agora eu preciso pensar minha carreira para os próximos 15 anos. Trabalhar em uma empresa como a SAP é um desafio e uma oportunidade gigantesca, então vários
Quais foram as maiores dificuldades que você teve durante a sua trajetória?
Ah! Inúmeras! Profissionalmente, pessoas são sempre o maior problema. Nem sempre todas as pessoas que fazem parte da organização em que/para quem você trabalha estão engajadas no sucesso do seu empreendimento, então sempre houve quem jogasse contra e tentasse prejudicar o andamento do que minha equipe e eu fazíamos. Isso é algo muito recorrente e não creio que haja uma maneira simples de acabar com esse problema em grandes organizações.
Existem outros projetos que você está desenvolvendo ou pretende desenvolver atualmente?
A maioria das coisas com que eu tenho me envolvido nos últimos meses são relativos a projetos e programas internos da SAP, o que tem me consumido bastante. Quando posso, eu tenho tentado contribuir o máximo que posso com o Opensanca compartilhando um pouco da minha experiência.
Para quem quer começar a programar, o que você sugeriria?
Programar não é um bicho de sete cabeças. Lembro que meu primeiro instrutor que me ensinou BASIC quando eu tinho 6 anos dizia que computadores são tão burros quanto rápidos. Eles fazem aquilo que nós mandamos que eles façam. Então é preciso ditar, passo a passo, o que é preciso ser feito. Programar, em um nível bem fundamental, é isso. Mas, para ir para um próximo nível, é muito importante saber muito bem matemática e algoritmos. Algoritmos são “pequenos contos” que dizem ao computador como organizar e trabalhar com dados de maneira mais eficiente.
Depois disso, é realmente importante conhecer como as coisas funcionam: como funciona um sistema operacional? Como funciona escrita de arquivos? Como funcionam protocolos de rede? Muitas vezes, soterrados pelas quantidades imensas de tecnologias que aparecem, as pessoas esquecem de aprender o básico e focam em coisas de muito alto nível sem entender as consequências de utilizar aquilo que elas escolheram.
Livros que acham relevante para qualquer Dev independente do nível?
Eu sugeri uma listinha em https://github.com/opensanca/recommended_books#must-read . Além daqueles, eu certamente adicionaria a série TAOCP do Knuth, qualquer coisa decente sobre Cálculo e Álgebra Linear. Sim, limites, derivadas, integrais e vetores são muito importantes (algoritmos de machine learning são baseados nisso).
Uma dica de visão de futuro, pensando em um projeto que lhe agradaria jeto daqui 12 meses?
Machine Learning é a moda do momento e eu sempre gostei muito de Inteligência Artificial. Mas eu gostaria de trabalhar em convergência de tecnologias para interfaces com humanos que não sejam as tradicionais monitor-teclado-mouse. Vejo cada vez mais idosos tentando interagir com tecnologias e vejo como eles sofrem para tentar aprender e se adaptar a elas. Acho que um caminho seria criar interfaces com usuário baseadas em voz (como o Alexa, por exemplo) e imagens e integrá-las ao dia-a-dia de pessoas que não possuem um viés tecnológico como eu.
O que te motiva mais nessa área?
Resolver problemas interessantes é o que mais me motiva. E o mundo continua cheio desses problemas.
Um hobby?
Skate, futebol, fotografia, meus cães, vinho e cerveja. Quero aprender a editar videos de maneira decente também :)