Skip to content
View mdev-repos's full-sized avatar
💡
Always on the run 🔥
💡
Always on the run 🔥

Block or report mdev-repos

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mdev-repos/README.md
</> MDEV
Typing SVG

👋 ¡Hola! Soy Matías


🔍 Acerca de mí

Soy desarrollador de software y mi trabajo se reparte entre dos mundos que rara vez se cruzan. Por un lado hago backend con Java y Spring Boot, el ecosistema donde más horas de práctica acumulo. Por el otro trabajo con Mainframe y COBOL, una plataforma que sostiene buena parte de los sistemas críticos de bancos y grandes empresas y en la que cada vez hay menos gente que la conozca. Estoy terminando la Tecnicatura en Desarrollo de Software, me quedan cinco materias, y en paralelo sigo mi propio roadmap de especialización en backend, que incluye microservicios con Spring Cloud, seguridad con Spring Security, testing y Spring AI.

Cuando arranco un proyecto de la carrera no empiezo por el código. Primero relevo los requerimientos, modelo los procesos con diagramas de flujo de datos, escribo los casos de uso y diseño la base de datos, y recién ahí abro el editor. Me importa mucho ese camino previo porque es lo que permite entender qué hay que construir y por qué, y en un perfil con mi experiencia no suele verse, ya que lo habitual es empezar directamente por el desarrollo. Los proyectos de este perfil muestran ese recorrido completo, desde el análisis hasta el sistema funcionando.

Mi formación en Mainframe IBM la hice en CODEKI | UBA, durante siete meses de trabajo intensivo junto a profesionales del rubro, programando en COBOL, JCL, DB2 y CICS sobre mainframes reales disponibles las veinticuatro horas. Además me mantengo al día con las capacitaciones y certificaciones que ofrece IBM, lo que me permite seguir practicando sobre estas tecnologías tan robustas. Haber trabajado en las dos veredas, la de los sistemas modernos y la de los transaccionales de toda la vida, me ayuda a entender mejor cómo piensa cada una y de qué manera se conectan entre sí.

Todavía no tengo experiencia laboral formal, así que lo que puedo mostrar es trabajo concreto. Eso incluye proyectos propios documentados de punta a punta, con análisis, diseño, código, tests y despliegue, además de algunos desarrollos freelance para terceros. Estoy buscando mi primera oportunidad en desarrollo y me interesan por igual los equipos de Java y los de Mainframe.


🔥 Stack

[ Backend ] [ Java ]



[ Mainframe ] [ IBM ]

[ Análisis y diseño ]

[ Herramientas y despliegue ]


🧩 Otras tecnologías



🚀 Proyectos en Desarrollo

GymApp se encuentra en desarrollo. Va a ser mi primera aplicación personal real pensada para llegar a producción y uso público: no es un ejercicio de práctica ni un trabajo freelance.

GymApp

API REST para una aplicación multiplataforma (web y mobile) pensada para organizar y ejecutar macrociclos y mesociclos de entrenamiento en el gimnasio. Stack: Java + Spring Boot + PostgreSQL, con la seguridad a cargo de Spring Security. Todavía sin repositorio público: se abre cuando tenga una primera versión desplegable.


NodoBank se encuentra en desarrollo. Es la adaptación a un dominio propio del proyecto final del curso Microservicios con Spring Cloud (TodoCode Academy), elegido a propósito por lo exigente: el dominio financiero obliga a pensar en integridad de datos, concurrencia y trazabilidad. Con él demuestro el stack que domino y mis prácticas de análisis y desarrollo.

NodoBank

