¿Cuál es la lista completa de habilidades de codificación necesarias para conseguir un trabajo en Google?

Con su título, probablemente tenga el comienzo de lo que Google necesita en lo que respecta a la programación. Google busca pensadores innovadores y, por lo tanto, hace algunas preguntas interesantes. Conozco a varias personas que se han entrevistado con Google y me han dicho que poder pensar en pie y encontrar soluciones inteligentes a los problemas es la cualidad más importante que una persona podría tener. Cualquiera puede aprender a programar, quizás no bien, pero comprender cómo aplicar sus conocimientos para resolver problemas es mucho más importante. Hay varios sitios que ofrecen algunas de las preguntas anteriores de Google. Esta (17 preguntas anteriores de la entrevista de Google tan ridículas que la compañía les prohibió) también ofrece algunas respuestas de muestra. Las preguntas se cambian regularmente, así que no intentes memorizar ninguna respuesta. En su lugar, intente mejorar su pensamiento de solución “lista para usar”. Buena suerte.

Al leer su pregunta, la mayoría de la gente le dice que esto es absurdo. Al menos por el momento. Pero esto es bastante alcanzable. Aunque tomará años antes de que puedas llegar allí.

Primero, debe estar familiarizado con el lenguaje de programación específico. Aprenda las herramientas utilizadas en este lenguaje, como marcos y bibliotecas.

Aprenda herramientas básicas de desarrollo de software como control de versiones (Git, SVN, etc.), editores de texto, control de paquetes: NPM (NodeJS), maven (Java), bundler (Ruby), pip (Python), etc.

Aprenda desarrollo de software basado en pruebas.

Cree su cartera, aunque esto no es necesario, ya que siempre puede comenzar como un novato en la empresa. Pero esto aumentará la probabilidad de que te contraten.

Si tiene estas habilidades básicas de desarrollo de software, puede trabajar para cualquier empresa de tecnología. Cómo llegar a una empresa específica eventualmente dependerá de usted.

Por último, conozca a alguien que trabaje en Google que pueda ayudarlo a superar el proceso de contratación. Además, sea específico sobre el proyecto en el que desea trabajar y el papel que desea en ese proyecto.

PD: Todavía no he trabajado para Google ni para ninguna gran empresa (y no tengo intención de hacerlo). He pasado toda mi carrera como desarrollador web independiente trabajando para empresas de nueva creación. Al estar en esta industria durante bastante tiempo, aprendí las prácticas básicas en el desarrollo de software y estoy seguro de que no es una gran diferencia en Google y en ninguna compañía de tecnología gigante.

su disposición a comprometerse es agradable pero carece de sentido, al igual que la lista que está buscando. Estoy seguro de que hay tantos proyectos diferentes allí que cualquier habilidad que pueda tener podría ser útil. La triste realidad es que no obtienes trabajo “en google” ni en ninguna otra empresa. Obtienes una posición específica que requiere un conjunto específico de habilidades, y estas varían entre las posiciones.

Su mejor apuesta para ingresar a una empresa es conocer a personas que puedan guiarlo a través del proceso de contratación y presentarle a los gerentes de contratación y futuros colegas. Sin eso, estás a merced de reclutadores y personas aleatorias a las que realmente no les importa.

Honestamente, no hay una lista completa: para ser aún más sincero, todas sus posibilidades de ser contratado se basan principalmente en quién lo entrevistará.

Ser inteligente y competente comienza sabiendo que nunca se puede saber todo y trabajar desde allí. La capacidad de recopilar información rápidamente y tomar decisiones basadas en eso es su mejor amigo.

Puede ser golpeado con un entrevistador que quiera preguntar algoritmos gráficos. Otro podría centrarse en operaciones de bits y un tercero preguntará sobre el sistema operativo de bajo nivel. No hay forma de que puedas cubrir totalmente todos los temas sobre los que los Googlers te preguntarán, simplemente porque los entrevistadores siempre cambian sus preguntas cuando la gente comienza a acostumbrarse (demasiado en línea).

Sé un aprendiz, no un memorizador.

La mejor discusión de una lista completa fue reunida por Steve Yegge en su blog:

Consigue ese trabajo en Google

No es suficiente afirmar que sabes todas estas cosas. Debe dar una señal creíble de su conocimiento para obtener una entrevista.

¿Tiene un historial de logros que pueda señalar? ¿Tiene contribuciones a código abierto? ¿Ganas en concursos de programación competitivos? ¿Escribes artículos sobre programación o computadoras? ¿Otros profesionales dan testimonio de sus habilidades? ¿Tiene logros de liderazgo significativos que pueda señalar?

Más allá de solo estudiar, deberías estar construyendo un historial.

Los objetivos y las aspiraciones son geniales, pero debes saber cómo dar el primer paso para llegar allí. Tu pregunta deja bastante claro que no entiendes cómo hacer los primeros pasos.

Su pregunta es básicamente equivalente a preguntar “No puedo superar un conjunto de ejercicios de calistenia en mi clase de gimnasia, así que ¿puede darme un paso a paso sobre cómo llegar a los Juegos Olímpicos?”

Es genial que quieras llegar a los Juegos Olímpicos (Google), ¡pero debes entender por qué no puedes conseguir ningún trabajo! ¿Al menos ha comparado cuáles son los requisitos de trabajo de nivel de entrada típicos y cómo se compara con sus antecedentes?

Si tiene antecedentes similares, ¿qué está haciendo para fallar durante el proceso de contratación? Comience con lo básico. Si no puede conseguir ningún trabajo, establecer sus miras aún más altas (por ejemplo, Google) no va a ayudar

Aplicación a la psicología de Google

Si desea postularse para Google, implícitamente necesita un nivel de compromiso y estatus profesional. Las personas generalmente se preparan para este nivel de logro profesional con pasantías, experiencia laboral, proyectos de investigación o educación en alguna rotación o desarrollo. Lo hacen antes de su solicitud a Google y, por supuesto, en un equipo y departamento específicos. A medida que se concentra en las habilidades de codificación, debe tener fluidez en todos los lenguajes de programación que solicitan o esperan para trabajos avanzados. También debería haber practicado los algoritmos, las estructuras de datos y cualquier curso de informática para trabajar con sistemas informáticos, redes y su software. Por lo general, incluso en un trabajo de baja responsabilidad en Google, tiene la expectativa de desarrollar software y código para su arquitectura. Esto debería ser natural porque Google tiene un gran logro de capital, invierte en una gran cartera en tecnología o industrias extendidas, y contrata una fuerza laboral compleja. Todo esto se suma a una corporación bien estructurada, pero con gestión de riesgos e inversión, con muchos trabajos y departamentos. También tienen un propósito global e implícitamente cualquier relación con la universidad, la empresa y el gobierno para respaldar su objetivo. Quizás, con esta respuesta, debería tener la intuición de que pertenece a Google como un empleado. Pero que trabajas dentro de un equipo y en software avanzado dentro de un ecosistema más amplio de productos y servicios. Y que contribuyes a una gran corporación y sociedad compleja en el fondo.

No hay tal lista. Nada puede garantizarle un trabajo en una empresa en particular.