¿Cómo es el proceso de entrevistas de ingeniería en Stripe?

Actualización (21 de abril de 2015) : para obtener una descripción de la última iteración de nuestro proceso de entrevistas, consulte https://stripe.com/jobs/engineer….


Hemos rediseñado nuestro proceso de entrevistas varias veces, ya que hemos aprendido qué funciona bien y qué no. La iteración más reciente fue diseñada por Siddarth Chandrasekaran, Evan Broder y yo en mayo de 2013 [1].

Nuestras entrevistas intentan simular el trabajo que haría en el día a día. No hacemos preguntas puramente algorítmicas: ningún proyecto en Stripe ha requerido escribir un árbol rojo-negro desde cero. También estamos perfectamente de acuerdo con las personas que buscan o colaboran con sus entrevistadores.

Comenzamos con una entrevista de codificación a través de Skype. En general, hacemos la codificación real a través del uso compartido de la pantalla de Skype para que pueda escribir en su editor favorito (también puede usar el idioma que prefiera). Las preguntas que hacemos están destinadas principalmente a probar lo que llamamos el “compilador pensado para codificar” de una persona. Es decir, siempre está bastante claro cómo un humano resolvería nuestros problemas, pero el desafío es escribir código limpio y fácil de mantener para implementar la funcionalidad relevante. Simplemente escribir el código correcto no es suficiente: la razón más común para hacerlo mal en esta entrevista es no tener una intuición lo suficientemente sólida sobre lo que hace que el código sea bueno .

Nuestras entrevistas en el sitio consisten en los siguientes componentes:

  • Diseño e implementación (90-120 minutos) . Le pedimos que diseñe algún sistema (como una API, una interfaz web o un sistema distribuido; intentamos adaptar la pregunta a su experiencia) y luego producir un prototipo de su sistema. Para esto, tratamos de observar cómo se resuelve un problema de principio a fin: pensar en los requisitos (ya sean requisitos del usuario o técnicos), encontrar una solución y luego hacer que esa solución exista. Debe construir esto como si fuera a ponerlo en producción: optimice la calidad del código sobre la cantidad, escriba las pruebas según corresponda, etc. Está bien si realmente no terminas.
  • Squash de insectos (45-60 minutos) . Le entregamos un proyecto de código abierto popular junto con un caso de prueba fallido para algún error. Su tarea es corregir el error (o hacer el mayor progreso posible para hacerlo). Estamos buscando principalmente para ver cómo maneja la navegación de una base de código desconocida y la solución de problemas en el código de otras personas.
  • Refactorización (45-60 minutos) . Le proporcionamos una aplicación simple que necesita mejoras urgentes y le pedimos que mejore la estructura. Aquí, tratamos principalmente de medir sus ideas en torno a lo que hace un buen código.
  • Programación en pareja (30-45 minutos) . Le damos un proyecto pequeño y autónomo. Es importante destacar que el proyecto siempre se puede resolver en código puro: no queremos que pase tiempo buscando en las bibliotecas. Nuevamente, buscamos una implementación limpia y mantenible. Intentamos evaluar su capacidad para producir código cuando las restricciones son muy claras.

Mientras hacemos la evaluación técnica, prestamos atención a cómo es trabajar con usted. En general, buscamos una comunicación agradable y de gran ancho de banda.

Al final del proceso, aplicamos algunas pruebas:

  • Prueba de emoción ¿Contratar a esta persona te emocionaría más por trabajar en Stripe? Cada persona que contratemos debería hacer que la empresa sea fundamentalmente mejor de alguna manera. No es suficiente estar entusiasmado por tener finalmente a alguien para mantener un sistema no amado: la persona necesita agregar realmente algo más allá de las horas humanas puras.
  • Prueba de velocidad . ¿Estaría esta persona en una trayectoria para ser autosuficiente dentro de los 6 meses de unirse a Stripe? Contratamos a una variedad de ingenieros, algunos muy avanzados en su carrera y otros que recién comienzan. Si bien contratamos una variedad de niveles de habilidades y queremos brindar orientación y orientación a todos, también queremos asegurarnos de que todos sean capaces de guiar su propio trabajo. Si no podemos imaginar a un ingeniero a ese nivel dentro de los primeros 6 meses, entonces no están en una pista de alta velocidad para nosotros.

Cada decisión de contratación requiere que todos en Stripe estén (al menos implícitamente) a bordo. Las reuniones de contratación están abiertas para todos en Stripe (aunque en la práctica generalmente solo asisten los entrevistadores), y cualquiera puede vetar una contratación. De esa manera, todos se sienten involucrados en cada nuevo empleado que se une al equipo, y nadie puede afirmar que alguien más fue contratado injustamente.

Un aspecto importante de cualquier proceso es cómo mide su éxito. A la larga, lo principal que nos importa es que estamos formando un gran equipo. Ciertamente es difícil evaluarlo definitivamente, pero nuestra prueba de fuego es si los ingenieros continúan uniéndose a Stripe simplemente por la gente. Poner a un candidato en la mesa del almuerzo con un puñado de Stripes ha sido nuestra estrategia más vendida hasta la fecha. Mientras ese sea el caso, sabemos que estamos formando el equipo adecuado.

[1] Con frecuencia cambiaremos el proceso de entrevista para candidatos particulares, ya sea para obtener una señal adicional o para manejar las limitaciones de las personas. Entonces, si está entrevistando con nosotros, no debe preocuparse si su proceso de entrevista difiere de lo que describo aquí.

More Interesting

¿Cuáles son todas las etapas de una entrevista SSB para NDA después del 12?

¿Cuáles son las 10 preguntas principales que se le hacen al gerente de ingeniería en una entrevista?

¿Cuál es la forma más rápida (puede o no ser un servicio profesional) para practicar y ver resultados al dar entrevistas de trabajo?

¿De qué manera contribuir a proyectos de código abierto y hacer que mis propios proyectos vayan en contra de la programación competitiva en un currículum o en una entrevista?

¿Qué tipo de preguntas puedo esperar en una entrevista para SSIS?

Cómo prepararse para una entrevista de gerente de producto en Google en seis meses

¿Google rechazará mi entrevista si la pospongo por demasiado tiempo?

¿Nos proporcionarán refugio durante la SSB?

¿Cuáles son las cosas importantes que un ingeniero de pruebas con experiencia de 1 año necesita saber mientras se enfrenta a una entrevista?

Si eres un desarrollador de software, ¿irías a una entrevista técnica si estás seguro de que no podrás descifrarlo?

¿Por qué SSB (panel de entrevista para servicios de defensa) rechaza tantos candidatos?

¿Cuál es la mejor manera para que un nuevo graduado obtenga entrevistas / trabajos?

¿Cuál debería ser la fuerza de un estudiante aprobado por BBA para una entrevista?

¿Hay algún requisito para llevar certificados relacionados con deportes o actividades extracurriculares a una entrevista de SSB? No he pasado por tales certificados porque jugué juegos casualmente, ¿qué debo hacer?

¿Qué tipo de preguntas de entrevista se hacen en los puertos marítimos?