Un año puede calificarlo para una pasantía, no un trabajo de nivel de entrada.
¿Conoces los requisitos para un trabajo de desarrollo en Google? Conocer algoritmos y estructuras de datos en teoría sin práctica de programación y experiencia práctica no lo ayudará. La única forma de obtener experiencia en programación es hacerlo. Preferiblemente no de un libro sino contra una necesidad real.
El libro no le proporciona las “reglas”. Encontrará que el conocimiento y los enfoques del libro en comparación con la programación diaria son bastante diferentes.
- ¿Hay trabajos de Python?
- Solicita un puesto de ingeniero de software senior y se desempeña bien en la entrevista, pero la compañía ofrece un rol de nivel medio. ¿Por qué crees que cualquier compañía hará eso?
- ¿Vale la pena continuar con el diploma de informática cuando no estoy aprendiendo nada nuevo?
- ¿Por qué la gente dice que ser bueno en matemáticas es necesario para ser un buen programador?
- ¿Cuáles son las posibles carreras en Geometría Computacional?
¿Crees que en un año podrías cumplir con estos requisitos? Esta es una descripción de trabajo de nivel de entrada para un puesto de desarrollo de Google Java:
Búsqueda – Google Careers
Responsabilidades
- Servir como recurso técnico clave en la programación de aplicaciones y herramientas.
- Apoye los esfuerzos de prueba y lanzamiento de nuevas aplicaciones web.
- Participe en tareas de guardia para mantener los sistemas de software en funcionamiento.
Calificaciones mínimas
- Licenciatura / Licenciatura con un enfoque en Ciencias de la Computación o Ingeniería de Software o experiencia práctica equivalente.
- 1 año de experiencia laboral relevante.
- Experiencia AJAX / HTML / CSS y Java.
- Desarrollo de bases de datos y aplicaciones web; Inyección de dependencias, sistemas distribuidos y experiencia en subprocesos múltiples.
Calificaciones preferidas
- MS / PhD en Informática.
- Experiencia en Google App Engine, Guice y Google Web Toolkit.
- Experiencia de scripting de shell Unix y administración de sistemas.
- Experiencia en desarrollo de aplicaciones móviles (Android, iPhone).
- Fuertes habilidades de Linux.
Hay más en la codificación que las estructuras de datos y algoritmos. ¿Sabes qué conceptos de Java necesitas saber para calificar para este puesto? La pista está en la última viñeta en “Calificaciones mínimas”. Esos son los conjuntos de habilidades y tecnologías de Java que debes conocer.
Esto incluso cubre las otras habilidades y lenguajes de programación que necesita tener. Se enumeran al menos dos idiomas más.
Y esto es solo entrar por la puerta. Y no como un candidato preferido.
¿Puedes aprenderlo en un año? Quizás. ¿Es realista? Realmente no. Tendría que encontrar un proyecto de código abierto o hacer una programación voluntaria para que alguien obtenga ese año de experiencia y desarrolle sus habilidades. E incluso entonces no habría garantías. ¿Qué valor aportas a la mesa para hacerte una contratación atractiva para Google o cualquier otra persona? Esa es la pregunta que debes responder.
Estás viendo un año duro de esfuerzo dedicado.