Vou fazer alguns comentários sobre tecnologia. Além de ser pós graduado em Engenharia de Sofware, graduado em Mecânica de Precisão pela Fatec-SP e ser técnico em eletroeletrônica e informática, desenvolvi conhecimento no mercado:
- Ruby/Rails: comecei em Ruby na Fundação Cásper Líbero. Lá adorávamos Rails. Trabalhei em uma integração com um fornecedor de conteúdo para tabelas de futebol. Tínhamos 3 APIs REST e um gerador de JSON para isto:
- Uma API para espelhar conteúdo do cliente;
- Uma API para converter o conteúdo do cliente em nosso formato;
- Uma API para contendo nosso formato sobre os campeonatos. Esta API nasceu antes do espelho do cliente;
- Após fazermos as APIs, colocamos o consumo no Gazeta Esportiva. E vimos que o desempenho era péssimo. Imagina um campeonato de 38 rodadas. Para fazer uma requisição para obter todos os jogos (optamos por obter os dados "de uma vez") eram 38 rodadas x 10 jogos por rodada = 380 requisições. Fora o resto. Aí vimos que o desempenho era muito melhor se gerássemos um JSON grandão com todos os dados. Colocamos este JSON no S3. O desempenho melhorou muito.
Hoje tais APIs não são mais usadas. Pois ficava mais barato fazer lambdas em Python do que deixar máquinas ligadas com as APIs.
Fora o Rails, já estudei o Sinatra em um curso no Coursera. E trabalhei com diversas tecnologias do ecossitema, como RSPEC e Factory Girl.
Eu me sinto bem à vontade com Ruby, gosto muito da linguagem.
Trabalhei com a Gem FCL Rails Daemon desenvolvida lá e já desenvolvi uma Gem também.
- PHP: Minha maior experiência é com PHP. Trabalho com a linguagem desde 2003 quando o Eduardo Perestrelo me falou para estudar. Usamos na TXT Marcom. Depois, usei em freelances, na GritoAD, na Promosapiens, na FCL, na Swide e uso para algumas coisas na Riachuelo, apesar de não ser o meu nicho principal lá, confesso.
Tenho diversos repositórios de PHP no Github e alguns no Bitbucket. Na TXT Marcom eu usava para desenvolver sistemas para eventos por exemplo. Eu trabalhei com PHP em campanhas de incentivo para a Vivo e Fast Shop na Promosapiens, a Mesa de CI (veja o LinkedIN e o link no http://www.terceiro.com.br). Eu gostava de usar o CakePHP lá. Na Fundação Cásper Líbero chegamos a ter o Admin Futebol em Zend 2 e a São Silvestre foi desenvolvida com Zend 1. Na Swide usávamos um framework próprio (não participei da decisão de usar um framework próprio). Na Riachuelo eventualmente uso em scripts para automação. Estes são alguns exemplos.
Minha monografia de pós graduação foi sobre testes estáticos com PHP. Conheço coisas em PHP como frameworks diversos (CakePHP, Code Igniter Zend, além de ter estudado o Symfony e o Laravel), ferramentas diversas como linter em PHP, PHPCodeSniffer, PHPmd, testes com PHPUnit etc.
Na Prommosapiens eu integrei o PHPCodeSniffer com uma hook pré-commit do SVN;
- Node.JS: eu comecei a trabalhar com Node.JS na Fundação Cásper Líbero no aplicativo da (a href="https://play.google.com/store/apps/details?id=br.com.tvgazeta.gazetafm" target="_blank">Gazeta FM. É um aplicativo que tem 4.3 de média de notas na Google Play em 15/01/2022. Com Node.JS já usei por exemplo:
- Em scripts para lambda na AWS (Riachuelo);
- Websockets com Socket.IO (Fundação Cásper Líbero);
- Auxílio para testes (mocks, fakes) com Sinon.JS (Fundação Cásper Líbero);
- Inquirer para fazer perguntas para o usuário (Riachuelo);
- Forever para reiniciar a aplicação se ela "morrer" (Fundação Cásper Líbero);
- Testes com Jest (Riachuelo) e o Mocha (Riachuelo e Fundação Cásper Líbero);
- Watchfolder para verificar alterações em um arquivo imadiatamente (Fundação Cásper Líbero).
- Chai como biblioteca de asserção nos testes (Fundação Cásper Líbero) e biblioteca Assert com a mesma finalidade (Riachuelo).
-
Java: não sou especialista em Java sinceramente, mas:
- Em uma integração com o Itaú Shopline fiz um webservice simples em Java que basicamente retornava o valor criptografado por uma biblioteca fornecida pelo Itaú. Usei tal integração na São Silvestre;
- Neste curso e neste do Coursera usei para deslvolver aplicativos (que também já fiz por exemplo com Cordova, que não usa Java diretamente.
- Usei na Pós graduação por exemplo nas matérias de Teste e no laboratório de testes (excelentes disciplinas).
-
ActionScript: eu usei principalmente o 3 na Promosapiens, mas também o 2. A principal alternativa para desevolver multimídias na Promosapiens, como a mesa de CI (fotos no LinkedIN e um link sobre o prêmio Caio que ganhamos no http://terceiro.com.br, que também tem um link para meu cadastro no LinkedIN), antes do Steve Jobs matar o Flash. Mexi com bastante coisa de Flash na Promosapiens, mas sinceramente agora não mexo mais;
-
Groovy: comecei na Riachuelo para mexer no Jenkins e treinei no Codewars também (bem como outras 44 linguagens de programação). Um link para meu cadastro no Codewars pode ser obtido no terceiro.com.br. Já mexi no Jenkins antes, tanto na pós graduação quanto na Fundação Cásper Líbero;
-
Python: já fiz cursos no Coursera, como o do link anterior e usei na Riachuelo:
- Pytest;
- Pylint;
- Flake;
- Bandit;
- integrações como com o Kafka e o RabbitMQ.
- Eletrônica/Arduino.
Sou técnico em eletroeletrônica e na faculdade estudei também. Lá nosso projeto de conclusão de curso foi um carrinho radiocontrolado em que usamos PIC. Já usei softwares de simulação/diagramação. Na Promosapiens conheci o Arduino e tenho inúmeros softwares no Github. Fiz integrações em ações de marketing na Promosapiens, como um multimídia que acendia uma lâmpada de 9 opções de celular conforme o usuário respondia em um multimídia Flash. Fora isto fiz diversas coisas, como um display de celulares (acendia diversos LEDs em sequência e tais LEDs formavam um círculo) com PIC.
Fora isto tenho um ESP-8266 e um Raspberry PI (além de 4 Arduinos kkk).
- HTML: meu principal nicho é a web, então sempre tive que usar HTML com diversas linguagens de programação.
- JavaScript: já usei bastante com o Node.JS e no navegador;
- .NET: não sou especialista, mas já trabalhei com .NET na Promosapiens, tanto usando VB.NET quantoo C# (neste caso em uma integração com RFID). Usávamos .NET quando era mais simples que Flash (sinceramente) na Promosapiens. Exemplo: quando integrei com um software de RFID, tinha que usar uma DLL e tinha exemplos em C#. Achei mais simples fazer tudo com C# então. Fiz também o chamado multídia 2 monitores. Tal software tinha a finalidade de mostrar que era mais produtivo usar 2 monitores que 1. Tive que dar fullscreen em 2 monitores ao mesmo tempo e não consegui fazer isto com Flash, mas no VB.NET eu consegui;
- Sistemas operacionais: como todo ser humano o planeta já usei o Windows. Na Fundação Cásper Líbero já usei o MacOS. Linux estou usando agora kkk, meu notebook pessoal tem Linux e Windows (uso o Mint, já usei Debian, Conectiva, Slackware, Ubuntu, Xubuntu etc). Usei Linux na Fundação Cásper Líbero, cuidava de servidores Linux na TXT Marcom e na Promosapiens também e uso Windows na Riachuelo e já usei nas outras empresas em que trabalhei;
- Outras: bem, não sei como falar de tudo, nem sei se vou esquecer de algo kkk:
- Na Promosapiens usávamos SVN e eu quem cuidava do servidor. Usávamos uma integração com o PHPCodeSniffer;
- Já usei o Git flow do Nvie;
- Já trabalhei com conteúdo traduzido estruturado no Software na São Silvestre. Lá trabalhei com o Selenium também;
- Já estudei outras linguagens de programação, como o Elixir (fiz Katas em 45 linguages no Codewars).
- Shell script: quando necessário eu uso;
- Já integrei com impressoras térmicas, fazendo a impressão de crachás, na TXT Marcom.
- Redes: já fui certificado CCNA Cisco (2002 a 2005). Não renovei porque preferi programar, mas lembro da maioria das coisas do curso. Já dei aulas perparatórias para o CCNA, o meu crachá na época e o certificado podem ser vistos no meu cadastro no LinkedIN (link no meu para o meu perfil na home do meu site). Fora isto já montei redes locais e cuidava da rede e do servidor Linux na Torresan. Tirei 1000 na prova (acertei tudo - como pode ser visto no LinkedIN);
- Já estudei o JMeter na pós graduação e o usei na Fundação Cásper Líbero;
- Ultimamente meus comentários de commit são em inglês e seguem o Conventional Commits;
- Já mexi com o Gulp na Fundação Cásper Líbero;
- Tenho cadastro na Cloudflare e já a usei na Fundação Cásper Líbero;
- Na Riachuelo mexemos entre outras coisas com Docker, Kubernetes e Rancher. Já fiz postagens no Medium sobre Docker (link no terceiro.com.br);
- Mexo tanto na AWS (coisas como Lambda e SQS) quanto na Azure na Riachuelo diariamente e tenho cadastro pessoal em ambas;
- Já trabalhei em uma integração com o Slack (resposta automática em uma nova thread) na Riachuelo. O projeto envolve 3 lambdas e 2 filas SQS (fazer com 1 lambda só ficaria mais caro, pois o tempo de execução aumentaria consideravelmente). Usei o Serverless framework;
- Fiz inúmeros cursos de tecnologia e os certificados podem se vistos no meu cadastro no LinkedIN (link no terceiro.com.br);
-
Banco de dados:
- MySQL: é o principal com que trabalhei, creio que desde 2003 quando comecei com PHP. Apesar de muita semelhança com outros, creio que é o que eu conheço mais;
- Oracle: trabalhei no http://seguro.saosilvestre.com.br. A Fundação Cásper Líbero tem DBAs que fizeram a escolha;
- SQL Server: já usei com a plataforma Microsoft (VB.net, C#). Em coisas muito escpecíficas não sou especialista;
- Access: quando saí do curso técnico em 2000, eu usava bastante com VB. Hoje já não o uso mais;
- PostegreSQL: já usei, mas não o usava muito porque o MySQL me atendia;
- Maria DB: creio que servem os mesmos comentários do MySQL;
- MongoDB: já usei pessoalmente, mas sinceramente profissionalmente não. Usei por exemplo em um curso do Edx ministrado pelo Code Barbarian
- Cosmos DB: eu sei que existe, já o estudei mas nunca o usei;
- Outros: DB2 e outros usei pouco. Se algum não está na lista acima, pergunte-me por favor. Eu posso ter esquecido.
- Bem, acho que falei de algumas coisas, mas provavelmente esqueci de algumas outras. Caso tenha dúvidas, entre em contato comigo pelos e-mails que citei no terceiro.com.br ou por telefone.
- "Nuvem". Bem, o leque de produtos que a Azure oferece por exemplo é muito grande, mas já trabalhei com:
- Lambdas, com o Serverless Framework ou diretamente no painel da AWS;
- S3: sim, já trabalhei com o S3. Este arquivo< por exemplo está no S3
- Container registry: já trabalhei com container registry da Azure na Riachuelo e já estudei o Docker Hub;
- EC2: antigamente a FCL tinha alguns serviços Ruby no EC2 e já o estudei para o AZ-900;
- Filas: já usei o SQS na Riachuelo para ligar lambdas. Usei também o Kafka para estudo para o mesmo trabalho;
- API Gateway: usei com lambdas;
- Load balancers: na FCL um load balancer ficava "na frente" das máquinas do EC2 para distribuir o tráfego;
- Cosmos DB: só estudei para o AZ-900;
- Azure files: só estudei para o AZ-900;
Provavelmente eu esqueci algo. Se for relevante para ti, pergunte para mim por favor.
- Jenkins: o estudei na pós graduação e o usei na FCL e na Riachuelo;
- Docker: já trabalhei com Docker, fiz cursos dele, mas confesso que não sou especialista supremo. Eu fiz
- Terraform: também fiz, neste caso só um post, sobre como criar um bucket no S3 com o Terraform no Medium;
- Ansible: comprei na Udemy um curso de Ansible (assim como de Terraform, devops Ninja, AZ-900), mas ainda não o terminei;
- AZ-900: estudei para a certificação, comprei 2 cursos na Udemy, mas não fiz a prova;
- Azure Devops: quem já o usou sabe que lá há como criar times com repositórios, um Kanban com o Trello, criar e gerenciar pipelines, lá há repositórios de pacotes, há como configurar permissões etc. È bem extenso.
- Painel da Azure: eu acessava mais o Azure Devops, mas já acessei o painel algumas vezes.