He consultado para más de 100 empresas en los últimos 3 años, y aquí están algunas de mis recomendaciones personales favoritas: (Te sorprendería cuántos desarrolladores fuera de la burbuja en línea necesitan ayuda.) 1. Algunos equipos no utilizan ningún sistema de control de versiones de código. Sé que esto es difícil de creer, pero tengo testigos. Honestamente, este no es común, pero lo he visto con mis propios ojos. 2. La cultura de pruebas es rara. Una forma fácil de mejorar lo que hace un equipo es enseñarles a escribir pruebas automatizadas de unidad e integración. 3. Las hojas de cálculo son la solución más popular que he visto en el campo. Por ejemplo, una de mis recomendaciones más comunes es usar MLFlow para rastrear experimentos y versionar modelos. 4. La mayoría de los equipos siempre quieren implementar la solución técnicamente correcta para un problema. He mejorado mucho en identificar soluciones que cumplen con muchas más restricciones (como presupuesto, cronograma, capacidad del equipo, percepción, etc.) A esto lo llamo "enmarcar el problema", y es de gran ayuda para las empresas. 5. Siempre recomiendo contenedores de desarrollo a aquellos equipos donde cada persona utiliza un sistema operativo diferente y tiene problemas con la configuración y la portabilidad. 6. Intenta escalar una aplicación sin dedicar tiempo a la observabilidad y la trazabilidad. La mayoría de las veces, esto es tan fácil como registrar la información correcta. A veces puedes dedicar tiempo a configurar las herramientas adecuadas para una observabilidad más seria. 7. En los sistemas de aprendizaje automático (el 90% de los proyectos con los que trato), la monitorización siempre es una reflexión tardía. He mejorado bastante en ayudar a los equipos a integrarse con Evidently AI. 8. Paso mucho tiempo ayudando a los equipos a construir flujos de trabajo de extremo a extremo, repetibles y automatizables con espacios en blanco que pueden completar más tarde. Por ejemplo, construir un pipeline de entrenamiento que comience con el procesamiento de datos y termine con el despliegue del modelo. Diferentes prácticas siempre surgen con diferentes equipos: • Cómo implementar CI/CD • Cómo versionar conjuntos de datos • Cómo saber qué significa "hecho" • Cómo gestionar secretos adecuadamente • Cómo gestionar configuraciones • Cómo configurar registros • Cómo probar en producción (pruebas a/b, despliegues en sombra, etc) • ... Las personas que trabajan para grandes empresas tecnológicas están años luz por delante de los demás, pero el mercado para este conocimiento fuera de las grandes tecnológicas es enorme.
Santiago
Santiago26 dic, 21:45
Conocí a un tipo que gana siete cifras cada año haciendo esto una y otra vez: • Se une al equipo de desarrollo durante una semana • Identifica de 3 a 5 mejoras potenciales para su proceso • Escribe una propuesta corta y concreta para cada mejora • Opcionalmente, ayuda al equipo a implementarlas • Documenta los resultados • Se va Lo tiene casi convertido en una ciencia: es un proceso repetible con algunas recomendaciones "básicas" que casi todos podrían usar. A la alta dirección le encanta. A los equipos les encanta. Te aburrirás como una ostra si escuchas su día a día, pero a él le encanta.
@kelvongx *muchos
1,91K