Cómo es ser ingeniero de software en Amazon?

Estoy casi a punto de terminar mis prácticas de ingeniería de software en Amazon, y me gustaría compartir mi experiencia:

Pros:

  • Los ingenieros de alrededor son realmente inteligentes. Saben cómo hacer las cosas rápidamente preservando la calidad del código. La mayoría de la gente que conocí está bien versada en las mejores prácticas, tecnologías y frameworks actuales.
  • La cultura en Amazon es de ritmo rápido; esto significa que no estarás sentado en tu escritorio preguntándote qué hacer a continuación. La planificación de sprints se toma muy en serio y los ingenieros calculan la cantidad de tiempo para una tarea concreta con bastante precisión.
  • Amazon predica el diseño y lo practica aún mejor. Los patrones de diseño están arraigados dentro de los ingenieros aquí, y conocen la compensación entre tener que elegir un diseño sobre el otro. La escalabilidad se tiene en cuenta para casi todas las tareas que se realizan sin comprometer la mantenibilidad.
  • Amazon nunca compromete la eficiencia (léase disponibilidad y latencia) - Esto lleva directamente a su principio de liderazgo de obsesión por el cliente.
  • Hay toneladas de oportunidades si quieres aprovecharlas. Amazon está innovando e incursionando en cualquier dominio que se te ocurra, así que tienes la oportunidad de crecer más que cualquier empresa actualmente.
  • Las herramientas internas son geniales aquí. No puedo revelar mucho sobre ellas debido al NDA, pero puedes obtener casi cualquier servicio que quieras dentro de Amazon. Esto hace que todo el proceso sea más eficiente, ya que los errores / problemas se pueden resolver rápidamente internamente, y ni siquiera tienes que pagar a un tercero. La compensación es bastante competitiva. Cuando notes esa diferencia de 20 mil dólares en el salario base, considera el hecho de que si estás en Washington, los impuestos son mucho menores (~13%) en comparación con California.

Contra:

  • Los beneficios para los empleados no son tan grandes. Sólo tienes un abono de transporte y desayuno gratuito (léase cereales y bagels). A veces hay almuerzos de equipo, pero eso depende sobre todo de tu equipo.
  • La dependencia entre equipos puede causar retrasos en tu trabajo. Además, los directores no quieren asumir la responsabilidad innecesaria de tareas triviales/pequeñas. (También es una especie de ventaja porque nadie quiere aumentar la carga operativa en el equipo).
  • He visto a empleados a tiempo completo estar muy ocupados durante las "llamadas". Se supone que los ingenieros de Amazon están disponibles 24*7 durante algunos períodos del año. Otras compañías tienen "on-calls", pero no creo que tanto como Amazon.
  • La gente no se queda mucho. Se mudan a Google o Facebook por el mayor valor de la marca y las mejores ventajas para los empleados. También he oído que la tasa de deserción de Amazon es alta, pero no he visto que echen a la gente innecesariamente. Tal vez el listón de las entrevistas de Amazon SDE ha bajado, por lo que la gente no rinde bien aunque pase las entrevistas.

Para resumir, Amazon es un gran lugar para aprender, explorar y crecer como desarrollador. (Puedo decir eso para un montón de perfiles como analistas de negocio, investigadores de usuarios, gestores de programas, etc). Automáticamente te verás obligado a elevar tu nivel de programación gracias a la gente que te rodea.

Oh, y respecto a la especulación sobre el equilibrio entre vida laboral y personal de Amazon, es genial; al menos para mí y para casi otros diez becarios que conozco.

Es todo lo que puedo decir en base a mi experiencia de prácticas. Gracias por preguntar!

P.D.: Si te apuntas, prepárate para arruinar tu autoestima después de esa primera revisión de código 😉

Descargo de responsabilidad: La respuesta es mi opinión personal y basada en lo que he visto en Amazon. No refleja de ninguna manera ninguna de las políticas, cultura de trabajo o gestión de Amazon.