Carlos Correa
Full-Stack Developer | Java, Spring Boot, Vue.js
Más de 6 años desarrollando sistemas backend escalables y interfaces frontend eficientes. Especializado en Java y arquitectura de aplicaciones robustas.
¿De dónde vengo?
Empecé en 2018 como junior de Java. No sabía casi nada. Trabajé en varios proyectos internos, luego en algunos más grandes. A lo largo de 6+ años, fui mejorando en backend, frontend, DevOps.
Ahora estoy en un lugar diferente:
- Explorando arquitecturas backend complejas: Caching con Redis, manejo de concurrencia con hilos, message queues (Kafka), optimización de performance. Sistemas que necesitan escalar sin perder consistencia.
- Profundizando en infraestructura: Más allá de Docker y CI/CD básico. Scaling, monitoring, deployment strategies, cómo viven realmente las apps en producción.
- Construyendo desde cero: Mi app de citas está en producción. Es mi espacio para aprender estas tecnologías complejas dentro de un contexto real y funcional.
Stack Tecnológico
🔧 Backend & Arquitectura
- Java 17+
- Spring Boot 3 / Spring Framework
- Spring Security (JWT, autenticación)
- Diseño de APIs REST
- Arquitectura en capas
- Gestión de errores y logging
- Integración con APIs externas
- Diseño de aplicaciones backend escalables
🎨 Frontend
- Vue.js 3
- JavaScript ES6+
- HTML5 semántico
- CSS3 moderno
- Vite
- Componentes reutilizables
- Responsive design
- UX/UI orientado a producto
⚙️ Infraestructura & DevOps
- Docker & Docker Compose
- Nginx (reverse proxy)
- Linux (Ubuntu / Debian)
- Despliegue de aplicaciones web
- CI/CD básico
- Configuración de servidores
- Optimización de rendimiento backend
- Monitorización básica
🗄️ Datos & Herramientas
- PostgreSQL
- MySQL
- Spring Data JPA
- Optimización de consultas SQL
- Maven
- Git & GitHub
- Testing (JUnit 5)
- Documentación técnica
Enfoque técnico
Análisis del problema
Entender profundamente requerimientos, restricciones técnicas y arquitectura esperada antes de escribir código.
Diseño arquitectónico
Aplicar patrones comprobados, SOLID principles, separación de responsabilidades. Código mantenible y escalable.
Implementación limpia
Código legible, bien documentado, testeable. Priorizando legibilidad para el equipo y para futuro mantenimiento.
Iteración continua
Entregas frecuentes, feedback regular, mejora incremental. No esperar meses antes de validar.