Como estudiante y atleta, ¿cómo debo encontrar tiempo para aprender un nuevo lenguaje de programación de manera efectiva?

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.

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?

No tengo ni una idea pero antes de comenzar las sesiones de entrenamiento, piense por un momento sobre algún problema que está tratando de resolver en el lenguaje de programación que está aprendiendo.

No necesariamente al nivel de cada línea de código individual, sino en términos de cómo podría estructurarlo. ¿Cuáles son los pasos que debo seguir para implementar los algoritmos o procesos que necesito? ¿Qué funciones u objetos / clases necesito crear? ¿Qué sé sobre el idioma en el que actualmente sé cómo hacerlo y qué necesito para ir a aprender o investigar? Esa clase de cosas.

Entonces empieza a entrenar y deja de pensar en ello. Pero deja que te importe trabajar por su cuenta por un tiempo.

Luego, vuelva a su problema después de que haya terminado de entrenar, y puedo garantizarle que habrá tenido un par de momentos de bombilla, o al menos tendrá una idea mejor que antes de cómo abordarlo. incluso si es solo una lista de las cosas sobre los idiomas que sabes que aún no sabes, y por lo tanto tienes que empezar a investigar.

Eso me funcionó mientras estaba aprendiendo Orientación a objetos en Python recientemente. No estaba haciendo entrenamiento atlético, pero me puse a pensar en el problema, ir y hacer algo completamente diferente por un tiempo, como cortar el césped. No estoy bromeando) o cocinar la cena, y luego volver a ella. Descubriría que tenía una idea mucho mejor de cómo abordar el problema.

Soy un estudiante de licenciatura en informática. Han pasado 4 años ahora. No soy deportista, pero me gusta el deporte. Podría pasar las 24 horas de la semana haciendo deporte: ciclismo, jogging, yoga y fútbol. En algún momento escalar una montaña.

En el primer año, aprendía el lenguaje de programación uno por uno. 1er año, aprendí as3, C y java. 2do año, aprendí .NET y programación web. ¿Pero tu sabes? Es un poco frustrante. Aprendí as3 y luego java, cuando volví a as3, lo olvidé. Las mismas cosas pasan cuando aprendí .NET. Después de varios meses, olvidé cómo usar Java, me siento adormecido. Apuesto a que, si aprendes un nuevo lenguaje de programación, nunca lo toques de nuevo en 3 meses, te sentirás aficionado.

Entonces, me encuentro con un amigo que de alguna manera puede dominar todo el lenguaje de programación. Cuando encontré un problema, casi todo el tiempo le pregunté: “¿cómo solucionarlo?”. Primero, solucionó el problema, luego dijo: “lea la documentación”. Un poco molesto, siempre decía, “lee la documentación”. En algún momento él también se enoja, “lee el manual de f * ck * ng”.

Entonces me doy cuenta, hay varios programadores amables, 2 de ellos:
1. Foco en mente: he estado programando por 1000 horas, solo dominando 1 o 3 lenguajes de programación.
2. mentalidad manual: en algún momento llamado googler, tener una habilidad para entender la documentación rápidamente. No son rápidos en la primera vez, pero una y otra vez, documento tras documento, cada vez son más rápidos. Incluso, son mejores cuando leen el código de otros.

Luego, elijo ser el número 2, porque el lenguaje de programación tiene diferentes tendencias una y otra vez. Y tengo muchas aficiones e intereses que hacer, además de los deportes. Comenzó desde el 3er año en que me convertí en Googler Me detengo a aprender un nuevo lenguaje de programación solo para aprender, sin propósito. Aprendo un nuevo lenguaje de programación solo cuando tengo un gran propósito como proyecto de inicio, competencia o proyecto orientado al dinero.

Yo había trabajado en una empresa. En primer lugar, tengo la tarea de desarrollar la aplicación de Windows Phone. Luego, obtuve una asignación para desarrollar una aplicación en la aplicación de equipo de Samsung, que nunca antes toqué ese dispositivo. Tenía 2 semanas para aprenderlo, antes de empezar a crearlo. Después de eso, obtuve una nueva asignación nuevamente, desarrollé una aplicación en iOS, pero usé un lenguaje de programación nuevo y veloz en ese tiempo, incluso una versión beta. En la misma situación, anteriormente nunca toco el iPhone y Swift aún es nuevo, recién sacado del horno y 2 semanas para explorar. Lo que siento es que después de convertirme en Google, no hay muchos problemas diferentes en comparación con el lenguaje de programación que había aprendido anteriormente. El tiempo para terminar el problema con un nuevo lenguaje de programación es casi el mismo que el anterior. Solo 1 o 2 problemas tengo que terminar mucho más tiempo de lo habitual.

Así que, hasta ahora, sigo googler y hago deportes tanto como quiero.

Usa un proyecto. He revisado diversos materiales para muchos lenguajes de programación, pero estoy seguro de que conozco los idiomas en los que realmente he trabajado en un proyecto. Podría ser un proyecto simple no comercial, siempre que le ayude a lograr algo en ese idioma. Ya que usted es un atleta, por ejemplo, le recomendaría que construya con un nuevo idioma algo que pueda ayudar a su atletismo. Todo lo que puedo decir es seguir adelante y empezar.

Ver videos. Hay muchos buenos disponibles en YouTube. También puede suscribirse a las suscripciones de video de pago. Me parece que gastar 15 minutos al día, 5 días a la semana en un idioma y practicar lo que aprendió durante 15 minutos se movería fácilmente a un buen programador …
(Algunos otros pueden diferir de esta idea)

Ya puedes hacer cualquier cosa en la que pongas tu mente. Prueba este sitio web y serás un maestro después de un mes:

Aprende a codificar y construir aplicaciones web en un mes.

Yo diría que tu plato ya está lleno. Si sientes que tienes tiempo libre, obtienes todas las calificaciones de A y no te faltan las prácticas, entonces tal vez agregues un nuevo aprendizaje de programación. También puede considerar tomar un curso más pesado y graduarse antes. Recomiendo no sobrecargarse en la universidad y hacer los mínimos para aprobar cada clase. Si encuentra que sus clases son una pérdida de tiempo, considere otra especialidad o escuela.