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.”