Red de conocimiento del abogados - Preguntas y respuestas jurídicas - Cómo convertirse en ingeniero de Google

Cómo convertirse en ingeniero de Google

Si el editor dijera que Google contrató una vez a un codificador de base que no tenía educación universitaria formal, ni siquiera tenía una licenciatura y que era básicamente autodidacta, ¿a todos les parecería increíble? Sin embargo, esto realmente puede suceder: David Byttow, un ingeniero de software senior y emprendedor que ha trabajado para Google, Square, DoubleHelix y otras compañías, escribió recientemente un artículo que presenta su experiencia desde la base hasta ser contratado por Google, la historia es. absolutamente inspirador!

Resumen del artículo: Primero, reúne el coraje para desafiar algo asombroso y, al hacerlo, te volverás increíble.

En segundo lugar, ser amigo de “grandes nombres” de la industria puede cambiar la forma de resolver problemas y ver el mundo.

En tercer lugar, la diligencia puede compensar las debilidades y compensar la brecha en el conocimiento básico a través de mucha práctica.

En cuarto lugar, borre los antecedentes educativos de su currículum y obtenga una oportunidad de entrevista inesperada; con suficiente preparación, la entrevista en Google puede volverse divertida. Los hechos han demostrado que Google no se limita estrictamente a las calificaciones académicas de talentos destacados.

En realidad, tenía muchas ganas de ir a la universidad. Elegí postularme a UCLA, pero desafortunadamente, mi GPA en la escuela secundaria era de un mísero 2.45, por lo que no pude ser admitido en la universidad. Luego, tomé cursos de informática en la Universidad Purdue de Calumet, con la esperanza de que algún día pudiera transferirme con éxito a otra escuela o encontrar otra carrera. Después de casi dos semestres, apareció una salida: recibí una oferta que no pude rechazar.

Paso uno: Finge que eres increíble hasta que realmente te vuelvas increíble. Cuando fui a la universidad, trabajé para una pequeña empresa en Griffith, Indiana. Mi trabajo consistía en ayudar a empresas locales a crear sitios web. $12. El trabajo estaba lejos de la futura carrera de mis sueños, pero no estaba tan mal.

Trabajé duro, no hablé mucho y logré varios proyectos más allá de mis expectativas. Esto me ganó una gran reputación e hizo que la empresa fuera muy rentable. Al mismo tiempo, todavía intentaba desarrollar juegos en mi tiempo libre. Entonces tomé una medida desesperada y pedí a la dirección de la empresa que me dieran tres meses y un poco de dinero para desarrollar un juego que pudiera venderse online. Creé hermosas hojas de cálculo y gráficos coloridos para mostrarles los principios del modelo de software gratuito y el brillante "camino del dinero" de los juegos. En ese momento, no sabía realmente lo que estaba haciendo, pero aun así compraron en mi cuenta, tal vez porque los colores que hice eran muy hermosos.

Después de más de dos meses de desarrollo, publiqué una demostración en línea, que llamó la atención de la startup de California CodeFire, porque estaban haciendo exactamente el mismo shooter espacial, similar a un SubSpace no 3D. Pero la atención no es necesariamente algo bueno; desafortunadamente, me enviaron una carta de cese y desistimiento. Así que todo lo que pude decir fue: "Claro, me detendré ahí, si me contratas para desarrollar tu juego". Respondieron con una oferta y me reí.

Nota: esta empresa posee los derechos de autor originales de este juego y también notifiqué a mi antiguo empleador con tres semanas de anticipación, como era necesario, antes de dejar mi trabajo.

Paso 2: Hazte amigo de los “grandes”. Esta es quizás una de las cosas más importantes que puedes hacer: encuentra a los grandes de tu industria, déjalos ser tus mentores y recuerda aprender de ellos. . Sin fin. Una de las grandes personas que conocí mientras trabajaba en DoubleHelix fue Nathan Hunt, una de las personas más inteligentes y humildes que he conocido, y fue increíblemente paciente con todas las preguntas que tenía, sin importar cuán elementales fueran. Entré a su oficina cientos de veces y le hice preguntas aleatorias como "¿Cómo inserto suavemente una matriz de rotación en otra?" Años más tarde, se unió a Google un mes después que yo.

