Tecnologias

🛠️ Stack Técnico

Ao longo da minha carreira, desenvolvi expertise em diversas tecnologias e ferramentas. Aqui está uma visão geral das principais tecnologias que domino:

💻 Linguagens de Programação

☕ Java

Linguagem principal utilizada no desenvolvimento backend, especialmente em projetos corporativos e sistemas financeiros.

Frameworks e Bibliotecas:

  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Micronaut
  • JUnit

🎯 Kotlin

Utilizada tanto para desenvolvimento Android quanto backend, especialmente em projetos que exigem interoperabilidade com Java.

Aplicações:

  • Desenvolvimento Android nativo
  • APIs REST com Micronaut
  • Microserviços
  • Scripts de automação

🐹 Go (Golang)

Linguagem atualmente utilizada na Mercado Libre para desenvolvimento de serviços de alta performance.

Características que aprecio:

  • Performance excepcional
  • Simplicidade e clareza
  • Excelente para microserviços
  • Concorrência nativa

🌐 JavaScript/TypeScript

Utilizada principalmente para desenvolvimento frontend e algumas automações.

Tecnologias Relacionadas:

  • React.js
  • Node.js
  • TypeScript
  • HTML5/CSS3

🏗️ Frameworks e Tecnologias Backend

🍃 Spring Boot

Framework principal para desenvolvimento de APIs REST e microserviços em Java.

Módulos Utilizados:

  • Spring Web
  • Spring Security
  • Spring Data JPA
  • Spring Cloud
  • Spring Actuator

⚡ Micronaut

Framework moderno para desenvolvimento de microserviços com foco em performance e baixo consumo de memória.

Vantagens:

  • Tempo de inicialização reduzido
  • Baixo consumo de memória
  • Compilação ahead-of-time
  • Injeção de dependências em tempo de compilação

📱 Desenvolvimento Mobile

🤖 Android

Desenvolvimento de aplicações Android nativas usando Java e Kotlin.

Tecnologias:

  • Android SDK
  • Jetpack Components
  • Room Database
  • Retrofit
  • Koin (Injeção de Dependência)

☁️ Computação em Nuvem

☁️ Amazon Web Services (AWS)

Experiência com diversos serviços AWS para desenvolvimento de soluções escaláveis.

Serviços Utilizados:

  • Computação: EC2, Fargate
  • Armazenamento: S3, EBS
  • Banco de Dados: RDS, DynamoDB
  • Mensageria: SQS, SNS
  • Monitoramento: CloudWatch
  • Segurança: Parameter Store, IAM
  • DevOps: CodeDeploy, CodePipeline
  • Container: ECR, ECS

🐳 DevOps e Containerização

⚙️ GitHub Actions

Plataforma de automação CI/CD para construir, testar e implantar aplicações.

Uso:

  • Testes automatizados em pull requests
  • Pipelines de integração contínua
  • Fluxos de trabalho de implantação automatizada
  • Construção e publicação de imagens Docker
  • Implantações em múltiplos ambientes
  • Verificação de segurança e qualidade de código

🐳 Docker

Containerização de aplicações para desenvolvimento, testes e produção.

Uso:

  • Criação de imagens otimizadas
  • Docker Compose para ambientes locais
  • Multi-stage builds
  • Otimização de camadas

⚓ Kubernetes

Orquestração de containers em ambiente de produção.

Recursos Utilizados:

  • Deployments e Services
  • ConfigMaps e Secrets
  • Ingress Controllers
  • Horizontal Pod Autoscaler
  • Monitoramento e Logging

🗄️ Bancos de Dados

🐘 PostgreSQL

Principal banco de dados relacional utilizado na maioria dos projetos.


🍃 MongoDB

Banco de dados NoSQL utilizado para casos específicos que exigem flexibilidade de schema.


⚡ Redis

Utilizado para cache, sessões e filas de mensagens.


🚀 DynamoDB

Banco de dados NoSQL da AWS utilizado em projetos que exigem alta escalabilidade.


📊 Monitoramento e Observabilidade

📈 New Relic

Application Performance Monitoring (APM).


🐕 DataDog

Plataforma de monitoramento e análise utilizada na Mercado Libre.


🔍 Kibana

Visualização de logs e métricas do Elasticsearch.


☁️ CloudWatch

Monitoramento de recursos AWS e métricas customizadas.


📊 Prometheus

Plataforma de monitoramento e métricas utilizada na Mercado Libre.


📊 Grafana

Plataforma de visualização de monitoramento e métricas utilizada na Mercado Libre.


🔄 Mensageria e Streaming

🚀 Apache Kafka

Plataforma de streaming para processamento de eventos em tempo real.

Uso:

  • Arquitetura orientada a eventos
  • Comunicação entre microserviços
  • Processamento de dados em tempo real
  • Filas de mensagens

🛠️ Ferramentas de Desenvolvimento

💻 IDEs

  • IntelliJ IDEA - IDE principal para desenvolvimento Java/Kotlin
  • GoLand - Para desenvolvimento Go
  • Visual Studio Code - Para desenvolvimento web e scripts
  • Android Studio - Para desenvolvimento Android

🔧 Ferramentas de Build

  • Maven - Gerenciamento de dependências Java
  • Gradle - Automação de build (Android e alguns projetos Java)
  • Go Modules - Gerenciamento de dependências Go

📝 Controle de Versão

  • Git - Controle de versão distribuído
  • GitHub - Hospedagem de repositórios
  • GitLab - CI/CD e repositórios corporativos

📚 Metodologias e Práticas

🧪 Testes

  • TDD (Test-Driven Development)
  • Testes Unitários (JUnit, Mockito, Go testing)
  • Testes de Integração
  • Testes Instrumentados (Android)

🏗️ Arquitetura

  • Arquitetura de Microserviços
  • Clean Architecture
  • Domain-Driven Design (DDD)
  • Event-Driven Architecture
  • APIs RESTful

🔄 DevOps

  • Pipelines CI/CD

“A melhor tecnologia é aquela que resolve o problema de forma simples e eficiente.”