En esta serie de artículos compartimos un análisis del formato y las características de las entrevistas técnicas de Ingeniería en las principales empresas de Silicon Valley: Adobe, Apple, Cisco, eBay, Electronic Arts, Facebook, Google, Hewlett-Packard, Intel, Netflix, Nvidia, Oracle, Paypal, Salesforce, Tesla, Twitter, Uber, Yahoo!. Debido a que muchas startups de Silicon Valley son fundadas por ex-empleados de estas empresas, el formato de entrevistas suele ser similar.
Nota: No entraremos en el debate de si este estilo de entrevistas es la forma más adecuada de medir las competencias técnicas de los candidatos, por lo cual nos limitaremos a explicar en detalle el formato actualmente usado cómo los candidatos pueden enfrentar dicho proceso de forma exitosa.

Contexto
Las empresas de Silicon Valley realizan su selección para puestos de Ingeniería siguiendo un riguroso proceso de entrevistas (usualmente 2 telefónicas y en caso de ser exitosas, 4-5 presenciales adicionales), que pretenden medir el nivel de competencias técnicas de los candidatos. Estas entrevistas técnicas exigen conocimiento y experiencia demostrable de programación, debido a que en estas empresas los empleados deben resolver problemas a escala que sería imposible resolver manualmente. Es decir, si bien existen posiciones relacionadas con áreas que no crean productos de cara a los usuarios porque trabajan en infraestructura que soporta los productos (almacenamiento, redes, testing, monitoreo, seguridad, release), la aproximación que se toma para resolver estos problemas involucra el uso de programación, para hacer viable que la solución se aplique a productos escalables usados por millones de usuarios, de forma costo-efectiva.
Objetivo
En esencia, este formato de entrevistas busca seleccionar los candidatos más competentes técnicamente para la empresa, minimizando los falsos positivos (candidatos contratados que no tienen el nivel de competencias técnicas adecuado) a costa de un número considerable de falsos negativos (candidatos rechazados que tienen un nivel de competencias adecuado pero que son rechazados por alguna señal dudosa durante alguna de las entrevistas). La razón por la cual estas empresas invierten tanto esfuerzo en la selección de sus candidatos es que quieren evitar al máximo la probabilidad de verse en una situación en el futuro que conlleve al despido de un empleado que no cumple las expectativas de su rol.
Un factor que determina la elección de este formato de entrevistas por encima de otros, se debe a que las empresas buscan optimizar el tiempo invertido por parte de los reclutadores, entrevistadores y candidatos. Esto es particularmente importante en las empresas de Silicon Valley, que reciben miles de hojas de vida al año para ser analizadas y consideradas en el proceso de selección, por lo cual otros formatos de entrevista, e.g. pasantía de unos días haciendo pair programming con Ingenieros de la empresa, siendo válidos, no ofrecen las condiciones de escalabilidad y/o calidad necesarias para este proceso. Adicionalmente, la mayoría de empresas de Silicon Valley cuentan con infraestructura propietaria que es bastante diferente a la comercialmente disponible, por lo cual se asume que existirá una curva de aprendizaje de varias semanas antes que el candidato pueda ser realmente productivo.
Formato
Las entrevistas se conducen en Inglés, por lo cual debes poder entender, hablar (explicar tu solución) y escribir (código) en un lenguaje de programación en Inglés. Cada entrevista dura 45 minutos y usualmente incluye 2 problemas:
Warmup o calentamiento: suele ser sencillo y se resuelve en los primeros 15 minutos. Trata de cubrir conceptos básicos como proyectos de la hoja de vida y problemas técnicos sencillos, para romper el hielo y permitirle al candidato suerar los nervios y tomarse confianza.
Problema core: Es un nuevo problema mucho más complejo (o una derivación del primero) que presenta un nivel de complejidad adicional, y se resuelve en los siguientes 30 minutos. Incluye conceptos técnicos avanzados
La solución para cada problema propuesto debe hacerse escribiendo el código en un documento compartido en línea o un tablero, no en un IDE, por lo cual debes practicar sin tener las ayudas típicas como el auto-completado o la referencia del API.
Asegúrate de aclarar si se pueden usar ayudas en línea, e.g. Stack Overflow o búsquedas en Google, que usualmente no son permitidas. Dado que necesitarás implementar una solución en un lenguaje de programación, es importante identificar el lenguaje con el que te sientas más cómodo, e indagar antes de iniciar el proceso si existe un nivel adicional de experticia requerido para la vacante, tales como desarrollo front-end, backend o móvil.
Habilidades evaluadas - ver artículo>
Este artículo incluye las habilidades evaluadas por los entrevistadores durante cada entrevista técnica de Ingeniería.
Cómo enfrentar las entrevistas técnicas - ver artículo>
Este artículo incluye tips para enfrentar de forma exitosa entrevistas técnicas de Ingeniería.
Cómo prepararse para las entrevistas técnicas - ver artículo>
Este artículo incluye material y recursos para prepararse para las entrevistas técnicas de Ingeniería.
Correr una maratón - ver artículo>
Este artículo incluye una comparación de las entrevistas técnicas de Ingeniería y la preparación para correr una maratón teniendo un desempeño destacado.