faq

Felipe Cavani - 2016-09-17 11:30:20 -0300

1. Quais foram os resultados e conquistas obtidos no seu último projeto?

Considero meu último projeto este site. O backend consiste em 13 módulos, arquitetura de microservices, que comunicam-se entre si através de um protocolo de RPC que eu desenvolvi (gormethods). O ciclo de vida dos processos é gerenciado pelo systemd, já que todos rodam em uma mesma máquina e dispensam o uso de containers, schedulers, etc. As configurações e a descoberta de serviços são feitas através do etcd. Adotei essa arquitetura devido a modularidade, organização e facilidade de manutenção, tudo isso, apesar da complexidade do protocolo, vale a pena. O protocolo é a principal parte do sistema e o que deu mais trabalho para desenvolver. Com este site tive a oportunidade de amadurecer os meus conhecimentos em Go e microservices, tendo como maior resultado o desenvolvimento do protocolo de RPC e sua divulgação através do Github. Ele, também, me auxiliou na divulgação do meu trabalho como fotografo.

2. Quais foram os resultados e conquistas obtidos no projeto da CBM?

O projeto da CBM foi o desenvolvimento de um sistema de coleta de dados e armazenamento destes para posterior analise feita através de tabelas e gráficos. Este sistema foi um passo adiante dos meus conhecimentos em Go. O sistema funcionou de modo estável e se mostrou de fácil manutenção. E atendeu a demanda de algumas lojas que o alimentavam 3 vezes ao dia. Meus primeiros experimentos com arquiteturas não monolíticas se deram com este sistema.

3. Quais foram os resultados e conquistas obtidos no projeto da Azimuth?

O sistema da Azimuth consistia de um sistema para realização de pedidos por lojista. Funcionou por um curto período de tempo pois o projeto foi cancelado devido a dificuldades financeiras da empresa. Esta foi minha primeira grande experiencia com Go. Pelo curto período que ele funcionou mostrou-se adequado as tarefas.

4. Qual foi a sua maior realização profissional?

Minha maior realização profissional foi este site incluindo o protocolo de comunicação entre os módulos. Veja faq item 1 e o blog.

5. Qual foi a sua realização no mestrado?

No mestrado fui capaz de distinguir os elementos de um cena agrícola com árvores de laranja utilizando um framework bayesiano e, alternativamente, com redes neurais artificiais.

6. Porque o projeto do ultra-som não aparece no seu currículo?

Apesar de ser um projeto grande e complicado eu só participei dele por alguns meses, onde eu desenvolvi um sistema que coleta, armazena e gera visualizações dos dados obtidos através da varredura de ultra-som. Tudo isso foi feito em Python, que se mostrou uma ótima ferramenta para desenvolver esse tipo de aplicação, rápida para codificar e exata nos resultados.

7. Como você se envolveu no projeto de ISOBUS? O que foi realizado e quais os resultados?

O laboratório o qual eu fazia parte durante o meu mestrado tinha um grupo envolvido com automação agrícola, como eu sempre gostei de hardware me envolvi com este grupo. Implementamos alguns protocolos do ISOBUS para a série 18F Micropic e também trabalhamos com Cortex M3 e a IsoAgLib. Os resultados foram ótimos, embarcamos, meus colegas e eu, o que desenvolvemos em um implemento de aplicação de calcário a taxa variada e a aplicação funcionou muito bem.

8. Quais linguagens você já utilizou? Quais você realmente esta em condições de usar hoje?

C, C++, Delphi, VB, LabView, Go (golang), Pascal, JavaScript, Matlab, Mathematica, Python, Assembly (8085 e Zylog) e Bash. Sendo que realmente estou pronto para programar hoje com Go e Python. JavaScript já utilizei bastante mas de forma intermitente, logo se for o caso de voltar a programar nesta linguagem terei um overhead até estar programando novamente; estou abituado com jQuery.

9. Quais foram os projetos que utilizam Go (golang)?

Azimuth, CBM e este site. No Github existem outros pequenos projetos que valem a pena serem olhados, inclusive o gormethods que é o protocolo de RPC que uso no software que gerencia este site.

10. Porque você resolveu voltar ao mercado de trabalho?

Onde eu moro é inviável você seguir qualquer carreira, além das relacionadas com turismo. Fotografia não apresentou condições durante esses anos de me sustentar de forma adequada. E seguir carreira de programador aqui é uma possibilidade remota a não ser que seja por meio de trabalho remoto, o que tem se mostrado raro. Então decidi procurar um trabalho real e dependendo deste trabalho me realocar para outra cidade.

11. Fullstack, frontend ou backend?

Apesar de ter trabalhado em todos esses sistemas como fullstack, pois estava voando solo. Minha área é o backend. Sempre tive uma queda pelo lado do servidor, sendo que trabalhei por muitos anos como sysadmin. E também durante o mestrado tinha que processar grandes quantidades de informação em máquinas distintas (duas no caso, ou três?).

12. Outros projetos?

  • Controlador do robix
  • Visão omnidirecional
  • Sysadmin
  • Robô Autônomo Agrícola
  • AGV, que virou um robô autônomo

13. Que história é essa de administração de servidor linux?

Desde sempre eu tive este servidor que eu administrava e fazia experimentos, com novos serviços, firewall, vpn, gerenciamento de discos e etc. Também ele sempre foi meu servidor pessoal que foi compartilhado com o pequeno escritório do meu pai, este que usava como roteador, servidor de arquivos e etc. Por exemplo, meus e-mails e alguns arquivos sempre foram mantidos nessa máquina, ou seja, não interessa para qual e-mail meu você enviava eu o armazenava nessa máquina. Mas para que complicar tanto assim: eu sou computeiro e sempre gostei do ambiente linux, então pode considerar isso um hobby, ou seja, meu passa tempo para manter meu streess baixo. Hoje em dia uma versão simplificada desse servidor existe, mas eu já não uso-o mais como antigamente em termos de função e frequência, a glória se foi.

Anterior | Próximo