Nunca olvidaré la primera vez que recibí una alerta de PagerDuty que me decía que las puntuaciones de los modelos no se devolvían correctamente en producción.
El pánico se apoderó de mí: acababa de realizar una implementación y mi mente comenzó a llenarse de preguntas:
- ¿Mi código causó un error?
- ¿El error está provocando una interrupción en el flujo descendente?
- ¿Qué parte del código podría estar arrojando errores?
Depurar sistemas en vivo es estresante y aprendí una lección fundamental: escribir código listo para producción es una bestia completamente diferente a escribir código que funcione en un Jupyter Notebook.
En 2020 di el salto de analista de datos a ingeniero de aprendizaje automático (MLE). Si bien ya dominaba SQL y Python, trabajar con sistemas de producción me obligó a mejorar mis habilidades.
Como analista, lo que más me importaba era que mi código se ejecutara y produjera el resultado correcto. Esta mentalidad ya no se traducía bien en ser un MLE.
Como MLE, rápidamente me di cuenta de que tenía que concentrarme en escribir código eficiente, limpio y fácil de mantener que funcionara en una base de código compartida.