Tecnologías
Esta es una selección de tecnologías, frameworks, lenguajes y herramientas que uso (o he usado de forma sólida) para diseñar, construir, desplegar y mantener software.
Lenguajes
- TypeScript / JavaScript: Base para frontend moderno y algunas automatizaciones backend ligeras.
- Java: Núcleo de mi trabajo en aplicaciones, plugins y servicios robustos orientados a objetos.
- Kotlin: Productividad y claridad sobre la JVM en proyectos recientes.
- PHP: Aplicaciones web clásicas, APIs ligeras y mantenimiento de proyectos existentes; lo uso cuando la rapidez de entrega y simplicidad pesan más que una arquitectura más estructurada.
- SQL (PostgreSQL, MySQL/MariaDB, SQLite, Oracle): Diseño de esquemas, optimización de consultas, modelos relacionales, etc.
- Bash: Scripts de automatización, despliegues y mantenimiento de servidores.
Frontend / UI
- Vue.js + Quasar: Desarrollo de interfaces reactivas y multiplataforma.
- React + Electron: Aplicaciones web y de escritorio híbridas.
- Capacitor: Empaquetado móvil para apps web con acceso a funcionalidades nativas.
- Tailwind: Estilos consistentes y escalables de forma sencilla.
Backend / Servidores
- Spring Boot: Servicios REST, seguridad, validación e integración con bases de datos.
- Laravel: APIs y aplicaciones web; Eloquent, migraciones, colas, eventos, tareas programadas y autenticación.
- Spigot / BungeeCord: Extensión de servidores Minecraft mediante plugins personalizados.
Infraestructuras
- Docker: Servicios en contenedores y despliegues aislados.
- Linux (Debian, Ubuntu, Fedora, etc): Configuración, monitoreo y optimización de servidores.
- Git: Control de versiones basado en ramas, gestión de versiones y colaboración.
- CI/CD (GitHub Actions, Workers): Builds automatizados, tests y releases.
Bases de datos y almacenamiento
- PostgreSQL: Elección principal para backends seguros y modernos.
- MySQL / MariaDB: Principalmente para compatibilidad y proyectos archivados.
- SQLite: Para aplicaciones offline first.
Autenticación y Seguridad
- JWT: Autenticación stateless en APIs.
- Control de acceso por roles y validaciones de entrada (Bean validation, VeeValidate en frontend).
Tiempo real y comunicación
- WebSockets: Mensajería en tiempo real (chats internos, notificaciones).
- RabbitMQ y Apache Kafka: Mensajería asíncrona en aplicaciones.
- Eventos y colas ligeras: Alternativas simples (como Redis) cuando un broker completo sería sobre-ingeniería.
En general: WebSockets para interacción en vivo usuario ↔ aplicación, RabbitMQ para patrones de trabajo distribuido y control de entrega, Kafka para pipelines de datos y publicación/suscripción de alto throughput.
Calidad y Mantenibilidad
- Testing (JUnit, Cypress, etc): Pruebas unitarias y de integración en aplicaciones.
Otros
- Electron: Empaquetado de apps de escritorio.
- Capacitor: Empaquetado de apps multiplataforma.
- Automatizaciones Bash: Backups, despliegues, tareas de mantenimiento.
Si quieres contar con mi experiencia y habilidades en tu proyecto, no dudes en escribirme a través de la página Contacto.