---
El Hilo de Slack Que Provocó el Cambio
Todo comenzó en un hilo de Slack donde uno de nuestros ingenieros de backend expresó su frustración por una interacción con un nuevo empleado que afirmaba ser ingeniero de aprendizaje automático. "No entienden el proceso de implementación en absoluto", escribió, destacando una brecha que estaba afectando nuestro proyecto. Este momento dejó claro: necesitábamos reevaluar cómo contratamos ingenieros de aprendizaje automático y asegurarnos de que pudieran contribuir efectivamente a nuestro pipeline de implementación.
Contexto: Por Qué Esto Es Importante
La distinción entre ingenieros de aprendizaje automático y científicos de datos suele estar difusa, lo que lleva a desalineaciones en las expectativas de contratación. En nuestro caso, las apuestas eran altas; estábamos en medio de la implementación de una nueva funcionalidad que dependía en gran medida de robustos modelos de ML. Si nuestro nuevo empleado no podía manejar los aspectos operativos de ML, esto retrasaría nuestro cronograma e impactaría a nuestros usuarios. Necesitábamos claridad sobre qué habilidades estábamos buscando y cómo evaluarlas efectivamente durante las entrevistas.
El Problema en Detalle
Nuestro nuevo empleado tenía un fuerte entendimiento teórico del aprendizaje automático, pero carecía de experiencia práctica en la implementación de modelos. Por ejemplo, cuando se le encargó integrar un modelo en nuestra infraestructura existente, tuvo dificultades para manejar dependencias y versionado, lo que llevó a un tiempo de inactividad significativo. Esto no solo frustró al equipo, sino que también puso en peligro nuestros plazos del proyecto. Rápidamente nos dimos cuenta de que centrarnos únicamente en habilidades de modelado era insuficiente.
Lo Que Intentamos Primero
Inicialmente, intentamos refinar nuestras descripciones de trabajo para atraer candidatos con experiencia en implementación. Sin embargo, después de varias iteraciones, descubrimos que simplemente ajustar la redacción no cambiaba significativamente la calidad de los solicitantes. Seguíamos recibiendo una avalancha de candidatos que eran excelentes en teoría pero que fallaban en habilidades prácticas. Esto nos llevó a reconsiderar todo nuestro proceso de entrevistas, y a ir más allá de las preguntas de modelado tradicionales para evaluar la preparación en el mundo real.
El Enfoque Técnico
Decidimos implementar un proceso de entrevista en dos partes que se centrara tanto en el conocimiento teórico como en la aplicación práctica. La primera parte cubría conceptos básicos de ML, mientras que la segunda incluía una tarea de codificación práctica que simulaba un escenario de implementación. Por ejemplo, se pidió a los candidatos que escribieran un script simple para implementar un modelo preentrenado en una API simulada, demostrando su comprensión de los pipelines.
# Script de implementación de ejemplo
import joblib
from flask import Flask, request
app = Flask(__name__)
model = joblib.load('model.pkl')
@app.route('/predict', methods=['POST'])
def predict():
data = request.json
prediction = model.predict(data['input'])
return {'prediction': prediction.tolist()}
if __name__ == '__main__':
app.run(debug=True)
Este enfoque nos ayudó a identificar candidatos que no solo entendían la teoría de ML, sino que también podían navegar por el panorama de implementación, una habilidad crucial para nuestro equipo.
Lo Que Cambió en el Producto
Después de la implementación, nuestro proceso de contratación se alineó más con nuestras necesidades reales. Llenamos con éxito varias posiciones con candidatos que demostraron un fuerte equilibrio entre teoría y habilidades prácticas de implementación. Como resultado, vimos una mejora notable en la eficiencia de nuestros lanzamientos de características de ML. Esto impactó directamente en la satisfacción del usuario, ya que pudimos lanzar nuevas funcionalidades a tiempo sin los dolores de cabeza anteriores.
Lo Que Aprendimos
A través de este proceso, descubrimos varias ideas clave:
- Enfocarse en Habilidades Prácticas: Los candidatos deben demostrar experiencia práctica en implementación, no solo conocimiento teórico.
- Definiciones Claras de Roles: Delimitar correctamente los roles entre ingenieros de ML y científicos de datos ayuda a agilizar el proceso de contratación y establece expectativas claras.
- Iterar en los Procesos de Entrevista: Revisar y refinar regularmente nuestras metodologías de entrevista mantiene nuestras prácticas de contratación relevantes y efectivas.
- Valor de los Escenarios del Mundo Real: Incorporar desafíos del mundo real en las entrevistas ofrece una mejor comprensión de las capacidades prácticas de un candidato.
Lo Que Esto Significa para los Candidatos
Como candidato, entender la distinción entre ingeniería de aprendizaje automático y ciencia de datos es crucial. Si estás solicitando un puesto de ingeniería de ML, enfócate en mostrar tu experiencia en implementación y familiaridad con los pipelines. Prepárate para discutir escenarios prácticos durante las entrevistas, ya que valoramos las habilidades prácticas tanto como el conocimiento teórico.
Lo Que Esto Significa para los Reclutadores
Para los reclutadores, es esencial aclarar los requisitos del trabajo al buscar ingenieros de aprendizaje automático. Enfatiza la necesidad de que los candidatos tengan experiencia práctica con la implementación de modelos y pipelines. Esto ayudará a atraer el talento adecuado y reducir la posibilidad de desajustes en la contratación que puedan llevar a retrasos en los proyectos.
Siguientes Pasos
Mirando hacia adelante, planeamos monitorear continuamente nuestros resultados de contratación y recopilar comentarios de los nuevos empleados sobre el proceso de entrevista. También estamos explorando la posibilidad de crear una plataforma de evaluación estandarizada para candidatos potenciales para agilizar aún más nuestras evaluaciones. Si tuviéramos que rehacer algo, sería incluir sesiones de codificación colaborativa más temprano en el proceso para evaluar mejor la dinámica de trabajo en equipo. ---