Cada uno de mis mentores ha cambiado hasta cierto punto mi forma de resolver problemas o de ver el mundo, y no entraré en detalles aquí.

Paso tres: cerrar la brecha No tengo un título formal en informática, por lo que entiendo que me faltan muchos conocimientos básicos. Por ejemplo, una vez utilicé un motor de física para resolver un problema de programación dinámica. , y los resultados siempre fueron infructuosos. Para cerrar estas brechas, he practicado casi todas las estructuras de datos y algoritmos más comunes de los que he oído hablar o sobre los que he leído.

Definitivamente puedes encontrar la información que necesitas, pero existe una enorme brecha entre saber lo que sucede a través de la observación y saber por qué sucede a través de la acción.

Con el tiempo, necesitarás hacer lo siguiente:

1. Ser competente en al menos un lenguaje de programación en C, C++, Objective-C, Java, PHP, Python o Ruby Language, dominio de al menos otro idioma y familiaridad con Scala, Haskell o Lisp.

2. Aprenda las estructuras de datos, practique las estructuras de datos más comunes y comprenda su complejidad.

3. Para resolver problemas de programación, lee más, practica más y piensa más.

4. Cree su propia cartera de proyectos completados (inconclusos) (como marcos de programación, aplicaciones móviles o web, juegos pequeños, etc.)

Paso 4: encuentre confianza Seis años Después de dejar Indiana, lancé alrededor de seis juegos en múltiples plataformas. Empecé a aburrirme y necesitaba un nuevo desafío. Solicité un puesto en Google, pensando que ser contratado por Google me permitiría convertirme en un "verdadero ingeniero". Para mí, una persona sin título, este era el ideal por el que había estado luchando durante mucho tiempo. Sin embargo, no he recibido respuesta de Google y no me sorprende.

Un año después, volví a enviar mi currículum, pero esta vez simplemente eliminé toda la columna "antecedentes educativos". Curiosamente, un reclutador me llamó y me programó una entrevista telefónica técnica. Le pregunté si podía programar la entrevista telefónica para dos semanas después y ella estuvo de acuerdo. Necesitaba ese tiempo: trabajé contra el reloj, metí en mi cabeza todo lo posible con varios algoritmos y estructuras de datos, programé de 12 a 14 horas al día y resolví cientos de problemas de programación. Quedé hipnotizado hasta que mi miedo a la entrevista en Google se convirtió en confianza y entusiasmo.

Aún recuerdo a todas las personas que conocí durante el proceso de entrevista en Google y fue un placer tratar con ellos. Los entrevistadores fueron divertidos y divertidos, y creo que debieron haber visto mi entusiasmo y anticipación por las preguntas de la entrevista.

Las siguientes son algunas preguntas de la entrevista que encontré: 1) Dado un conjunto de puntos bidimensionales, calcule su horizonte. Esta pregunta es muy simple, hay varias soluciones y utilicé una estructura de datos común llamada "maxheap".

3) Cuéntame cuáles son las ventajas del software que más valoras. Esta fue una entrevista de discusión "abierta", y hablé sobre varias pruebas y cuándo son valiosas (por ejemplo, unidad, integración, aceptación), estilo consistente para el mantenimiento del código, etc. Estos se pueden encontrar en libros como "CodeComplete" y "EffectiveJava".

Realmente disfruté cada ronda de entrevistas y el proceso de responder varias preguntas. Si no hubiera venido preparado, las cosas definitivamente habrían sido diferentes. Después de la entrevista, me sentí bien conmigo mismo, pero escuché que incluso si el comité de contratación finalmente decidiera emitir una oferta, tendría que estar firmada por el director ejecutivo Larry Page para que fuera válida. Me preocupaba que tan pronto como viera mis deficiencias en la educación, estaría condenado.

Sin embargo, tal tragedia no sucedió después de todo: recibí una llamada un día al mediodía mientras comía sushi en Santa Clara y acepté la oferta con gran alegría. A partir de ese día, finalmente estuve seguro de que nunca más tendría que volver a la escuela.

Como decía Sun Tzu: “El soldado victorioso gana primero y luego va a la guerra; el soldado derrotado lucha primero y luego va a ganar”.

Nota: Pasé cinco años extraordinarios en Google. Sigo aprendiendo y creciendo como ingeniero, pero ahora ya no trabajo en Google.