Cómo conseguir trabajo en AWS
Para llevar ¶
1. La preparación es clave ¶
Dedicar 100 horas a prepararse para la entrevista, revisando desafíos de codificación (con el libro Cracking the Coding Interview como recurso principal), estudiando patrones de diseño, y practicando estructuras de datos como árboles y la notación O(n).
2. Historias para los Principios de Liderazgo ¶
Amazon valora mucho sus Principios de Liderazgo. Preparar dos historias cortas y relevantes por cada principio, siguiendo la técnica STAR, ayudó al autor a destacar durante las entrevistas.
3. Uso de recursos de la empresa ¶
Asistir a los talleres de entrevistas proporcionados por AWS fue crucial para el éxito del autor, ya que le brindaron consejos clave sobre cómo sobresalir en el proceso de selección.
4. Preguntar con intención ¶
Tener al menos 4 preguntas reflexivas para hacer durante la entrevista demostró interés por el puesto y el equipo. El autor subraya la importancia de hacer preguntas sobre aspectos que realmente importen, como el horario de guardias o el proceso de lanzamiento de software.
5. Confianza en la negociación salarial ¶
Una de las principales lecciones fue confiar en la investigación salarial y no subestimar su valor. El autor recibió una oferta mayor de la que esperaba, pero cree que podría haber negociado aún más si hubiera confiado en los datos de su investigación.
Aquí hay algo que podría hacer cambiar tu futuro.
Usamos cookies de terceros para mostrar este iframe (que no es de publicidad ;).
Mapa mental ¶
👉 Original de Winston Puckett
Contexto ¶
Había estado trabajando en mi primer empleo de software durante 3.5 años y, en ese tiempo, pasé de ser un desarrollador junior a uno de nivel medio. Era obvio que, si quería seguir desarrollando mis habilidades, tendría que cambiar de empresa.
Lo primero que hice fue cambiar mi estado en LinkedIn a “Disponible para trabajar”. Aproximadamente tres meses después, un reclutador de AWS me contactó. Trabajar en AWS era mi trabajo soñado. Me dijo que podía entrevistarme para un par de equipos diferentes, y decidimos que me entrevistaría con el equipo de API Gateway.
Tuve dos meses para prepararme.
Paso 0: Estudiar desafíos de codificación ¶
Leí dos libros y solo recomendaría Cracking the Coding Interview. Este consejo es común, pero te prepara bien para los desafíos de programación. Lo leí, resolviendo al menos un problema por capítulo, y luego revisé tantas preguntas adicionales por capítulo como tuve tiempo.
Paso 1: Asistir al taller de entrevistas de Amazon (si está disponible) ¶
AWS ofrece una serie de recursos para los candidatos. Quieren que la gente tenga éxito. Si no hubiera asistido al taller de una hora que me ofreció mi reclutadora, no habría conseguido el trabajo. La mayor parte del consejo en este artículo refleja sus recomendaciones.
Paso 2: Encuentra dos historias para cada Principio de Liderazgo ¶
Amazon se adhiere firmemente a los Principios de Liderazgo. Estos son un conjunto de frases cortas que guían la toma de decisiones.
Elige dos historias por cada Principio de Liderazgo. Cada historia debe:
- Seguir la técnica STAR.
- Ser corta (3-5 minutos como máximo) para explicar.
- Estar relacionada con una experiencia profesional. Si acabas de terminar la universidad, relaciona la historia con una experiencia universitaria o un proyecto personal.
Escribe lo suficiente de la historia como para que puedas ver tus notas en la entrevista y recordar la historia.
Esto me llevó alrededor de 10 horas. En ese momento, había 12 Principios de Liderazgo, lo que significaba 24 historias. Hice lo mejor que pude y logré unas 20 historias, con 4 que se solapaban entre los principios.
Nota: Durante la entrevista, adapté las historias que contaba según las preguntas que me hacían. No seas rígido en la entrevista, pero encuentra tantas historias como puedas y prepárate para compartir cualquiera de ellas.
Paso 3: Encuentra patrones de diseño útiles y sé capaz de aplicarlos ¶
El libro “Design Patterns” de Erich Gamma es un gran recurso para esto. No memorices todo el libro (a menos que quieras). En su lugar, elige 4 patrones diversos que veas útiles para resolver problemas.
Yo elegí:
- Abstract Factory
- Builder
- Singleton
- Decorator
- Proxy
- Observer
- Iterator
Solo usé uno de estos en la parte de diseño de software de la entrevista. Sin embargo, mencioné más a medida que avanzaban las entrevistas.
Paso 4: Investiga sobre árboles ¶
Esto está en “Cracking the Coding Interview”. Échale un vistazo, aunque sea solo BFS/DFS.
Paso 5: Conoce la notación O(n) ¶
Algunas personas ya lo saben, pero por si acaso, es realmente importante. No solo para las entrevistas.
Paso 6: Ten al menos 4 preguntas reflexivas para hacer ¶
Hacer preguntas que demuestren que sabes lo que quieres en un trabajo y que te interesa trabajar con la empresa puede ser muy útil. Pregunta cosas específicas de software que te interesen. Un ejemplo que me gusta es: “¿Cómo es el horario de guardias?” o “¿Cómo es el proceso de lanzamiento de software en tu equipo?”
Descubre lo que te importa en un trabajo y escribe estas preguntas de antemano.
Paso esencial: Toma demasiadas notas ¶
La imagen de esta publicación muestra mi configuración para la entrevista. Esto fue algo mencionado en la clase: que se permiten notas. Siempre sé claro sobre tus notas. Si vas a usarlas y la entrevista es remota, menciona casualmente: “Oye, ¿te importa si consulto mis notas para esto?” O “Déjame revisar mis notas rápidamente para encontrar una historia que coincida con eso.”
Para ser honesto, memoricé todo excepto las 20 historias de los Principios de Liderazgo. Pero esas 20 historias fueron increíblemente útiles de tener escritas, y me alegro de haber escrito más, porque se quedaron mejor en mi memoria.
Formato de la entrevista ¶
Esto puede haber cambiado desde que entrevisté, pero aquí están las rondas que tuve que pasar:
- Entrevista telefónica con un reclutador.
- Dos pruebas cortas de estilo leetcode en casa.
- Conexión con el reclutador para programar la entrevista y las oportunidades de formación.
- 4 entrevistas presenciales de una hora: diseño de sistemas, diseño de software (patrones), 2 ejercicios de codificación. En cada una, me hicieron una pregunta de comportamiento.
Enlaces útiles ¶
- Cracking the Coding Interview
- Bit Twiddling Hacks
- Grokking Algorithms
- Design Patterns
- Técnica de entrevista STAR
- Principios de Liderazgo
¿Cuánto tiempo tomó esto? ¶
No tenía experiencia con leetcode antes de empezar a prepararme. Mi primer trabajo no incluía un desafío de programación. Había leído el libro de Patrones de Diseño, pero no tenía una lista memorizada. Esta fue la primera vez que me postulé para un puesto en FAANG.
Este era mi trabajo soñado, así que dediqué varias horas la mayoría de las noches para prepararme. Mi estimación es que pasé 100 horas preparándome para las entrevistas.
¿Cuánto de esto es suerte? ¶
Siempre hay algo de suerte en las entrevistas. En mi puesto actual en LTK, me rechazaron la primera vez y me aceptaron la segunda.
¿Qué habrías hecho de manera diferente? ¶
No manejé bien la etapa de la oferta. Terminaron ofreciéndome 30k más de lo que pedí porque no confié en la investigación que había hecho sobre lo que típicamente paga Amazon. Si lo hubiera creído, podría haber negociado 10k más en mi salario.
Cuando te unes, puedes elegir qué sistema operativo usar. Me hubiera gustado preguntar qué sistema operativo usan las personas en mi equipo. También hay una tercera opción no listada de obtener una laptop con Linux. Cambié a eso después de 8 meses y tuve una experiencia maravillosa.
¿Qué pasó después de conseguir el trabajo? ¶
Me uní a AWS trabajando en API Gateway durante 1.5 años. En ese tiempo, me asignaron a un proyecto del equipo S donde lideré varias partes de la iniciativa con gran éxito. Estoy siendo intencionalmente vago porque no estoy seguro de cuánto puedo compartir.
Luego, AWS requirió que todos volvieran a la oficina. Me pidieron que eligiera una ubicación o (por defecto) me mudara a Colorado. Lo hicieron de la mejor manera posible, dándome un año para decidir. Estoy muy agradecido por ese plazo.
Decidí seguir adelante, pero trabajar en AWS fue una de mis mejores experiencias profesionales. Las personas con las que trabajé eran algunos de los ingenieros más experimentados que he conocido, y cuando mi hijo crezca lo suficiente como para que mi presencia en casa no sea tan importante, consideraría volver.
Si te gusta este tipo de contenido recibe uno nuevo cada semana a través de nuestra newsletter.
Escrito por:
Daniel Primo
12 recursos para developers cada domingo en tu bandeja de entrada
Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.