¿Las entrevistas con científicos de datos también deberían incluir preguntas de codificación como entrevistas de ingeniería de software?

Sí, pero debe esperar resultados diferentes.

En mi humilde opinión, la cantidad de habilidades informáticas que conoces es la diferencia entre un muy buen científico de datos y un muy buen analista de datos ( estadístico).

Los científicos e ingenieros de datos hacen cosas diferentes

Para que un científico de datos tenga éxito, necesita poder ejecutar el flujo de trabajo completo de un científico de datos. Debe obtener sus datos (de las bases de datos), debe poder explorar , visualizar y transformar sus datos de manera rápida y flexible (escribiendo scripts y funciones). Debe poder modelar los datos (construyendo modelos simples o complejos, ingeniería de características, métricas de rendimiento informático).

Por lo tanto, los científicos de datos deben codificar para hacer bien su trabajo. Pero no se debe esperar que pasen necesariamente una entrevista estándar de ingeniería de software con gran éxito. Eso es detectar las habilidades equivocadas. Los DS no necesitan poder escribir código de producción optimizado de manera súper eficiente; es por eso que tienen ingenieros (a veces esas personas son ingenieros de aprendizaje automático , vea: ¿Cuál es la diferencia entre el Científico de datos y el Ingeniero de aprendizaje automático? Y ¿Cuál es la diferencia entre un ingeniero de aprendizaje automático y científico de datos en Quora?).

Los científicos de datos solo necesitan poder obtenerlos. Mierda. hecho.

(lo que requiere aprovechar programas informáticos escritos personalizados).

La mayor parte del código que escribe como DS es solo para usted; nadie más puede verlo. En esos escenarios, deberíamos estar optimizando la velocidad de ejecución y el éxito personal (en cualquier forma que sea), no minimizando la deuda tecnológica a largo plazo de la organización o construyendo implementaciones súper elegantes que nunca se romperán.

Del gran artículo Los ingenieros no deberían escribir ETL por Jeff Magnusson:

Una consecuencia de empoderar a los científicos de datos para asumir tal amplitud de pila es que es poco probable que produzcan código y soluciones que sean tan técnicamente eficientes como las de un ingeniero. Estamos sacrificando la eficiencia técnica por la velocidad y la autonomía. Es importante reconocer esto como un intercambio deliberado.

Para que DS sea efectivo, necesitan poder escribir código, pero por diferentes razones que por qué los ingenieros de software necesitan poder escribir código. Por lo tanto, recomiendo probarlos de manera diferente, o al menos esperar resultados diferentes.

Sí, pero ser un codificador excepcional no debería ser un requisito para un rol de científico de datos.

