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.

Experiencia

6+ años desarrollando

Proyectos

1 Proyecto en producción

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

1

Análisis del problema

Entender profundamente requerimientos, restricciones técnicas y arquitectura esperada antes de escribir código.

2

Diseño arquitectónico

Aplicar patrones comprobados, SOLID principles, separación de responsabilidades. Código mantenible y escalable.

3

Implementación limpia

Código legible, bien documentado, testeable. Priorizando legibilidad para el equipo y para futuro mantenimiento.

4

Iteración continua

Entregas frecuentes, feedback regular, mejora incremental. No esperar meses antes de validar.