Technologies
π οΈ Technical Stack
Throughout my career, I have developed expertise in various technologies and tools. Here’s an overview of the main technologies I master:
π» Programming Languages
β Java
Main language used in backend development, especially in enterprise projects and financial systems.
Frameworks and Libraries:
- Spring Boot
- Spring Security
- Spring Data JPA
- Micronaut
- JUnit
π― Kotlin
Used for both Android development and backend, especially in projects requiring interoperability with Java.
Applications:
- Native Android development
- REST APIs with Micronaut
- Microservices
- Automation scripts
πΉ Go (Golang)
Language currently used at Mercado Libre for developing high-performance services.
Features I appreciate:
- Exceptional performance
- Simplicity and clarity
- Excellent for microservices
- Native concurrency
π JavaScript/TypeScript
Used mainly for frontend development and some automation.
Related Technologies:
- React.js
- Node.js
- TypeScript
- HTML5/CSS3
ποΈ Backend Frameworks and Technologies
π Spring Boot
Main framework for developing REST APIs and microservices in Java.
Modules Used:
- Spring Web
- Spring Security
- Spring Data JPA
- Spring Cloud
- Spring Actuator
β‘ Micronaut
Modern framework for developing microservices with focus on performance and low memory consumption.
Advantages:
- Reduced startup time
- Low memory consumption
- Ahead-of-time compilation
- Compile-time dependency injection
π± Mobile Development
π€ Android
Development of native Android applications using Java and Kotlin.
Technologies:
- Android SDK
- Jetpack Components
- Room Database
- Retrofit
- Koin (Dependency Injection)
βοΈ Cloud Computing
βοΈ Amazon Web Services (AWS)
Experience with various AWS services for developing scalable solutions.
Services Used:
- Compute: EC2, Fargate
- Storage: S3, EBS
- Database: RDS, DynamoDB
- Messaging: SQS, SNS
- Monitoring: CloudWatch
- Security: Parameter Store, IAM
- DevOps: CodeDeploy, CodePipeline
- Container: ECR, ECS
π³ DevOps and Containerization
βοΈ GitHub Actions
CI/CD automation platform for building, testing, and deploying applications.
Usage:
- Automated testing on pull requests
- Continuous integration pipelines
- Automated deployment workflows
- Docker image building and publishing
- Multi-environment deployments
- Security scanning and code quality checks
π³ Docker
Application containerization for development, testing, and production.
Usage:
- Creating optimized images
- Docker Compose for local environments
- Multi-stage builds
- Layer optimization
β Kubernetes
Container orchestration in production environment.
Resources Used:
- Deployments and Services
- ConfigMaps and Secrets
- Ingress Controllers
- Horizontal Pod Autoscaler
- Monitoring and Logging
ποΈ Databases
π PostgreSQL
Main relational database used in most projects.
π MongoDB
NoSQL database used for specific cases requiring schema flexibility.
β‘ Redis
Used for cache, sessions, and message queues.
π DynamoDB
AWS NoSQL database used in projects requiring high scalability.
π Monitoring and Observability
π New Relic
Application Performance Monitoring (APM).
π DataDog
Monitoring and analytics platform used at Mercado Libre.
π Kibana
Elasticsearch logs and metrics visualization.
βοΈ CloudWatch
AWS resource monitoring and custom metrics.
π Prometheus
Monitoring and metrics platform used at Mercado Libre.
π Grafana
Monitoring and metrics visualization platform used at Mercado Libre.
π Messaging and Streaming
π Apache Kafka
Streaming platform for real-time event processing.
Usage:
- Event-driven architecture
- Microservices communication
- Real-time data processing
- Message queuing
π οΈ Development Tools
π» IDEs
- IntelliJ IDEA - Main IDE for Java/Kotlin development
- GoLand - For Go development
- Visual Studio Code - For web development and scripts
- Android Studio - For Android development
π§ Build Tools
- Maven - Java dependency management
- Gradle - Build automation (Android and some Java projects)
- Go Modules - Go dependency management
π Version Control
- Git - Distributed version control
- GitHub - Repository hosting
- GitLab - CI/CD and corporate repositories
π Methodologies and Practices
π§ͺ Testing
- TDD (Test-Driven Development)
- Unit Testing (JUnit, Mockito, Go testing)
- Integration Testing
- Instrumented Testing (Android)
ποΈ Architecture
- Microservices Architecture
- Clean Architecture
- Domain-Driven Design (DDD)
- Event-Driven Architecture
- RESTful APIs
π DevOps
- CI/CD Pipelines
“The best technology is the one that solves the problem simply and efficiently.”