Entrevistas de trabajo en machine learning: guía completa
(silviasapora.github.io)- Recopilación de experiencia práctica que resume todo el proceso para conseguir un puesto de Research Scientist después de un doctorado en Machine Learning
- Basado en el caso de haber recibido ofertas de todas las empresas donde completó entrevistas, incluidas DeepMind, Isomorphic Labs, Cohere, Meta y startups stealth
- Resumen paso a paso de cómo conseguir entrevistas, preparación técnica, emocional y logística, comparación entre startups y big tech, y negociación salarial
- Incluye aspectos concretos de preparación como las diferencias fiscales y estructurales entre RSU y stock options, y la implementación directa de transformer y attention
- Enfatiza el mensaje de que las entrevistas son intrínsecamente estocásticas (stochastic) y que el resultado no determina el valor de una persona como investigadora o investigador
Resultados generales de entrevistas y contexto
- Experiencia personal documentada sobre la búsqueda de trabajo como Research Scientist tras un doctorado en ML; al comenzar casi no había materiales de referencia
- Recibió ofertas de todas las empresas donde completó entrevistas — DeepMind (aceptada), Isomorphic Labs, Cohere, Meta y una startup stealth
- Anthropic, Mistral y TeslaAI respondieron tarde, por lo que sus procesos no se completaron
- ReflectionAI fue el único rechazo para un puesto de RS, aunque propusieron cambiar al track de Engineering
- SpaceXAI, Waymo y Wayve no invitaron a entrevista
- En Waymo aplicó cada seis meses durante todo el doctorado y nunca recibió respuesta
Cómo conseguir entrevistas
- Las principales palancas para conseguir entrevistas son más papers, temas de moda y mejores pasantías
- Durante el doctorado tuvo 4 papers como primer autor (o co-primer autor) publicados en ICLR / NeurIPS / ICML (LLM, RL, Meta-Learning, Evolution Strategies)
- También contaba con una pasantía en Apple y experiencia previa como software engineer en Meta
- Referencia aproximada: con 3 o más papers como primer autor + al menos una pasantía o experiencia en industria, es posible obtener callbacks de laboratorios top de forma consistente
- Si ya estás consiguiendo entrevistas, publicar más papers ya no ayuda → hay que enfocarse en preparar entrevistas, no en hacer más investigación; nunca se siente que una persona está completamente lista, así que conviene empezar ya
Cover letters, referencias, cold emails, LinkedIn/X
- LinkedIn / X: muchas empresas publican vacantes ahí, y en algunos casos ese es el único canal para postular a pasantías
- Para que la postulación cuente de verdad, hay que completar el Google form enlazado en la vacante
- Referrals (referencias): ayudan, pero no son indispensables
- En DeepMind hubo invitaciones a entrevista tanto para puestos con referencia como sin ella
- Cold emails: escribir directamente a reclutadores o integrantes del equipo suele ser bien recibido
- No debe ser una repetición del CV, sino una explicación de por qué encajas con ese equipo y qué te interesa de su trabajo
- Cover letters: rara vez se piden, pero si se piden hay que hacerlas bien
- No se las encargues por completo a Claude / Gemini / ChatGPT; úsalos solo para pulir un borrador escrito por ti
Startup vs big tech
- Las startups son más difíciles de encontrar, porque no existe un punto centralizado para buscarlas → el boca a boca entre colegas, amistades y excompañeros suele ser la mejor vía, y por eso mismo la competencia tiende a ser menor
- Los procesos de entrevista en startups varían mucho, mientras que en big tech suelen ser más predecibles
- Si el proceso se siente demasiado fácil, puede ser una señal sobre la complejidad real del trabajo
- La naturaleza del trabajo va en ambas direcciones — en una startup adecuada se puede hacer investigación más interesante y de mayor impacto, pero también puede implicar más presión, más trabajo de infraestructura y cambios frecuentes de rumbo en investigación
- En entrevista conviene preguntar quién decide las prioridades de investigación, cuál es la vía de monetización y quiénes son los competidores
- Oportunidades de crecimiento: las startups ofrecen crecimiento rápido, más responsabilidad y la posibilidad de moldear la dirección del trabajo; en big tech una persona es una entre muchas
- Reconocimiento en el CV: OpenAI o Anthropic se reconocen al instante, mientras que una startup stealth poco conocida requiere explicación
- Estabilidad laboral: big tech también ha hecho despidos masivos repetidamente; ninguno de los dos mundos es 100% seguro
Compensación: RSU vs Stock Option (caso del Reino Unido)
- RSU (comunes en big tech): se reciben acciones reales según el calendario de vesting, y al hacer vesting normalmente se vende de inmediato cerca de la mitad para cubrir impuestos sobre la renta — las RSU tributan como ingreso
- Stock option (comunes en startups): no son acciones, sino el derecho a comprar acciones a un precio fijo X
- Si el precio de mercado Y > X, se puede comprar a X y vender a Y para capturar la ganancia; si Y < X, la opción no vale nada
- Las stock options normalmente expiran 90 días después de salir de la empresa, y si la empresa no cotiza en bolsa, incluso después de comprar no necesariamente puedes vender
- En el Reino Unido, al momento de ejercer la opción se cobra impuesto sobre la renta por la diferencia Y−X, aunque todavía no hayas recibido ni un centavo
- Si trabajaste 2 años en una empresa privada y al salir ejerces tus opciones, debes asumir antes de generar ganancias tanto el costo de compra (X × número de opciones) como el impuesto sobre la renta de (Y−X) × número de opciones × tasa impositiva
- La mayoría ofrece opción de cashless exercise, y muchas hacen recompras internas de acciones (liquidity event)
- Aun así, en cada ronda de financiamiento se diluye la participación, las ganancias adicionales pagan alrededor de 20% de impuesto a las ganancias de capital, y el valor en un liquidity event suele estar por debajo de la valuación oficial de la empresa
- Resumen: si un reclutador presenta la compensación total de una startup incluyendo equity, sonríe con cortesía pero aplícale un descuento importante mentalmente
Estructura de las entrevistas
- La mayoría de las empresas sigue una estructura parecida, aunque cambia el peso de cada etapa
- Recruiter screen: suele ser una conversación de baja presión, una oportunidad para mostrar que tu perfil encaja con el rol y que puedes explicar tus propios papers
- Technical interviews: constituyen la mayor parte del proceso y son lo más importante de preparar; según la empresa pueden ser entre 3 y 8
- Coding: estilo LeetCode, por lo general Medium o Hard
- ML coding/debugging: implementar attention, escribir un backward pass, detectar bugs en loops de entrenamiento
- ML knowledge: fundamentos, teoría, ML aplicado y system design
- Behavioural interviews: se dividen entre preguntas conductuales clásicas y preguntas orientadas a investigación (temas de interés, panorama del área); son más casuales que las técnicas, pero no hay que subestimarlas
Preparación técnica
- Es la parte más importante, no la saltes — incluso personas excelentes en investigación han quedado fuera por falta de preparación; usar ML todos los días no es lo mismo que implementar attention desde cero, y hace falta reservar al menos un mes de estudio regular
- Estrategia meta: minimizar la preparación general y hacer preparación dirigida a la siguiente entrevista o empresa específica, para que el material permanezca fresco en la cabeza
- En entrevistas de RS / Engineer puede aparecer casi cualquier cosa, desde fundamentos como overfitting hasta LeetCode, implementación de transformer o arquitecturas modernas como Griffin, TransformerXL y S4
Flashcards
- Útiles para fundamentos de ML, ML aplicado y discusiones de investigación; funcionaron mejor las flashcards físicas que Anki
- Escribir las tarjetas personalmente ya es la mitad del aprendizaje; no descargues decks ajenos
- Al repasar, conviene hacerse preguntas y profundizar; muchas de las preguntas surgidas durante el estudio aparecieron luego en entrevistas reales
Entrevistas simuladas con LLM (Claude / Gemini)
- Antes de cada entrevista, se pegaban en un LLM (principalmente Claude) la descripción del puesto, de la entrevista y de la empresa, y se le pedía que hiciera una entrevista; fue frecuente que preguntas de práctica coincidieran con preguntas reales
- Si la dificultad no encaja, en un chat nuevo hay que especificar mejor tu nivel y tu contexto
- Para estudiar, Claude resultó ser el mejor y el más justo en su feedback, mientras que Gemini tendía a elogiar de más
LeetCode / NeetCode
- Como mínimo, hacer Blind 75 y opcionalmente NeetCode 150, enfocándose en Medium
- La meta es llegar a la solución óptima de cada problema (una solución O(N²) para TwoSum no cuenta); no conviene invertir demasiado tiempo en Hard
- Implementar rápido patrones básicos como DFS, BFS, Graphs, Backtracking, DP y Binary Search, con objetivo de resolver cada Medium en menos de 20 minutos
- Si te atoras más de 15 minutos, revisa la solución, márcalo y sigue adelante
- La amplitud importa más que la profundidad; en total resolvió alrededor de 150 problemas Medium
Books
- Designing Machine Learning Systems (Chip Huyen): cubre muchas preguntas de fundamentos y ML aplicado
- The JAX Scaling Book: lo descubrió después de las entrevistas, pero le pareció excelente; de haberlo conocido antes, lo habría usado mucho
- Reinforcement Learning (Sutton & Barto): recomendado solo para quienes recién empiezan en RL; para gente que ya trabaja en el área puede ser demasiado
Courses
- Álgebra lineal: clases de Gilbert Strang en YouTube, se pueden terminar en un día viéndolas a 2x
- Diffusion / Flow Matching: tanto el curso de MIT como el de Stanford son muy buenos, aunque cargados de matemáticas; si no investigas en el área, basta con memorizar la intuición básica y lo esencial, como diffusion SDE y flow matching ODE
ML coding y debugging
- Es el área con menos buenos recursos y donde más pesa la experiencia real; fue difícil practicar entrevistas de debugging porque los LLM no generaban de forma confiable código con bugs plausibles
- Lo mejor es revisar tu propio código o el de colegas; también ayudan DeepML y Tensor Puzzles
- Objetivo base
- implementar un transformer end-to-end
- implementar causal, cross y self attention
- implementar flash attention
- implementar el backward pass de attention
- implementar el forward / backward pass de un MLP
- implementar un loop de entrenamiento con SGD en PyTorch o JAX
- Si puedes implementar todo eso bajo presión de tiempo, estás en una buena posición
Preparación emocional
- Si emocionalmente estás bien, conviene saltarse esta sección para no sembrar ansiedad innecesaria
- El mayor problema fue el sueño — no poder dormir la noche anterior a una entrevista, lo que se vuelve serio cuando hay 10 entrevistas por semana; también se dificultaba comer y aparecía náusea
- Se recomienda ejercicio regular, una rutina nocturna consistente y evitar el aislamiento social
- Salir a correr antes de una entrevista ayudaba a descargar la tensión y reiniciar la mente
- Mantener una rutina previa a la entrevista dio mucha estabilidad — poner flores frescas de fondo, maquillarse o hacer skincare, ver siempre el mismo video reconfortante
- Llegó un punto en que la ansiedad estorbaba más que la falta de preparación, e incluso la mente se quedaba en blanco durante entrevistas
- Conviene reflexionar antes de empezar sobre tus detonantes, tu relación con el fracaso y de dónde viene tu autoestima
- Mensaje central: tu valor como persona no lo determinan estas entrevistas; el proceso es intrínsecamente probabilístico, incluso en lo que sabes bien puedes equivocarte, y eso está bien
- Libros que ayudaron: The Now Habit, The Gifts of Imperfection, Mindset, The Tyranny of Merit
Preparación logística
- Solo una entrevista por día: entrevistar desgasta, y para la tercera del día el rendimiento naturalmente cae; después de una entrevista en la mañana, el resto del día puede usarse para prepararse para la siguiente
- Empezar por empresas que te interesan menos: startups pequeñas o lugares menos deseados ayudan a calibrar el proceso, la confianza y el rango salarial
- Pensar en el timing: cada empresa avanza a distinta velocidad, así que conviene hacer coincidir la llegada de ofertas para tener apalancamiento real
- Decirles a todas las empresas que estás en otros procesos: eso aclara los tiempos, acelera el avance y hace que te perciban como una candidatura más seria
Negociación
- A diferencia del consejo general de ocultar ofertas competidoras, varias empresas pidieron explícitamente pruebas de otras ofertas antes de mejorar la suya; una incluso preguntó por la autenticidad de una captura de pantalla
- Si una empresa realmente quiere a una persona, puede mover mucho los números; siempre vale la pena preguntar, y la mayoría estaba abierta a negociar
- Los plazos límite iban desde 1 a 2 semanas hasta expresiones vagas como “un plazo razonable”; en general no fueron flexibles con extensiones
- Los reclutadores detectan muy bien las preferencias de una candidatura; pequeñas señales como la frecuencia con que mencionas cierta empresa o tu tono al hablar quedan registradas
- Las empresas tienen datos históricos sobre la elección de candidatos → solo ofertas de competidores del mismo nivel (como OpenAI) tienen peso real, y comparaciones poco realistas no funcionan
Proceso de toma de decisión
- Al principio, por ansiedad, existía la tentación de aceptar la primera oferta, pero confiar en la intuición permitió encontrar opciones mejores
- Los criterios para elegir una oferta —ubicación, compensación, prestigio, tipo de trabajo— cambian según cada persona; al conocer mejor al equipo, la cultura y la compensación, el orden de preferencias también puede cambiar
- Habló con casi todas las personas de ambos lados, pero como cada quien decía que elegiría su propia empresa, eso ayudó poco → al final, lo más útil fue hablar con alguien que realmente te conozca bien
Qué cambiaría si lo hiciera otra vez
- Mantener una hoja de cálculo: llevar todo en la cabeza tiene límites; si hubiera organizado empresas, etapa del proceso, plazos y contactos, habría evitado dejar pasar postulaciones a lugares de interés
- Preparar no solo lo técnico, también lo emocional: las entrevistas pueden sentirse como un veredicto final sobre la capacidad investigadora y el valor del doctorado, pero ese marco es irracional; habría ayudado reflexionar o ir a terapia antes de empezar
- Ser más proactiva con empresas que no responden: no depender solo de la solicitud enviada, sino expresar interés directamente por cold email para entrar en su radar
Lista de temas técnicos
- Lista de temas de estudio elaborada antes de comenzar las entrevistas; por su perfil, recibió muchas preguntas sobre LLM y RL, y casi todos los temas estudiados aparecieron al menos una vez
- Reinforcement Learning: Q-Learning / TD Learning, Bellman Equations, PPO, GRPO, GAE, DPO, Policy Gradient Theorem, On/Off-Policy, MuZero, Dreamer, AlphaGo, Soft Actor-Critic, MDP, etc.
- LLMs: Flash Attention, LoRA, TransformerXL, Griffin, Perceiver, Scaling Laws, Mixture of Experts, RoPE, S4, Tokenisation, RLHF, Causal/Cross Attention, etc.
- Generative Modelling: GANs, VAE y ELBO, Score Function, Diffusion Forward/Reverse Process (DDIM/DDPM), Diffusion SDE, Flow Matching ODE, Classifier Free Guidance
- Applied ML: Tensor Parallelism, FSDP, DDP, Pipeline Parallelism, Mixed precision training, Gradient checkpointing/accumulation/clipping, JAX, PyTorch, TensorFlow, etc.
- General ML: Curse of dimensionality, CNN, RNN/LSTM, MLE vs MAP, Bias-Variance Tradeoff, Backprop, BatchNorm/LayerNorm/RMSNorm, Adam/AdamW, KL Divergence, Precision/Recall/F1/AUC-ROC, etc.
- Linear Algebra: Positive Semi-Definite, Jacobian, Eigenvectors/Eigenvalues, Hessian, Null/Image space, Rank/Span, Determinant, etc.
Aún no hay comentarios.