Estoy trabajando como analista en Amazon en EE. UU. Quiero ampliar mis habilidades. ¿Qué puedo hacer para aprender nuevas tecnologías y convertirme en un ingeniero experto?

TL; DR

Creo que la educación progresiva es el mejor camino a seguir, pero en realidad no hay una respuesta correcta. Y la buena noticia es que sentirse cómodo en Excel y SQL muestra que puede tener la mente para ser un ingeniero de software.

Respuesta más larga

Depende de muchos factores:

  • ¿Cuánto tiempo estás dispuesto a invertir en tu educación?
  • ¿Cuál es tu objetivo?
  • ¿Cuál es tu situación financiera?

Universidad

Las universidades son excelentes si quieres obtener un doctorado. e ingresar al mundo de la investigación. Estas instituciones albergan a los mejores laboratorios y de ellos surgen muchas innovaciones.

La desventaja es que solo son unas pocas universidades que valen la pena, todas son muy caras y bastante largas. Pero si quieres convertirte en un investigador, tendrás que amar el mundo académico de todos modos you Si estás buscando conseguir un trabajo en la industria, no recomendaría universidades, se centran demasiado en la teoría casi sin práctica, que es absolutamente no apropiado para lo que necesita la industria tecnológica.

Codificación de bootcamps

Pueden ser una buena opción si tiene experiencia en programación existente y desea pasar al siguiente nivel, los mejores bootcamps de codificación como Hack Reactor están diseñados para esto.

También podrían ser una buena opción si no tienes mucho tiempo para trabajar sin trabajar y quieres dar una oportunidad rápida de ingresar a la industria tecnológica con un entrenamiento de 3 meses.

La desventaja es que en 3 meses (cuando a menudo hay 1 mes dedicado a prepararse para la entrevista), solo verá una pequeña cantidad de lo que es software, saldrá del programa como un desarrollador web muy junior, será Muy difícil encontrar trabajo.

En línea por ti mismo

Si lo hace en línea, se convertirá en un ingeniero de software autodidacta. Los que logran hacerlo (porque es muy difícil) se encuentran entre los mejores. Todo lo que necesitas es MUCHA motivación.

Si decides ir a aprender solo, aquí hay algunos consejos:

  • Encuentre un mentor: el mundo del software es grande y hay mucho que puede encontrar en Internet al respecto, también, sea honesto, hay demasiado y es difícil saber por dónde empezar. Encuentre a alguien que haya estado en la industria por un tiempo y que se mantenga actualizado. Defina un plan con esta persona sobre lo que debe estudiar.
  • Obtenga un código revisado: por lo general, hay muchas formas de lograr algo y muchas formas muy malas. Si bien Internet está lleno de excelentes recursos, está lejos de ser perfecto. Asegúrese de pedirle a su mentor que revise su trabajo de vez en cuando, para que no esté aprendiendo de la manera incorrecta.
  • Aprende haciendo: leer libros y tutoriales es bueno, pero hacerlo es el rey. El software es como un oficio, es practicando que lo dominarás.
  • Practique sobre algo significativo: seguir los tutoriales tiende a ser molesto, una vez que se sienta lo suficientemente cómodo con una tecnología, intente idear un proyecto personal en el que tenga que usar lo que esté aprendiendo. Eso te ayudará mucho a mantenerte motivado y estar orgulloso de ti mismo. Recuerde que PUEDE HACERLO, es cuestión de tiempo y perseverancia, pero el camino puede ser largo.
  • Diviértete: CodinGame es genial, los videojuegos que controlas usando un lenguaje de programación de tu elección. HackerRank es una plataforma en la que puede evaluar sus habilidades de programación, muchas preguntas son del tipo de entrevistas técnicas que las empresas están utilizando para seleccionar candidatos, una buena manera de ver cuál es su posición.
  • Salga y conozca a los ingenieros de software: hay mucho que necesita saber para ingresar al mundo de la tecnología, mucho que solo podrá saber cuando debata con ingenieros de software reales. Vaya a reuniones y hackathon, algunos sitios web que recomiendo para esto son Meetup.com y Eventbrite. Si vives en el área de SF Bay, visita nuestra página de Meetup.

Educación progresiva

Estoy en la industria de la tecnología desde hace casi 10 años, estuve trabajando para SlideShare hace unos años, me adquirió LinkedIn donde estuve durante 3 años. Es TAN DIFÍCIL reclutar grandes ingenieros de software, y es muy triste ver que las personas que salen de la universidad después de estudiar durante media década todavía no están listas para hacer el trabajo porque pasaron su tiempo en clase escuchando conferencias, en lugar de trabajar en sus duras habilidades. A veces encontré algunas joyas para graduados de bootcamp, pero en su mayoría eran personas con experiencia en programación existente, donde los bootcamps los llevaron al siguiente nivel.

En Europa, muchos ingenieros de software están capacitados en base a la educación progresiva y especialmente en base al concepto de metodologías basadas en proyectos y aprendizaje entre pares. Muchos graduados están trabajando en las principales compañías como Google, Facebook, LinkedIn, Uber … Decidí importar este formato en los EE. UU. Mientras lo mejoraba: Holberton School

Es un programa de 2 años, los estudiantes comienzan a trabajar después de 9 meses. Sin maestros formales, sin conferencias, los estudiantes aprenden practicando y colaborando, que es más o menos lo que hacen los ingenieros de software en el trabajo. Después de 9 meses, sin experiencia previa en programación (u otro conocimiento específico), los estudiantes encuentran trabajos de software en Docker, Apple, Dropbox … Cherry on the cake, no hay costo de matrícula por adelantado. Como creemos que nuestro modelo educativo funciona, los estudiantes solo pagan un porcentaje de su salario una vez que obtienen un trabajo.

En última instancia, no existe un tipo de educación ideal que nos sirva a todos, pero el software es como un oficio, es practicando que lo dominarás. Es por eso que creo que las escuelas de educación progresiva son las más adecuadas para capacitar ingenieros de software que la industria necesita.

Finalmente, como Amazon está reclutando a ingenieros de software, es posible que desee ver si hay un programa interno sobre cambio de carrera para los empleados actuales.

¡Buena suerte! 🙂

Una de las mejores cosas de Amazon es que te darán la oportunidad de cambiar roles si demuestras competencia.

Tendrá que aprender un conjunto completamente nuevo de habilidades para convertirse en un SDE en Amazon, incluida la posibilidad de pasar la entrevista técnica. Conozco personas que comenzaron como gerentes de programas, primero se convirtieron en ingenieros de soporte, luego se convirtieron en SDE después de que desarrollaron sus habilidades.

Tendrá que asumir un rol en el que pueda trabajar en secuencias de comandos, aprender Perl, Ruby on Rails, etc. Encuentre un mentor en un equipo de ingeniería que trabaje con el suyo y encuentre oportunidades en su equipo actual para construir pequeñas herramientas que agreguen valor. Hágalos parte de sus objetivos para obtener crédito por el trabajo.

Alternativamente, puede ampliar sus habilidades de ciencia de datos y aprovechar eso. Hay varios equipos en Amazon que necesitan esas habilidades, incluida la organización SCOT (equipo de optimización de la cadena de suministro).