Core bancario simplificado: administración de cuentas, transacciones (depósitos, retiros y transferencias) y notificación por email de cada operación confirmada. Construido como monorepo de microservicios con Java 25 + Spring Boot 4 + Spring Cloud + MySQL; la seguridad con Spring Security + JWT es el próximo hito.

  • Ya implementado: Eureka Server (service discovery), Config Server (configuración centralizada) y accounts-sv, con arquitectura en capas, DTOs + Mapper, manejo centralizado de excepciones (ProblemDetail) y optimistic locking para proteger el saldo ante operaciones concurrentes.
  • En camino:
    • Seguridad stateless con Spring Security: un auth-sv para usuarios, roles y contraseñas encriptadas (BCrypt) que emite el JWT (JJWT), con el API Gateway como único punto de validación del token y autorización por roles (CUSTOMER / ADMIN) con @PreAuthorize en los servicios.
    • transactions-sv: depósitos, retiros y transferencias, comunicándose con accounts-sv vía Feign con Circuit Breaker y Retry (Resilience4j).
    • notifications-sv (Spring Mail + Thymeleaf), API Gateway, Dockerización completa y tests.

🖥️ Mainframe

Mi formación práctica en IBM z/OS: COBOL, JCL, DB2 y CICS.

CODEKI | UBA

Repo

7 meses de formación práctica intensiva con CODEKI | UBA, trabajando contra mainframes reales (TSO/ISPF sobre terminal 3270). El repositorio reúne 23 programas en tres etapas: COBOL batch (cortes de control, apareo de archivos, tablas, VSAM/QSAM y reportes), COBOL + DB2 (SQL embebido, cursores, INSERT/UPDATE) y transacciones CICS (mapas BMS, COMMAREA, menús), con sus JCL, copybooks y capturas del entorno.


💼 Proyectos Destacados

Serie de proyectos que demuestran mis habilidades técnicas y blandas para el desarrollo de software de calidad.

CampusGate se encuentra en desarrollo. Es el proyecto con el que consolido Spring Security: lo construyo paso a paso con las prácticas actuales (Spring Boot 4 y Spring Security 7) y no con el código que trae el curso, dejando documentada cada decisión de diseño.

CampusGate

API REST de una plataforma educativa (alumnos, profesores y cursos) con seguridad stateless: usuarios, roles y permisos modelados desde cero, autenticación con JWT y, más adelante, login social con OAuth2. Construida con Java 25 + Spring Boot 4 + Spring Security 7 + MySQL.

  • Ya implementado: modelo de seguridad (permisos y roles como enums, usuarios con flags de cuenta), UserDetailsService, emisión y validación de JWT con Nimbus (resource server nativo de Spring), cadena de filtros stateless con deny by default y respuestas 401 y 403 en formato ProblemDetail.
  • En camino:
    • Login con AuthenticationManager y primer administrador creado por seed (idempotente y con fail fast si falta configuración).
    • CRUD protegido con @PreAuthorize por permiso y reglas de pertenencia (un profesor edita solo sus cursos).
    • Firma asimétrica (RS256 + JWKS), refresh tokens y login social con OAuth2.
    • Dockerización y tests.

Nativo

Repo Equipo

Simulación laboral con Igrowker (España): billetera digital para inclusión financiera rural, con pagos por QR, microcréditos entre pares y donaciones. Mi segunda experiencia colaborativa, en un equipo grande con roles definidos (UX/UI, Frontend, Backend, QA) y trabajo bajo SCRUM y Kanban. Mi aporte: el módulo de pagos con QR, con la generación del código (ZXing) y el ciclo completo del pago: QR válido por 10 minutos, validación de fondos y actualización de saldos. El repo incluye tests unitarios y de integración con Testcontainers.


ECO Sistema

Repo

Simulación laboral de Semillero LATAM (Quinto Impacto, Mendoza): plataforma que conecta proveedores con impacto ambiental positivo con consumidores. Mi primera experiencia de desarrollo colaborativo, bajo SCRUM y Trello, donde terminé ejerciendo como referente informal del equipo de backend. Mi aporte: el sistema de emails semanales automáticos para administradores y proveedores (Spring Mail + Thymeleaf), que investigué e implementé a partir de la documentación. Stack: Java, Spring Boot, MariaDB, JWT y Google OAuth2.


Clínica SePrise App

Repo

Sistema de gestión de consultorios médicos (turnos, historia clínica, insumos y liquidación de honorarios) en C#/.NET, desarrollado junto a un compañero tras un ciclo completo de análisis y diseño. En el desarrollo: arquitectura en capas (Entidades / Repository / Service / Vistas), dos roles con su propio dashboard, reglas de negocio por especialidad, máquina de estados de turnos y comprobantes en PDF. Persistencia simulada en memoria (el README explica por qué).


