Backend & Systems Engineer

Iván Ezequiel Rodriguez

Diseño backends y sistemas concurrentes: arquitectura, escalado y una UX clara, con base en software de bajo nivel. Contractor en España para clientes de seguridad y energía.

Experiencia

Desarrollador fullstack

Wise Security

2026 — Presente · España

Python Django CaixaBank España
  • Desarrollo y mantenimiento de aplicaciones de gestión de seguridad para el mercado español.
  • Escalado de sistemas y servicios en producción con cliente final CaixaBank.
  • Diseño de interfaces y flujos UX/UI para herramientas internas de seguridad.

Contractor backend

Quintas Energy

Mar 2025 — 2026 · España

C# .NET 8 SQL Server React Energía
  • Mantenimiento y escalado de microservicios en C# / .NET 8 para infraestructura energética.
  • APIs REST de gestión de riesgos, refactor de servicios legacy y nuevos módulos en arquitectura de microservicios.
  • Optimización de SQL Server, testing e integración; componentes React para la experiencia de usuario.
  • Colaboración en arquitectura cloud e integración con sistemas internos.

Desarrollador fullstack freelance

Feb 2023 — Presente

ASP.NET React Azure Docker
  • Software a medida — backend, sistemas y UX/UI — para clientes particulares.
  • Aplicaciones web full-stack con ASP.NET Core, React y bases SQL/NoSQL.
  • Soluciones para energía y fintech; pipelines CI/CD con Azure DevOps y Docker.
  • Ciclo completo: análisis, desarrollo, testing, despliegue y soporte.

Open source

Actividad paralela en sistemas de bajo nivel. No es el eje profesional; complementa el trabajo de backend.

linux / ntsync

LKML Docs Selftests

ntsync: selftests y alineación de la uAPI

Serie que alinea Documentation/userspace-api/ntsync.rst con include/uapi/linux/ntsync.h: nombres de ioctl y orden de campos. Incluye un selftest para esperas MONOTONIC absolutas bajo time namespaces — un offset negativo no puede hacer que un wait de 100 ms vuelva de inmediato.

lore patchew 20260720.44338

linux / input

LKML Security

Input: divulgación de stack vía ioctl

Dos paths en el input layer copian un buffer corto a una estructura en stack sin inicializar y después devuelven el resto. EVIOCSABS deja bytes de input_absinfo sin tocar; el path compat de force feedback hace lo mismo con la cola de ff_effect. Ambos se cierran poniendo a cero la estructura antes del copy.

lore lkml 20260901.24078

linux / docs

LKML Docs ABI

docs/abi: documentación alineada con la implementación

Alineación de docs y ABI contra v7.3-rc1: errno de futex2, Landlock, padding de GPIO lineinfo, nombre del heap CMA, vduse e ioctl-number. El último parche hace que GPIO v2 devuelva -EOPNOTSUPP cuando se pide EVENT_CLOCK_HTE y no hay provider.

lore patchew 20260831.151360

gnu / coreutils

GNU Coreutils

truncate: no colgar con FIFO --reference

Cuando st_size no sirve, truncate abre el operando --reference y usa lseek(SEEK_END). Un FIFO sin escritor con O_RDONLY bloqueaba para siempre. El parche abre con O_NONBLOCK, como el archivo de salida y como df. Empujado a coreutils.

gnu / coreutils

GNU Coreutils

cut: acelerar -w en locales UTF-8

En UTF-8, cut -w iba por el path lento cut_fields_mb_any. La v1 con memchr2 era cuadrática en el número de campos; la v2 hace un solo pase lineal (SP/TAB por byte, c32issep para blanks multibyte). Enviado a bug-coreutils.

lista debbugs #81620

gnu / coreutils

GNU Coreutils

tail: hash de eventos de directorio en follow-by-name

tail -F en Follow_name hacía un scan O(N) por evento inotify de directorio. La v2 indexa con una tabla hash por (watch descriptor del padre, basename) y evita ese barrido cuando se siguen muchos archivos por nombre. Enviado a bug-coreutils.

lista debbugs #81760

gnu / coreutils

GNU Coreutils

join,uniq: plegar letras multibyte con -i

join -i y uniq -i usaban memcasecmp, que solo pliega ASCII, así que en UTF-8 É y é no coincidían. El parche compara c32tolower por carácter mcel — folding de codepoint, no mapeo Unicode completo (ß y SS siguen distintos). Enviado a bug-coreutils.

lista debbugs #81762

freebsd / procstat

FreeBSD ntsync

procstat: reportar descriptores ntsync en procstat -f

El driver ntsync(4) ya rellena kinfo_file con KF_TYPE_NTSYNC, pero libprocstat y procstat lo trataban como desconocido. El parche mapea el tipo y muestra estado sem/mutex/event en la columna NAME. Enviado a freebsd-src.

osdev / ir0

Kernel C x86-64 ARM

IR0 — kernel monolítico UNIX-like

Kernel propio: x86-64 como ISA primaria (Multiboot/GRUB, ELF64, ring 0/3) y ARM como ISA secundaria — marcos de syscall AAPCS64, ELF EM_AARCH64 y TLS en TPIDR_EL0. El userland ARM no está a paridad con x86. Laboratorio de concurrencia y diseño de sistemas, con userland ISD (BusyBox, login, imagen de disco).

Proyectos

Sistemas, daemons y herramientas. C, C++ y Assembly.

CV

¿Cómo querés verlo?