SOBRE MÍINGENIERÍA

Construyo sistemas entendiendo lo que realmente necesitan.

Soy Backend Engineer especializado en C#/.NET. Me interesa entender el problema, el sistema y el contexto detrás de una decisión técnica antes de decidir cómo implementarla.

Un backend engineer al que le gusta entender el sistema completo.

Mi principal experiencia está en el desarrollo backend, particularmente con C# y .NET. Con el tiempo, mi trabajo me ha llevado más allá de implementar funcionalidades individuales y hacia arquitectura, datos, sistemas distribuidos, rendimiento y evolución de software existente.

Disfruto trabajar en problemas donde la respuesta no es inmediatamente evidente. Entender cómo funciona un sistema, por qué se tomó una decisión, qué restricciones existen y qué podría suceder después es una parte del trabajo que considero especialmente valiosa.

Puedo trabajar con tecnologías fuera de mi stack principal cuando el problema lo requiere. No espero que todos los sistemas utilicen la tecnología que mejor conozco; me importa más entender suficientemente bien el problema para tomar una decisión técnica sólida.

Intento resolver el problema correcto, no solamente el solicitado.

Un requerimiento técnico normalmente es solo una parte del problema. Antes de implementarlo, quiero entender el contexto que lo rodea.

01

Entender el contexto

¿Qué intenta lograr el sistema? ¿Quién depende de él? ¿Qué existe actualmente? Entender estas preguntas ayuda a revelar restricciones que no siempre son visibles en el requerimiento inicial.

02

Cuestionar la solución obvia

La primera solución no necesariamente es la mejor. Cuando existen alternativas relevantes, prefiero entender sus trade-offs antes de decidir cómo proceder.

03

Mantener la complejidad intencional

La complejidad debe resolver un problema real. Prefiero diseños simples cuando son suficientes e introducir mecanismos adicionales únicamente cuando el sistema realmente los necesita.

04

Pensar más allá del cambio

Una solución no solo debe funcionar hoy. También considero cómo afectará futuros cambios, rendimiento, mantenimiento y la evolución del sistema.

PRINCIPIO DE INGENIERÍAEntender primero. Decidir deliberadamente. Construir pensando en lo que sigue.

Prefiero entender, investigar y después construir.

Mi enfoque cambia dependiendo del problema, pero normalmente sigo un proceso sencillo: entender lo que existe, identificar qué necesita realmente cambiar y realizar el cambio sólido más pequeño que permita avanzar al sistema.

01

Entender

Primero intento entender el sistema, el contexto del negocio, el comportamiento existente y las restricciones alrededor del problema.

02

Investigar

Cuando algo no está claro o está fallando, sigo el comportamiento a través del código, los datos y las interacciones relevantes en lugar de asumir dónde está el problema.

03

Diseñar

Considero las opciones disponibles, sus trade-offs y cómo encaja el cambio dentro del sistema existente antes de elegir una implementación.

04

Validar

Después de realizar un cambio, verifico que el problema original realmente haya sido resuelto y que el cambio no haya introducido problemas en otras partes.

PRINCIPIO DE INGENIERÍA

Entender el problema.
Tomar la decisión.
Construir lo que sigue.