He estado estudiando ciencias de la computación desde hace algunos años, y estoy entrando en mis etapas finales de estudiante. Por algún milagro, también me las arreglé para hacer malabarismos con el remo de un equipo universitario universitario durante mi estancia en la universidad.
Durante mucho tiempo, luché con el mismo problema exacto. Vi a mis compañeros de clase participar en proyectos paralelos, aprender nuevos idiomas y, en general, ser cómodos con la programación. Y aunque siempre me fue muy bien en el aula, no pude evitar sentir que me estaba quedando detrás de la curva. Enseñar a ti mismo Objective-C en tu tiempo libre no es tan malo si solo tienes clases de las que preocuparte, pero con dos horas de práctica dos veces al día, seis días a la semana, además de viajar durante la temporada, es bastante difícil de encontrar tiempo para casi todo.
Sin embargo, hay cosas que puede hacer para tratar de ampliar su conjunto de habilidades a pesar de tal programa:
- Tome clases electivas que están fuera de su zona de confort: por necesidad, aprenderá los entresijos de los idiomas como parte de sus cursos. ¿Te imaginas un experto en Java? Tome una clase sobre sistemas integrados y obligue a usted mismo a sumergirse en C. Hasta cierto punto, ya ha aprendido cómo equilibrar la escuela y el atletismo. Hacer uso de ese tiempo de clase.
- Busque opciones de estudio independientes: muchas universidades permiten que sus estudiantes realicen un estudio independiente para obtener créditos, y con recursos como Coursera e iTunesU, es más fácil que nunca. La lógica es la misma que la anterior; ya tienes que ir a clase, así que si puedes aprender nuevos idiomas en la escuela, entonces genial. Hice esto con éxito para asumir la programación de iOS. Solo asegúrate de cultivar buenas relaciones con los profesores, ya que son ellos los que tienen que firmarlo.
- Tenga en cuenta que al final, los idiomas específicos se encuentran entre las cosas menos importantes que aprenderá en la universidad: cuando se trata de hacer contrataciones para recién graduados, a la mayoría de los empleadores no les importa si conoce el idioma del sabor de la semana. Para sus primeras entrevistas, su fortaleza como candidato se reducirá a unos pocos factores básicos: fuertes habilidades algorítmicas de resolución de problemas, la capacidad de aplicar estas habilidades en la práctica y buenas habilidades interpersonales.
Para el primero, obtener buenos resultados en sus estructuras de datos y clases de algoritmos recorrerá un largo camino. Por el segundo, saber muchos idiomas no te ayudará. Saber muy bien uno o dos idiomas hará maravillas. Todo está bien si sabes cómo escribir Hello World en 10 idiomas, pero si no conoces la función de biblioteca de quicksort en ninguno de ellos, tienes un problema.
- Cómo aprender sistemas de comunicación desde cero.
- ¿Cuántas horas se tarda en aprender Ruby sin conocimientos de codificación?
- ¿Qué dialecto del irlandés debo aprender?
- ¿Qué tan útil es la programación para aprender matemáticas?
- ¿Cuáles son las cosas que debe aprender para prepararse para una competencia de programación?
En cuanto al desarrollo de habilidades interpersonales, su experiencia en atletismo podría ser una fortaleza. Para muchos estudiantes de CS, es fácil encerrarse en una habitación durante horas y piratear el kernel de Linux. ¿Pero poner a esa persona en una situación social? Puede que no jueguen tan bien. Los empleadores quieren personas con habilidades de comunicación sólidas, que sean capaces de trabajar bien con otros en un entorno orientado al equipo. Con las horas de práctica que probablemente haya puesto en entrenamiento al lado de sus compañeros atletas, probablemente tenga esto a su favor.
Finalmente, me gustaría agregar que la escuela (y, por extensión, su carrera) no puede ser la suma total de su existencia. Vivir una vida feliz y equilibrada es sobre (lo adivinaste) el equilibrio. Y si le das a tu cerebro tiempo para descansar y disfrutas de las cosas que te apasionan, te rendirá grandes dividendos cuando hagas un esfuerzo por resolver el próximo problema de programación. No puedo decirte la cantidad de veces que he ido a la práctica completamente desconcertada por un algoritmo, o algún error esquivo, solo para que la solución “salte” dentro de mi cabeza justo después de que salga del agua. Realmente creo que hay una especie de procesamiento de nivel zen que ocurre en tu cerebro si puedes dejar que respire de vez en cuando.
Además, al final, la vida se trata de disfrutar las pequeñas cosas, ¿verdad?