Pregúntale a cualquier líder de ingeniería en una empresa en crecimiento cuál es su principal prioridad y probablemente dirán la contratación. Cuando pensamos en la importancia de tomar una decisión laboral tanto para la empresa como para el candidato, las pocas horas de entrevistas parecen muy cortas. Queremos asegurarnos de que nuestro proceso de entrevistas de trabajo aproveche al máximo ese tiempo para ayudar tanto a los candidatos como a Databricks a comprender si el puesto es adecuado. Queremos aprender sobre ti y asegurarnos de que obtengas la información que necesitas para tomar la mejor decisión. Una de las mejores maneras de lograrlo es diseñar entrevistas que enfaticen la conversación y la colaboración. Los problemas del mundo real son complejos y difíciles. Queremos entender cómo los candidatos resuelven desafíos abstractos más de lo que queremos ver una solución específica.
A pesar de la escala de la infraestructura que opera Databricks, tenemos una organización de ingeniería relativamente pequeña. Operamos millones de máquinas virtuales, generamos terabytes de registros y procesamos exabytes de datos por día. A nuestra escala, observamos regularmente fallos en el hardware de la nube, la red y el sistema operativo, y nuestro software debe proteger a nuestros clientes de cualquiera de los anteriores de manera fluida. Hacemos todo esto con menos de 200 ingenieros.
Nuestro tamaño significa que tenemos la flexibilidad de adoptar o crear la tecnología que creemos que es la mejor solución para cada desafío de ingeniería. La otra cara de la moneda es que hay muchas partes de nuestra infraestructura que aún están madurando, por lo que el conjunto de preocupaciones para muchas iniciativas se expande más allá del alcance de un solo servicio. También sigue siendo una startup, por lo que los límites de propiedad y responsabilidad no siempre están claros. Eso significa que es fácil hacer cambios y tener un impacto fuera de tus áreas de enfoque principales, y que serás dueño de mucho más de un proyecto de lo que serías en otro lugar.
¿De qué serás un maestro después de trabajar en Databricks? Podrás crear sistemas escalables dentro del campo de Big Data y Machine Learning. La mayoría de los ingenieros no realizan ML aplicado en su trabajo diario, pero entendemos profundamente cómo se está utilizando en una variedad de industrias para nuestros clientes.
Nuestras entrevistas de ingeniería consisten en una combinación de evaluaciones de habilidades técnicas y blandas de entre 45 y 90 minutos de duración. Si bien algunas de nuestras entrevistas técnicas son preguntas de algoritmos más tradicionales centradas en estructuras de datos y fundamentos de ciencias de la computación, hemos estado cambiando hacia la resolución de problemas prácticos y evaluaciones de codificación. Incluso en las preguntas de algoritmos, los candidatos pueden trabajar el problema en una laptop en lugar de una pizarra si lo prefieren. Esto nos ayuda a tener una idea de cómo escriben código en un entorno más realista. Para nuestras preguntas de codificación, nos centramos menos en el conocimiento de algoritmos y más en el diseño, la estructura del código, la depuración y el aprendizaje de nuevos dominios. Por ejemplo, algunas de nuestras preguntas técnicas probablemente usarán un lenguaje/framework con el que no estás familiarizado, por lo que deberás demostrar la capacidad de leer documentación y resolver un problema en un área nueva. Otras preguntas implican construir progresivamente un programa complejo en etapas siguiendo una especificación de características.
También adaptamos nuestras entrevistas según los antecedentes del candidato, la experiencia laboral y el puesto. Para roles más fullstack, dedicamos más tiempo a los fundamentos de la comunicación web (http, websockets, autenticación), los fundamentos del navegador (caché, manejo de eventos de js) y el modelado de API + datos. Para ingeniería de sistemas de bajo nivel, enfatizaremos los subprocesos múltiples y las primitivas del sistema operativo.
Recomiendo tres cosas para prepararte:
Haoyi, de nuestro equipo de Herramientas de Desarrollo, escribió una excelente publicación de blog sobre cómo realizar una entrevista de manera efectiva que ofrece una buena perspectiva de cómo estructuramos nuestras entrevistas y qué buscamos.
Ahora que hemos cubierto lo que buscamos y cómo prepararse para las entrevistas, hay algunas cosas que debes intentar conscientemente no hacer durante una entrevista de trabajo de ingeniería.
La principal es la falta de pasión o interés en el puesto. Recuerda, tú también estás entrevistando a la empresa y es importante que demuestres que estás comprometido a encontrar una coincidencia. Tener poco entusiasmo, no estar familiarizado con el producto Databricks, no hacer preguntas y, en general, depender del entrevistador para dirigir toda la conversación son señales de que no estás interesado. Así como deseas un proceso de entrevista que te desafíe y profundice en tus habilidades e intereses, nos gusta un candidato que nos haga preguntas difíciles y se tome el tiempo para conocernos.
Para las entrevistas técnicas, si un candidato está buscando una solución que no funcionará, intentamos ayudarlo a darse cuenta antes de pasar mucho tiempo en la implementación. Si el entrevistador hace preguntas, es probable que te esté indicando un camino diferente. En lugar de quedarte fijo en una única solución, tómate un minuto para dar un paso atrás y reconsiderar tu enfoque con nuevas pistas o preguntas. Recuerda que tu entrevistador probablemente ha hecho la misma pregunta docenas de veces y ha visto una variedad de enfoques. También quieren ver cómo responderías en un entorno del mundo real, donde trabajarías con un equipo que ofrece ayuda de manera similar.
Para las entrevistas centradas en el historial laboral y las habilidades blandas, ten ejemplos específicos. Está bien comenzar con una generalización amplia, pero cuenta una historia sobre cómo ejemplos específicos de tu historial laboral responden a la pregunta. Al hablar de tu experiencia laboral, intenta (1) definir claramente el problema, (2) tu solución, (3) el resultado y (4) cualquier reflexión sobre mejoras. Una buena manera de proporcionar una respuesta bien pensada es utilizando la Técnica de Respuesta STAR para Entrevistas.
En una startup como Databricks, la cualidad más importante que he visto en ingenieros exitosos es la propiedad. Estamos creciendo rápidamente, lo que trae muchos desafíos nuevos cada semana, pero no siempre está claro cómo se dividen las responsabilidades entre los equipos y se determinan las prioridades. Los grandes ingenieros manejan esta ambigüedad al identificar los problemas más impactantes en los que trabajar, no solo aquellos limitados a las responsabilidades de su equipo actual. A veces, esto significa ayudar directamente a construir la solución, pero a menudo significa motivar a otros a priorizar el trabajo.
La segunda cualidad en la que nos centramos, particularmente para aquellos al principio de su carrera, es la capacidad de aprender y crecer. La derivada del conocimiento a menudo es más importante que las habilidades técnicas actuales de un candidato. Muchos de los problemas de ingeniería que estamos resolviendo no tienen plantillas existentes que seguir. Eso significa romper continuamente capas de abstracción para considerar el sistema en general, desde el nivel más bajo de instrucciones de la cpu, hasta cómo se renderizan las visualizaciones en el navegador.
¿Cómo he visto estas cualidades en las entrevistas? Los ingenieros que muestran mucha propiedad a menudo pueden hablar en detalle sobre los sistemas adyacentes en los que se basaron para trabajos anteriores. Por ejemplo, conocen las fortalezas y debilidades de una capa de almacenamiento o sistema de compilación específica que utilizaron y por qué. También a menudo crean cambios para ayudar a su equipo a ser más efectivo, ya sea a través de mejoras en las herramientas o un cambio de proceso. El crecimiento se manifiesta a través de la reflexión sobre el trabajo pasado. Ninguna solución es perfecta, y los grandes ingenieros saben qué harían a continuación o de manera diferente. Muchos candidatos dicen que la oportunidad de crecer es su principal criterio para elegir su próximo trabajo, pero deberían poder hablar sobre lo que ya están haciendo para crecer. Tal vez sea un proyecto paralelo, una nueva tecnología que aprendieron recientemente, una mejora en su entorno de desarrollo o una relación de mentoría que están cultivando en su puesto actual.
El equipo de Workspace tiene un conjunto bastante amplio de casos de uso de productos para admitir y la mayoría del equipo trabaja en full stack. Buscamos generalistas que hayan demostrado la capacidad de aprender nuevas tecnologías rápidamente. También tenemos mucha interacción con los clientes y necesitamos ingenieros que puedan profundizar para comprender a nuestros usuarios y formular requisitos. Varios de los miembros del equipo tuvieron sus propias startups en el pasado o trabajaron como empleados tempranos en startups.
Una de las mejores maneras de entender un rol es preguntar: ¡"De qué me convertiré en un maestro?" Para el equipo de Workspace, son tres habilidades principales.
En Databricks, buscamos constantemente ingenieros de software que encarnen las características de las que hemos hablado. Si estás interesado en resolver algunos de los desafíos que estamos abordando actualmente aquí, consulta nuestra Página de Carreras y postúlate para una entrevista con nosotros.
Ted Tomlinson es Director de Ingeniería en Databricks. Dirige el equipo de Workspace, que es responsable del producto insignia de notebooks colaborativos de Databricks y los servicios utilizados para habilitar la ciencia de datos interactiva y el aprendizaje automático en todos los entornos.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
