Do 0 a 1, café com código

Cristofer Sousa
Opensanca
Published in
6 min readOct 6, 2017

com Samuel Grigolato

Quem é você e o que faz?

Atualmente trabalho como Consultor de TI. Como esse cargo é de certa forma genérico acredito que valha a pena detalhar. Basicamente trabalho com as seguintes frentes:

- Coaching técnico: trabalhar lado a lado com um desenvolvedor a fim de suprir alguma deficiência técnica ou dificuldade que este tenha no projeto. Por exemplo: o desenvolvedor precisa desenvolver uma integração com um endpoint SOAP e não possui este conhecimento. Ao invés de alocar um profissional sênior do projeto, o gestor pode decidir por contratar um serviço de consultoria externo;

- Design arquitetural: definir a stack e ferramentas de suporte que serão utilizadas em um determinado projeto, bem como desenvolver funcionalidades de exemplo para outros desenvolvedores espelharem. O trabalho de um arquiteto de software é ser envolvido em decisões que impactam o bom andamento do projeto em termos de produtividade, performance, padrões de codificação, entre outras coisas;

- Palestras/workshops/treinamentos internos.

Sou bacharel em Ciência da Computação pela UNIP Araraquara. Trabalho na área há 10 anos. Iniciei minha experiência no centro de desenvolvimento da Cast em Araraquara, depois fiz parte da fundação da Simples (também em Araraquara) e no final do ano passado fundei a Quasar, onde estou atualmente.

Mora em qual cidade atualmente?

Sou de Américo Brasiliense/SP, onde morei boa parte da vida e onde moro atualmente. Residi a trabalho por 1 ano em São Paulo capital, 2 anos em Brasília/DF e por 6 meses em Belém/PA.

Qual Hardware você usa atualmente?

Uso um bom e velho DELL LATITUDE E6520, 8GB de RAM DDR3, processador i7 geração 1. Até hoje ele ainda não me deixou na mão, mas sua aposentadoria deve estar próxima.

Quais software você tem adotado?

Tenho dual boot configurado na máquina, com Windows 10 e Arch Linux. Uso o SO da Microsoft para games e boa parte das minhas apresentações, enquanto praticamente todo o meu trabalho de desenvolvimento e consultoria fica no Arch.

Para desenvolvimento backend:

* Java: usei o Eclipse por praticamente 9 anos, mas atualmente tenho dado preferência para o Intellij IDEA;

* .NET: Visual Studio;

* Python: PyCharm.

Frontend:

* jQuery+Javascript ou Angular 1.x: normalmente uso a IDE que uso para o backend;

* Angular 2+ ou React: ultimamente tenho usado o VS Code e tenho gostado bastante.

Também uso extensivamente o Docker, para diversos fins: servir bases e outros recursos de infra de desenvolvimento, como SMTP; preparar dockerfiles que servem como documentação do processo de implantação de uma determinada solução; preparar dockerfiles que serão usados em produção.

Estuda ou Estudou em alguma instituição que fornece curso de TI? Qual instituição e curso?

Sim. Bacharelado em Ciência da Computação pela UNIP Araraquara. Além disso, no início da minha carreira, o treinamento que tive como estagiário da Cast Araraquara ajudou muito a formar conceitos fundamentais.

Trabalha atualmente? Qual o seu cargo?

Sim. Consultor de TI na Quasar, empresa que fundei no ano passado (2016).

Como foi seu contato com a área de TI?

Aos 12 anos eu tive meu primeiro contato com programação, após ter ganhado um curso de lógica de programação em Campinas através da OBI 2005 Fase Iniciação (Olimpíada Brasileira de Informática). Lá, junto com aproximadamente outros 30 alunos, conceitos de lógica e programação em C foram ensinados. Depois disso eu tive meu próximo contato com 15 anos, como menor aprendiz trabalhando com Delphi 7 em uma empresa que vendia um produto de prateleira para gestão de pontos de venda e afins. Com 16 anos eu entrei na Cast como estagiário.

Quais são seus objetivos nessa área hoje?

Me manter atualizado com as novas tecnologias, e ajudar a dar visibilidade a um mercado de Consultoria em TI que ainda é pouco difundido hoje na região, voltado para o uso de coaching e outras técnicas com o fim de reduzir o risco nos projetos dos clientes.

