Cómo utilizar eficazmente mis últimos dos años de universidad para prepararme para un excelente trabajo de ingeniería de software en Google, Facebook o una startup

  • No descarte los llamados cursos de “teoría”. Es necesario comprender los algoritmos para pasar entrevistas y escribir código escalable.
  • Trabajar en proyectos de programación, cuanto más grande mejor.
  • Obtenga su código revisado por otros, cuanto más experimentado mejor.
  • Hazte muy bueno en un lenguaje de programación. Si es Java, estudie Java efectivo . Para C ++, C ++ efectivo y su secuela, etc.
  • Tome un curso de Lenguajes de programación para exponerse a diferentes paradigmas de programación. Las ideas se trasladarán. (El mapa de reducción de Google vino del mundo Lisp).
  • Aprenda sobre la jerarquía de memoria, desde registros hasta almacenamiento secundario, y cómo optimizar el rendimiento.
  • Aprenda sobre concurrencia y sincronización.
  • Estudie un libro de preparación para entrevistas, como Programar entrevistas expuestas o Romper la entrevista de codificación .
  • Cuando presente la solicitud, especialmente si no pertenece a una de las 5 mejores escuelas, busque un empleado de Google / FB que pueda derivarlo. Eso lo lleva a la cima de la pila, y esa persona estará motivada para ayudarlo, incluso para asegurarse de que no se pierda en la confusión. No aplique a través del sitio web. Eso hará que cualquier remitente posterior no sea elegible para un bono de referencia.

FWIW, he trabajado en Google desde 2004 y he dado más de 100 entrevistas con ingenieros de software.

Inicie proyectos personales, contribuya al software de código abierto, cree su cuenta de GitHub y presuma sus cosas. Hoy, esa es una de las mejores cosas para ganar experiencia y mostrarle a otros tus cosas sin necesariamente tener un trabajo regular.

Una de las cosas más difíciles e importantes al salir de la universidad es el hecho de que en un entorno de trabajo colaborativo, la experiencia de ser parte de un equipo y poder pedir / dar ayuda puede ser crucial. El software de código abierto, nuevamente, puede ser una forma viable de obtener experiencia.

Probablemente convertirse en ingeniero de software en grandes empresas cuando se acaba de graduar es muy difícil para todos. Sin embargo, no es un problema. Hoy en día, las nuevas empresas están creando piezas tecnológicas muy interesantes, y seguramente obtendrás muchas habilidades.

Otra cosa importante es poder escribir software en más idiomas y para más propósitos. Si tuviera que recoger algunos, diría: Javascript, C, Scala / Java / Python.

Mira amigo, me gustaría aconsejarte que lo primero que debes tener claro siempre es que siempre aclaras tus conceptos básicos con mucha firmeza …

Entonces, para comenzar a hacer esto, primero comience con “ESTRUCTURAS DE DATOS”
Lea la estructura de datos de “geeksforgeeks.com” …
Comience a hacer códigos de la lista vinculada y llévelo a los gráficos y todo eso …
Siempre recuerda que no dejes nada en el medio.
Y en la mayoría de las buenas empresas, la pregunta de la entrevista siempre es de DS y ALGO …

Después de estudiar DS, vaya a “codechef.com” y comience a resolver la pregunta fácil y resuélvala hasta que esté totalmente loco, es decir, pruébelo hasta que pueda … y luego participe en los desafíos largos que se llevan a cabo todos los meses . También hay muchos otros sitios desde donde puede practicar preguntas de DS como SPOJ, topcoders, etc.

Cuando haya terminado con su DS, comience a estudiar ALGO de Coursera …

Y una vez que comience a hacer todo esto, hágalo y no abandone a cualquier costo …

Trabajar pacientemente
Buena suerte

Nunca he trabajado para Google o Facebook, por lo que no hablaré desde esa perspectiva. Sin embargo, tengo algunas palabras sobre esto.

Comenzando con una analogía en el fútbol (también conocido como fútbol). Un jugador joven y talentoso no debe apuntar a unirse a un equipo como el FC Barcelona o el Real Madrid (España) demasiado pronto, precisamente porque ya tienen todos los jugadores de clase mundial que necesitan. Tal talento nunca puede crecer a su máximo potencial debido a los grandes jugadores de clase mundial que se elevan por encima de todos los demás. En cambio, los jóvenes talentosos deberían buscar equipos más pequeños pero ambiciosos donde tengan la oportunidad de jugar regularmente y, por lo tanto, crecer.

