Si desea convertirse en un ingeniero de software en Google, necesita ser un gran programador. Debería sentirse súper cómodo con el código C o Java sintácticamente correcto, sin la ayuda de un IDE. Debe conocer los patrones comunes para tratar con varios tipos de datos: fechas y horas, direcciones IP, diferentes tipos de números.
También deberá familiarizarse con los algoritmos y las estructuras de datos comunes. Debe conocer, de antemano, las complejidades de tiempo de las operaciones comunes contra diferentes tipos de datos. Debe tener una idea general de las características de rendimiento de los diferentes tipos de acceso a datos (caché de la CPU, memoria principal, red, disco, etc.) y otras operaciones comunes, como los cambios de contexto.
También necesitará un buen conocimiento general sobre varios campos de software. ¿Puedes discutir los hashes y sales en el contexto de la criptografía? ¿Estás familiarizado con Linux? ¿Puedes discutir los detalles de las pruebas unitarias? ¿Tiene experiencia práctica con control de código fuente? ¿Estás familiarizado con el binario y el hexadecimal?
Si algo en esa lista le parece desalentador, probablemente no esté listo para convertirse en un ingeniero de software en Google. Muchas personas se gradúan de un programa de informática sin el conocimiento adecuado para conseguir un trabajo en Google, pero eso no indica que no estén listos para comenzar una carrera en ingeniería de software. Simplemente no son el tipo de persona que Google está buscando.
- Estoy completamente deprimido por mi altura. ¿Que puedo hacer?
- ¿Por qué es que cuando dejo de fumar marihuana me deprimo?
- ¿Cuál es la conexión entre el arte y la depresión?
- ¿Hay alguna razón por la que no debería suicidarme en este momento? Siento que mi vida se ha convertido en un desastre, no tengo amigos, y a menudo lloro solo y termino sintiéndome más miserable.
- Cómo superar la depresión debido a razones personales y tiempos extraños en una carrera también
Hay un montón de trabajo para alguien que es un desarrollador de software competente, y aprenderá mucho de trabajar comercialmente. Si ha salido del curso con la capacidad de conseguir un trabajo en la industria, probablemente aprenderá más de eso que repitiendo el trabajo del curso.
Finalmente, si realmente quieres desarrollar una gran carrera en ingeniería de software, ya sea que lo hagas con Google o en otro lugar, te daré este consejo: cultiva una pasión y curiosidad por crear software. A veces, cuando entrevisto a alguien que ha estado fuera del trabajo durante un par de meses, puedo decir que no han codificado todo el tiempo, apenas pueden recordar la sintaxis. Otras personas pueden indicarme todas las contribuciones que han hecho en GitHub durante su tiempo de inactividad. Al igual que los entrevistadores de Google, no quiero contratar a alguien que pudiera codificar y probablemente pueda volver a aprender; Quiero contratar a alguien que pueda escribir código ahora.
Otro aspecto de esa curiosidad es la autoeducación. Poder contarme dos conceptos interesantes que ha aprendido leyendo blogs sobre el desarrollo de software en los últimos 6 meses y mostrarme dónde ha jugado con una nueva técnica solo porque fue interesante en los últimos 12 meses.
Para terminar, la única razón para pensar siquiera en repetir todos esos años es si realmente te perdiste tanto que no puedes ni comenzar en los próximos pasos. Si crees que saliste de eso, un programador mediocre que ha olvidado más de lo que aprendiste, pero aún tiene cierta comprensión de los algoritmos y la programación, bienvenido al síndrome de impostor: ve a buscar un trabajo y comienza tu carrera.