Quais linguagens de programação você utiliza?

Java, .NET (normalmente C#), Python, JavaScript, TypeScript e com menor frequência: C++ e Delphi.

Quais foram as maiores dificuldades que você teve durante a sua trajetória?

A transição entre um desenvolvedor que se volta a apenas atender documentação de requisitos, para um profissional que se preocupa em atender a necessidade do usuário final, com certeza foi um dos processos mais longos e complicados pelo qual eu passei. Interessante observar que as metodologias de ensino atuais se voltam em demasia à questões técnicas, e por vezes se esquecem dessa parte interpessoal e de inserção do profissional em seu meio corporativo e isso apenas o tempo consegue corrigir, normalmente a duras penas.

Existem outros projetos que você está desenvolvendo ou pretende desenvolver atualmente?

Eu gosto de contribuir para projetos de código aberto, recentemente tenho feito alguns PRs em três: danillobelini/dose (uma espécie de semáforo de testes unitários feito em Python com o intuito de ser usado em Coding Dojos e programação orientada a testes — TDD); godotengine/godot (engine de jogos escrita em C++ com uma linguagem de script baseada em Python, chamada GDScript) e datasciencebr/serenata-de-amor (uso de técnicas de data science, aprendizado de máquina e dados abertos do governo para identificação de corrupção).

No médio/longo prazo eu tenho a pretensão de dedicar um tempo em algum serviço/aplicativo online com modelo de negócio baseado em subscrição mensal.

Para quem quer começar a programar, o que você sugeriria?

90% prática, 10% teoria (vídeos, palestras, workshops, livros etc). O consumo de teoria sem prática é o grande obstáculo que eu vejo em novos profissionais no mercado. Outro ponto importante é a síndrome do impostor: ter certeza de que não tem condições ou talento por se espelhar em imagens montadas na mídia ou na própria empresa onde trabalha. Por fim, não perca tempo tentando escolher a melhor ferramenta/linguagem/X: a transição de uma linguagem para outra de um profissional com conceitos devidamente enraizados em seu modo de pensar é muito fácil e rápida, escolha aquela que mais lhe agradar aos olhos e não tenha medo de ter escolhido errado.

Livros que acham relevante para qualquer Dev independente do nível?

Essa é complicada, pois sou adepto a uma maneira mais pragmática de se obter conhecimento. Eu valorizo a literatura técnica, é claro, mas acho que ela é supervalorizada na maioria dos casos. Atualmente a forma que considero melhor para se aprender uma ferramenta/linguagem é a documentação fornecida pelos próprios desenvolvedores e muita, MUITA prática.

Essa forma de pensar não se aplica para alguns conceitos mais críticos, os quais eu acabo buscando conhecimento da maneira convencional, como: segurança, performance etc. O último livro que eu li é o Seven Concurrency Models in Seven Weeks do Paul Butcher, pois me sinto mais confortável absorvendo conceitos críticos como esse (modelos de concorrência e paralelismo em um ambiente que exige alta escalabilidade, como temos hoje em nosso meio) com pessoas que tenham vasta experiência no assunto.

Uma dica de visão de futuro, pensando em um projeto que lhe agradaria jeto daqui 12 meses?

Hoje temos duas tecnologias crescendo de maneira descontrolada: Internet of Things (IoT) e Virtual Reality (VR). Acredito que no futuro próximo/médio o mercado estará cheio de oportunidades nessas áreas. Questões como segurança/escalabilidade no caso da IoT e usabilidade/produtividade no caso de VR estão longe de serem resolvidas satisfatoriamente. Também temos uma crescente em oportunidades voltadas para análise de dados, com ou sem o auxílio de técnicas de aprendizado de máquina. Projetos como a Operação Serenata de Amor colocam isso em evidência, ajudando mais ainda a fomentar o crescimento desse mercado.

O que te motiva mais nessa área?

O fato de ser uma área que se renova com uma frequência absurdamente alta e que permite a nós, desenvolvedores, ter contato com inúmeras outras áreas, afinal cada projeto pode ser visto como um treinamento no negócio daquele cliente em específico.

Um hobby?

Gosto de jogar Magic: the Gathering, jogos de tabuleiro com a família, e jogos de estratégia como a série Civilization e Age of Empires. Também perco uma tarde eventual jogando CS:GO, mas falta o talento!

--

--