Volviendo a esta pregunta, trataría de aprender informática correctamente. Hay muchos consejos y recursos para esto. Trate de entender las cosas, forme su propia opinión, evite simplemente aplicar las recetas de otra persona, porque su mente no crece con ese ejercicio.

Es probable que ya se hayan realizado grandes trabajos de ingeniería de software en Google o Facebook, es posible que nunca tenga la oportunidad de acercarse a eso.

Sin embargo, si conociera a un par de sus amigos en la universidad con ambición y buena actitud, intente seguir aprendiendo juntos, establezca desafíos, vea si pueden hacer algo juntos. Esté atento a las nuevas empresas que están en sus comienzos, donde tiene la oportunidad de tener un impacto o responsabilidad técnica rápidamente. Si le va bien, y a esa startup le va bien, entonces la mejor oportunidad para que cualquiera de sus empleados se una a una de las principales empresas como Google o Facebook sería comprarla. También conocido como absuelto.

Personalmente descubrí que poder trazar el propio curso es la mejor manera de aprender y crecer.

Trabajar en Google o Facebook o en una startup son dos cosas completamente diferentes. Lo mejor que puedes hacer es decidir por ti mismo cuál quieres seguir.

Ellen dio una excelente respuesta a lo que quieres hacer para entrevistar en Google. Las grandes empresas y las nuevas empresas ahora están buscando excelencia en la programación, por lo que debe trabajar en esa línea.

Déjame concentrarme en prepararme para un trabajo en una startup. Será de vital importancia estar motivado, estar listo para trabajar con poca o ninguna supervisión. Se espera que identifique proactivamente problemas y problemas y encuentre soluciones por su cuenta o como parte de un pequeño equipo.

Este enfoque es muy diferente del entorno universitario tradicional, donde se le dice qué estudiar en los cursos y la excelencia se define por lo bien que siga. Otra diferencia clave es que formará parte de un pequeño equipo que trabajará muy intensamente, por lo que las habilidades de las personas serán muy importantes.

Las nuevas empresas tienen que ver con el riesgo y las percepciones y reacciones de las personas ante él. En esta etapa, está expuesto al riesgo de decidir entre grandes empresas o nuevas empresas. Aprenda a lidiar con el riesgo entendiendo la importancia de la autoconfianza, el impulso y la creencia en el éxito.

Obtenga información sobre la compensación de capital, como las opciones y las RSU. El beneficio clave de las startups es que esas ganancias pueden ser realmente sobresalientes. Sorprendentemente, hay muchas personas que racionalizan que tales ganancias no son probables y que no pueden sucederles, y siguen rutas más seguras, y no hay nada de malo en eso.

Decide por ti mismo si estás en ese grupo o si tienes confianza en ti mismo y crees que puedes ser parte de un gran éxito.

  • Preste muy buena atención a su estructura de datos y curso de algoritmo. Asegúrate de saberlo todo
  • Cada semana, responda a las preguntas del programador principal o de uno de los sitios web de la entrevista, como la taza de carrera, y resuélvala usted mismo sin mirar la respuesta.
  • Elija un idioma (como Java) y apréndalo correctamente.

Como graduado, no se espera que comprenda el diseño de sistemas distribuidos y tolerantes a fallas. Solo aténgase a lo básico y los entiende muy bien.

Aproveche Google Summer of Code. Tenga en cuenta que GSOC no le enseñará programación, fundamentos o teoría, sino que le dará la oportunidad de practicar lo que aprende en los cursos. Le ayudará a aprender y contribuir a proyectos a gran escala mientras demuestra “públicamente” su codificación y, lo que es más importante, sus habilidades interpersonales. Un buen contribuyente de código abierto es una persona de “comunidad primero”.

Honestamente. No desees que tu vida se vaya. Usa tu tiempo en la universidad para explorar todo lo que te interesa y desentrañar tus pasiones intelectuales. Desarrollar una apreciación por la creatividad. Siempre habrá campos de trabajo (empresas de software) donde podrá vender sus habilidades, tiempo y vida. Solo mi 0.02.

Obtenga una pasantía. La fecha límite para esto es muy temprana, por lo que deberá organizarse.

directamente de la fuente:

Google en educación