📚 Proyectos Formativos

Bazar

Repo API Live Front Demo

API REST para la gestión de ventas de un bazar: productos, clientes y ventas relacionados entre sí, con reportes de negocio (bajo stock, monto vendido por fecha, venta más alta). Parte de un ejercicio práctico de TodoCode Academy que llevé más lejos de lo pedido: el modelado agrega una entidad SaleItem no pedida por la consigna, necesaria para resolver correctamente la relación muchos-a-muchos entre venta y producto con datos propios (cantidad, precio unitario, subtotal).

Construido con Java 25 + Spring Boot 4, arquitectura en capas (Controller → Service → Repository) con DTOs + Mapper, manejo centralizado de excepciones (ProblemDetail / RFC 7807), y refactor completo a programación funcional (Streams). Dockerizado (Dockerfile + docker-compose.yml) y deployado de punta a punta: backend en Render, base de datos en Neon (PostgreSQL), front propio consumiéndolo en vivo desde GitHub Pages.


Ferretería API

Repo

API REST de gestión de una ferretería (prueba técnica de TodoCode Academy) con Spring Boot, JPA, DTOs y manejo centralizado de errores (ProblemDetail), dockerizada para correrla en local con Docker Compose (el README del repositorio explica cómo levantarla). Es la antecesora de Bazar, que retoma la idea con un modelo mucho más complejo. Ya no está desplegada: Bazar la supera y es el que mantiene el despliegue de punta a punta.


Club Deportivo Mobile

Repo

Migración a Android (Kotlin) del sistema de escritorio, repensada para uso mobile: base SQLite local, navegación por Activities y diseño previo en Figma, pantalla por pantalla.


Club Deportivo Desktop

Repo

Sistema de gestión de un club deportivo (socios, cuotas y actividades) en C#/.NET con MySQL y Stored Procedures, con análisis UML completo, comprobantes en PDF y manual de usuario.


📊 Actividad

GitHub Streak



🤝 Contacto


🔎 Buscando oportunidades como Desarrollador COBOL Mainframe | Backend Java — primer empleo formal en desarrollo.

Pinned Loading

  1. api_bazar__ejercicio_curso_todocode api_bazar__ejercicio_curso_todocode Public

    API REST en Spring Boot para gestión de ventas de un bazar, con arquitectura en capas, Docker y deploy en Render. Ejercicio práctico Academia TodoCode

    Java

  2. formacion_desarrollador_cobol_mainframe__codeki_uba formacion_desarrollador_cobol_mainframe__codeki_uba Public

    Formación práctica en COBOL Mainframe (CODEKI | UBA): +23 programas batch, DB2 y CICS sobre IBM z/OS.

    COBOL 8 1

  3. api_nativo_banco_rural__proyecto_igrowker api_nativo_banco_rural__proyecto_igrowker Public

    Forked from IgrowkerTraining/i003-nativo-back

    Nativo es una billetera digital pensada para la inclusión financiera de comunidades rurales. Proyecto construido de forma colaborativa durante mi participacion en la simulacion de Igrowker (España).

    Java

  4. desktop_app_clinica_seprise__proyecto_tecnicatura desktop_app_clinica_seprise__proyecto_tecnicatura Public

    Sistema de gestión de consultorios médicos: turnos, historia clínica, insumos y liquidación de honorarios. Análisis completo (DFD, DER, casos de uso) y diseño en Figma.

    C#

  5. api_ecosistema__proyecto_semillero_latam api_ecosistema__proyecto_semillero_latam Public

    Plataforma que conecta proveedores con impacto ambiental positivo con consumidores. Simulación laboral en Semillero LATAM (Quinto Impacto).

    Java 1

  6. mobile_app_club_deportivo__proyecto_tecnicatura mobile_app_club_deportivo__proyecto_tecnicatura Public

    Migración a Android del sistema de gestión de club deportivo, repensado para uso mobile-first con SQLite local.

    Kotlin