Cómo aprender a codificar de la manera más difícil.

¡Hola!

Sí, seguro que hay tales métodos. Es genial que estés buscando el mejor método de aprendizaje desde el principio, porque esto será todo. Mi equipo en la Escuela de Ingeniería de Software Holberton en San Francisco es uno de los líderes en el campo del fortalecimiento del aprendizaje efectivo con nuestro enfoque de Educación Progresista. Nuestra analogía favorita es que el software es como un oficio: el dominio solo viene con la práctica. ¡Así que si quieres lo difícil, diremos practicar, practicar y practicar!

Sin embargo, no tiene que ser mundano o tedioso. Para asegurarse de no alcanzar un punto de estancamiento y continuar interesándose, practique con cosas significativas, como proyectos que le entusiasman y que le brinden la oportunidad de aprender más. En Holberton somos fuertes defensores de las metodologías basadas en proyectos y de aprendizaje entre iguales. La búsqueda de proyectos personales no solo le permite mejorar en gran medida sus capacidades de codificación, sino que esta será la experiencia de aprendizaje más gratificante que lo ayudará a desbloquear su verdadero potencial de programación, lo mantendrá motivado y, en última instancia, lo hará sentir orgulloso de sí mismo.

Además, aprende a divertirte. CodinGame es una gran plataforma para practicar, hecha de videojuegos que controlas utilizando un lenguaje de programación de tu elección. HackerRank es una plataforma donde puedes probar tu habilidad de programación.

Una buena idea es trabajar con un mentor de la industria, que trabaje con el software que está aprendiendo. Con tanta información disponible en todas partes es fácil perderse. Defina un plan con su mentor sobre lo que debe estudiar y continúe revisando su trabajo para que sepa que va en la dirección correcta.

Además, recuerde que para desarrollar habilidades de codificación a largo plazo, es vital que tenga la capacidad de aprender por sí mismo, sea flexible y se adapte rápidamente al nuevo software. Esto se debe a que el mundo del software sigue cambiando y, antes de que te des cuenta, hay algo nuevo. Esta habilidad va muy lejos. En Holberton, los estudiantes aprenden a aprender y se gradúan con un amor de por vida por el aprendizaje, a medida que continúan adquiriendo nuevas habilidades para finalmente obtener una gran carrera.

¡La mejor de las suertes en todo! 🙂

Es el año nuevo, lo que significa que muchos de nosotros estamos haciendo resoluciones para ser seres humanos mejores, más sanos, menos malos o, en general, más valiosos.

Una resolución popular es (otra vez) aprender a codificar. Con un campo cada vez más multiplicado de sitios web de aprendizaje electrónico, campamentos de inicio de desarrollo web y otras entidades con fines de lucro invertidas en la enseñanza de la codificación, este es un impulso continuo e incansable durante todo el año, pero el Año Nuevo es un momento mágico para el Cultivo de aprendices ocasionales. Aprende a codificar: ¡Es fácil!

De edX: “Conviértase en el genio que diseña, controla y potencia los dispositivos digitales, sitios web, aplicaciones móviles y más con los que interactuamos todos los días”. Es tentador, ¿verdad?

He tomado varios cursos de informática y programación de edX, generalmente para repasar algo o complementar una clase universitaria (y casi nunca), y fueron muy buenos. También tomé cursos de Coursera, Udacity, Lagunita de Stanford (basada en la plataforma edX) y OpenCourseWare de MIT (que es más una plataforma de edición abierta pasiva). Esos también son geniales y todo se puede obtener por el bajo precio de $ 0 (aunque a menudo se puede pagar dinero por actualizaciones, como certificados y “nanodegres”).

Entonces, todo está ahí para ser tomado. ¿Deberías hacerlo? ¿Debes aprender a codificar?

No. Al menos no, no en el sentido habitual de “aprender a codificar”. Debería aprender a codificar con el tiempo y más temprano que tarde, pero el curso incorrecto para comenzar su aprendizaje de codificación es el curso introductorio de JavaScript que le enseñará algunos conceptos básicos de la sintaxis y cómo usar esa sintaxis para hacer algunas cosas interesantes a los sitios web.

Hay muchos de estos cursos por ahí, y si estuvieras en Google “aprendiendo a codificar” en este momento, eso es lo que más se devolvería: Introducción a JavaScript.

No tomes esa clase. Si quieres crear sitios web, aprende JavaScript con el tiempo, pero no empieces con él. Una vez que tenga alguna base en cómo funciona el código, en cómo los lenguajes de programación se comportan e interactúan con las computadoras y la web, JS no será nada. Incluso puede elegir evitarlo y desarrollar el desarrollo web front-end.

La diferencia entre aprender a codificar y aprender sobre el código es, obviamente, bastante borrosa. Necesita usar el código para aprender sobre esto, pero hay formas mejores y peores de hacerlo. Las mejores formas son más difíciles, menos aplicables de inmediato, y van a tomar más tiempo. Lo siento, pero valdrá la pena al final.

Aprendí a programar en C en un colegio comunitario y no lo habría hecho de otra manera. Como es común en los programas universitarios de informática, esta introducción se distribuyó en dos cursos consecutivos en dos trimestres académicos consecutivos. Al principio, tenía poco interés en la informática. Estaba persiguiendo un título de ingeniería eléctrica y los cursos de CS eran requisitos, pero terminé enganchado, cambiando mi pista de EE a informática y finalmente me transfirieron a una escuela de cuatro años y, eventualmente, ser aceptado en un programa de posgrado en informática.

Las metodologías más confiables (sin duda las que utilizo son).

  • Desarrolle en sprints (en dos semanas o más) Decida al inicio qué planea desarrollar y haga lo mejor para cumplirlo: si identifica que tiene que cambiar de dirección, asegúrese de que cuando finalice el trabajo que ha detenido. está en un estado sano.
  • Diseño y desarrollo dirigidos por pruebas: escriba sus casos de prueba primero, esto le brinda dos beneficios:
  • Usted termina diseñando su código para que pueda probarse fácilmente: limpie las interfaces, etc. Si puede probar su código fácil y repetidamente, hará que su código sea más confiable.
  • Usted crea una línea de base de expectativas, que puede repetir con frecuencia (repito mi conjunto de pruebas cada vez que escribo una nueva función / método y, por supuesto, cuando hago algún cambio). Esta prueba repetida garantiza que no esté introduciendo errores como tu desarrollas
  • Comprenda no solo lo que está desarrollando, sino también por qué (quién lo está utilizando y cuál es el beneficio para ellos): esto le ayudará a asegurarse de que desarrolla la función adecuada para el público adecuado (por ejemplo, no tiene sentido desarrollar un comando). Cuando su audiencia esperada solo usa una GUI, tuve que ayudar a recuperarme de las consecuencias de una característica desarrollada en un sistema pero donde los usuarios que necesitaban la nueva información no tenían acceso a ese sistema, y ​​el sistema no pudo modificarse fácilmente para darles acceso – problemas con la separación comercial y la regulación nacional).
  • Agile es un conjunto de principios de desarrollo de software, no una práctica de programación. Si desea aprender a programar de manera difícil, comience por aprender Algoritmos, luego Estructuras de datos y luego lenguajes como COBOL, BASIC, Lisp o Prolog. Entonces entra en el mundo de C.

    Una vez que haya hecho todo esto, comience con Java, C #, C ++ o un idioma de su elección.

    Te recomendaría que te unieras a sitios web de programación competitivos como codechef