Así es como creo que se descompone y cómo evalúo a los candidatos cuando contrato:

  • Un buen científico de datos debe tener habilidades básicas en las siguientes dimensiones técnicas. Tenga en cuenta que debido a que la pregunta se centra en la codificación, no he discutido las dimensiones no técnicas igualmente importantes como el sentido para el producto / negocio, la capacidad de centrarse en las preguntas correctas, la creatividad con los datos, la comunicación de los resultados.
  • Teoría matemática / de probabilidad / estadística: es difícil ser un científico de datos sólido sin fundamentos teóricos sólidos . La ciencia de datos implica una gran cantidad de depuración y si no tiene fundamentos sólidos, se quedará atascado mucho más. ¿Cuándo utiliza la regularización L1 / L2 / Elastic-net? ¿Qué causa la desaparición / explosión de gradientes cuando se utiliza el descenso de gradiente estocástico? ¿Cómo y cuándo desea ajustar el parámetro de velocidad de aprendizaje? ¿Cómo preprocesar datos para diferentes algoritmos?
  • Habilidades de ingeniería de software: esto me dice que pueden ser autosuficientes y, con orientación, tienen el potencial de ser excelentes. Obviamente, esto va más allá de los algoritmos, las estructuras de datos y la fluidez de codificación. Tener un sentido para el procesamiento de datos, munging, almacenamiento, cálculo de características, cálculo de modelos, programación de trabajos por lotes para actualizar datos de capacitación, pruebas, modelos de capacitación, implementación / servicio de modelos, desafíos de escala, tecnologías existentes para lo anterior, etc. son todos súper valiosos.
  • Un gran científico de datos indexará alto en al menos una de las dimensiones anteriores. Esto me dice que serán autosuficientes y productivos de inmediato.
  • Alguien que sea excelente en ambas dimensiones sería un excelente científico de datos.
  • La clave para los candidatos es identificar qué dimensión valora más una empresa: algunas empresas necesitan ingenieros de software más fuertes que entiendan la ciencia de datos / ML, mientras que otras requieren científicos de datos fundamentales de matemática / probabilidad más fuertes. Depende en gran medida de la empresa y es difícil saber desde el exterior lo que se desea.

    Una forma de evitar esto es usar HiDimensional. (Divulgación completa: soy cofundador). Es una plataforma de respaldo que une a los candidatos con personas mayores en la industria para una entrevista técnica. El propósito de la entrevista es comprender cuáles son las fortalezas de cada candidato y recomendar las mejores para los tipos de roles donde encajarán bien.

    También soy uno de los entrevistadores, y también muchos ingenieros de aprendizaje automático realmente fuertes, incluidos ingenieros superiores de Google, Facebook, Netflix, etc. Por ejemplo: Vladimir Novakovski (comenzó y dirigió el equipo de aprendizaje automático de Quora) es un entrevistador en la plataforma . No hace falta decir que un respaldo de Vlad abre muchas oportunidades para cualquier candidato. También compartimos comentarios directamente con los candidatos sobre cómo pueden mejorar.

    HiDimensional luego refiere a los candidatos respaldados a compañías donde esas fortalezas coinciden. Podemos hacer esta correspondencia debido a los datos que hemos recopilado de cada empresa, incluidas las preguntas que hacen, las entrevistas con los gerentes de contratación y los fundadores, y los datos sobre el desempeño de los candidatos anteriores en cada empresa.

    No me he entrevistado para un puesto de científico de datos, pero imagino que una buena entrevista compone temas de gestión, capacidad de programación, novedad técnica, revisión de la educación y habilidades reclamadas en el currículum y orientación para el negocio. Esto significa que la habilidad de codificación tiene un propósito útil. Ambos identifican la capacidad del solicitante para resolver un problema y también su actitud ante los problemas comerciales. Tiene sentido que si alguien reclama una capacidad de programación en varios idiomas, puede escribir código no trivial para resolver el problema. Como mínimo, deberían poder escribir el algoritmo en la pizarra. Como prueba de último año, las preguntas sobre el código que involucra bibliotecas estándar o los recursos que usa el equipo, muestran qué tan bien preparado está el candidato para la transición al empleo.

    Ellas hacen.

    No soy un científico de datos, así que hablaré con el aprendizaje automático.

    Ingeniero de aprendizaje automático … el término que está ganando terreno para las personas que crean modelos en Python y los implementan en la producción.

    Esto es lo que parece que las empresas están buscando en este momento.

    1. Habilidades sólidas en SQL
    2. Python: construcción de modelos
    3. Python: lucha de datos
    4. Python: aprendizaje profundo (kears)
    5. Python: TensorFlow
    6. Scala o chispa

    La lista anterior es un juego justo en la mayoría de las entrevistas y si la compañía tiene alguna idea de lo que un ingeniero de aprendizaje automático hará todo el día, el número 3 debería ser la mayor parte de la entrevista.

    Podría ser el mejor modelador del mundo, pero si no puede llevar sus datos a un estado que pueda modelarse, entonces es bastante inútil.

    Curso GRATUITO a continuación sobre Python y algunas bibliotecas de ML.

    Las 5 mejores bibliotecas de aprendizaje automático en Python – Udemy

    Si

    Así es como se encuentran científicos de datos que realmente valen la pena contratar. El mercado para las personas que no pueden pasar esto está saturado; El mercado es estrecho para aquellos que pueden pasar.

    Un científico de datos debería poder

    1. Escribe una función que haga una tarea simple
    2. Piense en formas en que el usuario podría romper la función
    3. Verifique que los casos límite se manejen adecuadamente tanto para errores como para errores
    4. Describir las pruebas unitarias que serían apropiadas.
    5. Hable acerca de la complejidad en tiempo de ejecución del algoritmo en notación big-O [1]

    Notas al pie

    [1] Notación O grande – Wikipedia

    Si.

    Hay demasiadas personas que saben hablar bien, pero las colocan frente a una computadora y de repente se callan. Sospecho que lo que sucedió es que estas personas han estado en un equipo con otras personas competentes y el equipo ha producido buenos resultados. Han afirmado que pueden hacer esto en su CV cuando la realidad es que solo pueden hacerlo si sus compañeros de equipo los ayudan.

    He tenido personas que dicen por adelantado que son gerentes de ideas y que no pueden codificar. Estoy de acuerdo con eso, aunque significa dedicar un codificador a ayudarlos para que el caso comercial sea mucho más difícil de hacer. Sin embargo, si alguien afirma que puede producir decisiones basadas en datos, entonces espero que puedan hacerlo frente a mí.

    Mi prueba normal es dar un problema real que el equipo resolvió hace aproximadamente un año y simplemente dejarlos ir. Estoy probando algunas cosas:

    1. El problema está poco especificado. Algunas personas no harán preguntas si se atascan. Estoy buscando un jugador de equipo, no un superhéroe.
    2. El problema involucra la limpieza de datos, transformaciones, (superficialmente) entender un datamart existente, modelar, perfilar y producir un informe. Alguien que solo pueda hacer algunas de estas tareas tendrá problemas. Nuevamente, no tengo ningún problema si alguien dice que no puede cargar un archivo porque siempre ha tenido archivos cargados, pero quiero saber su nivel de habilidad.
    3. La tarea debería tomar alrededor de dos horas. He tenido entrevistas en las que después de cuatro horas la persona todavía está atrapada y se niega a recibir ayuda. Estoy tratando de obtener ganancias aquí: el personal debe ser rápido, no solo haber pasado un par de días leyendo sobre esto en un libro.

    Siempre pensé que mi examen era bastante fácil, pero lo hice en el pasado y tuve dieciocho personas seguidas que fallaron, hasta el punto que el reclutador comenzó a hablar de no enviar más candidatos.

    El objetivo de la prueba es demostrar un nivel básico de competencia técnica para poder marcar esa casilla y pasar al ajuste cultural y otras habilidades que personalmente encuentro mucho más difíciles de entrevistar. Hice que alguien pasara la prueba en menos de una hora y luego se enojara porque no consiguieron el trabajo.

    He pensado en crear una prueba graduada más sofisticada para juzgar el nivel de cada candidato en diferentes habilidades, pero nunca he comprometido el tiempo.

    More Interesting

    Cómo enfrentar una entrevista de SSB

    Recientemente comencé a prepararme para la entrevista de Google, ¿puede sugerirme algunos recursos gratuitos en línea?

    ¿Cuál es la mejor respuesta a 'por qué no conseguiste trabajo hasta ahora' en una entrevista de trabajo?

    ¿Cuáles son las preguntas más frecuentes y los temas cubiertos en la posición de pasante / a tiempo completo de ingeniero de datos?

    ¿Cuáles son algunos consejos valiosos para alguien que asiste a una entrevista de TCS?

    ¿Alguien me diría si puedo aplicar a SDE-1 y no a SDE-2 o hay alguna política en Microsoft, Amazon que con alta experiencia (5 años), uno no puede solicitar la publicación de SDE-1 sino SDE-2? ¿solamente?

    ¿Qué preguntas de entrevista debo esperar para un puesto de desarrollador de Drupal, centrado en la versión 8?

    ¿Cuál debería ser la respuesta a la pregunta "Se deben aumentar las ventas de máquinas expendedoras Nescafé, qué pasos se deben tomar"?

    ¿Cuáles son algunas preguntas comunes que se hacen en las entrevistas de colocación mecánica?

    ¿Cuáles son las preguntas de la entrevista para el puesto de consultores de SAP HANA en buenas multinacionales?

    ¿Es legal que los candidatos a entrevistas académicas enseñen clases reales?

    ¿Es una buena idea reconocer mi propia debilidad durante una entrevista de trabajo?

    Cómo reducir el miedo al enfrentar una entrevista

    ¿Cuál es la intención del IO cuando le preguntan a cualquier candidato sobre las cualidades negativas de sus amigos durante la SSB?

    ¿Qué conocimientos básicos (temas / temas como estructura de datos, Java, DBMS, etc.) debo tener para enfrentar una entrevista en los sectores de TI?