interesante

Las mejores maneras de aprender a codificar

Foto: Christopher Gower (Unsplash)

Si desea aprender a codificar, dar sus primeros pasos en este enorme universo puede parecer una tarea desalentadora, si no intimidante. Aquí está el gran secreto: hay muchos recursos gratuitos (y económicos) que puede usar para brindarse toda la ayuda que necesita, aprender nuevas técnicas y hacer que este proceso de aprendizaje sea divertido y emocionante, tan emocionante como la codificación puede ser, al menos .

Ya sea que sea un adulto que busca la transición a la industria tecnológica, un estudiante que busca aprender el último idioma o un aficionado que solo quiere entender cómo funcionan los programas y servicios, todo lo que necesita es una computadora y acceso a Internet para comenzar su programación. viaje. Pero antes de dar un salto volador, estos son nuestros mejores consejos y recursos para comenzar con el pie derecho.

Pregúntate a ti mismo: ¿Por qué quieres aprender a codificar?

Tómese unos minutos (o un día) para pensar en los motivos, los motivos, por los que desea aprender un lenguaje de programación. Se honesto contigo mismo. ¿Estás tratando de aprender el mínimo para obtener una promoción? ¿Estás buscando hacer un gran cambio de carrera? ¿Quieres crear la próxima mejor aplicación? ¿Emocionar a tus compañeros de habitación programando tus diversos dispositivos inteligentes para hacer algo increíble?

Su respuesta puede ayudar a determinar qué lenguaje (s) de programación debe dominar, así como qué tipo de compromiso (en tiempo y dinero) puede requerir su objetivo. Por ejemplo, si su sueño es crear el próximo gran sistema operativo o una alternativa excelente para PhotoShop, se beneficiaría de una educación formal en ciencias de la computación que le enseñe C ++, así como temas más complejos como la estructura de datos, algoritmos y asignación de memoria.

Por otro lado, si eres un profesional de mitad de carrera que busca la transición a una carrera tecnológica, un campamento de codificación a corto plazo podría tener más sentido que endeudarse por un segundo grado. Si todo lo que desea hacer es crear sitios web o llevar su Raspberry Pi a sus límites, una combinación de tutoriales interactivos y cursos en línea gratuitos podría ser suficiente para que pueda continuar.

Elige el lenguaje de programación correcto

Una vez que descubra por qué desea codificar, puede identificar con mayor facilidad qué lenguaje de programación debe abordar. Si bien no hay un solo "mejor" lenguaje de programación para aprender, algunos lenguajes son más fáciles de usar que otros. HTML y CSS se consideran los puntos de entrada más fáciles en el mundo de la codificación, pero solo son realmente útiles para desarrollar sitios web básicos.

Para sitios web más interactivos que involucren sistemas de pago o bases de datos, necesitará saber Javascript, PHP, SQL y Python para que todos los componentes canten. Los fabricantes de aplicaciones móviles usan Swift o C para crear aplicaciones de iOS y Java o Kotlin para aplicaciones de Android. Los desarrolladores de videojuegos recurrirán a Unity, o incluso a C #, para dar vida a sus ideas de juegos.

¿Todavía no puede decidir sobre su lenguaje de programación inicial? La mayoría de los profesionales recomiendan aprender Python, C # o JavaScript, ya que ofrecen la más amplia utilidad y flexibilidad profesional. Para ayudarlo a decidirse, consulte esta gran infografía que compara algunos lenguajes de programación populares.

Por encima de todo, simplemente comienza a aprender. Una vez que se sienta cómodo con un lenguaje de programación, podrá aprender el siguiente mucho más rápido, como aprender un nuevo instrumento musical o un idioma extranjero.

Pruebe algunos cursos en línea.

Si desea tener más control sobre su horario de aprendizaje (o no quiere hacerlo solo), un curso de codificación en línea podría ser una mejor opción que un campo de entrenamiento de codificación en persona. Sin embargo, hay muchas clases en línea diferentes que enseñan los mismos lenguajes de programación, y puede ser difícil determinar cuál vale realmente su tiempo y dinero.

Si no te importa practicar en solitario, echa un vistazo a The Odin Project, una opción gratuita que reúne algunos de los mejores contenidos de código abierto para convertir a un novato en programación en un programador.

¿Quieres más entrenamiento individual y preparación profesional sin hacer un campamento de entrenamiento de tiempo completo? Intente inscribirse en los cursos de certificación de modelo de suscripción de Udacity o Treehouse, donde tiene la oportunidad de pedir ayuda a un tutor en lugar de sufrir sus errores de codificación o preguntas solo. No se puede hacer mucho mejor que las clases de codificación de $ 19 de Udemy (incluso menos, cuando hay una oferta), incluso los estudiantes de tiempo completo de bootcamp y de informática se inscriben en estas clases para complementar su aprendizaje.

No importa cuántos cursos complete, a muchos principiantes aún les resulta difícil aplicar sus conocimientos relativamente básicos. Con ese fin, muchos recomiendan el curso gratuito Practical JavaScript de Watch and Code, que gira en torno a un solo proyecto que iteras continuamente.

Centrarse en el aprendizaje del pensamiento computacional

En lugar de concentrarse demasiado en aprender un lenguaje de programación específico, también puede aprender de una manera que la computadora lo entienda. En otras palabras, mejore sus habilidades en conceptos como reconocimiento de patrones, algoritmos y abstracciones. También hay jerga, como bucles, que seguramente aparecerán en cualquier idioma que uses. Cuanto mejor comprenda estos principios, más fácil será aprender el siguiente idioma (y diseñar mejores productos o proyectos como resultado).

Gracias a Internet, no tiene que inscribirse en un programa universitario de cuatro años para aprender los fundamentos de la informática; Una serie de clases de nivel universitario están disponibles en línea de forma gratuita (o una tarifa nominal).

No puedo recomendar la Introducción CS50x a la informática de Harvard lo suficiente. Puede auditar el curso de forma gratuita a través de edX y obtener un certificado completando todas las tareas, o puede ir a su propio ritmo y ver todas las conferencias publicadas en Youtube. Puedes crear tu propio programa de informática de nivel universitario con esta selección de quince cursos en línea (muchos de los cuales también figuran en nuestra serie U de Goldavelez.com).

Conseguir un libro

La mejor manera de aprender a codificar puede implicar que te acerques a algunos árboles muertos, un libro real que puedes seguir de principio a fin. En un mundo perfecto, esto le dará una introducción más completa a la codificación que saltar de un tema a otro en un sitio web.

Probablemente pueda encontrar un libro electrónico para cualquier idioma o marco que esté tratando de aprender en GitHub, pero muchos desarrolladores web confían en las coloridas series de Jon Duckett sobre todo, desde el desarrollo web front-end hasta el back-end.

Como programador autodidacta, también puede beneficiarse de los libros que ofrecen consejos más amplios sobre la profesión. Mejorará su pensamiento y hábitos, rasgos que puede aplicar a cualquier idioma que decida aprender. El código completo de 900 páginas de Steve McConnell: un manual práctico de construcción de software (2ª edición) se considera la guía definitiva para las mejores prácticas, con consejos respaldados por datos sobre todo, desde el diseño del proyecto hasta el código de depuración.

Un corolario de ese gigante es el Código limpio: un manual de artesanía de software ágil del "Tío Bob" Robert Martin. Martin cree que el código debe escribirse de manera eficiente para facilitar la prueba y la escalabilidad, por lo que es una lectura obligada para muchos equipos de desarrollo modernos.

Dado que la programación se trata realmente de la resolución de problemas, apreciará el proceso de pensamiento y las soluciones "al revés" que Jon Bentley comparte en Programming Pearls (2ª edición). Cada capítulo termina con una serie de desafíos que a menudo se usan en entrevistas técnicas de trabajo, así que haga de este libro parte de su preparación para el trabajo.

Mira algunos tutoriales interactivos o juegos de codificación

Seamos realistas: leer líneas de código en una pantalla o en un libro puede parecer un galimatías. Cuando ves un ejemplo en acción, ese concepto abstracto de repente tiene mucho sentido. Esa es la belleza de los tutoriales de codificación interactivos que puedes encontrar en la web.

Por ejemplo, FreeCodeCamp no solo divide los conceptos de codificación en pequeños fragmentos dentro de su navegador web, sino que también combina cada concepto con un ejercicio relevante que debe resolver antes de pasar al siguiente tema. De esta manera, no puedes simplemente pasar a las cosas divertidas; el sitio realmente te obliga a depurar tu código a medida que aprendes.

Los juegos de codificación también son una forma divertida de mojarse los pies en la programación. Si tiene una hora para matar, puede probar los juegos simples de la Hora del Código. Además, muchas escuelas ya usan Minecraft: Edición educativa para enseñar a los niños conceptos básicos de programación con bloques de codificación e incluso JavaScript. (Puede descargar esta versión de Minecraft de forma gratuita si tiene una cuenta de Office 365 Educación).

¿Quieres un tutorial de desarrollo de juegos más complejo que puedas incluir en tu currículum? CodinGame podría ser más apropiado para su edad si no tiene ganas de perforar bloques todo el día.

Prueba el juguete de un niño

¿Quién dice que los adultos no pueden aprender de los mismos juguetes y videojuegos STEAM / STEM que hacen que los niños se enganchen a la codificación? Después de todo, estos productos están diseñados para enseñar lógica y sintaxis de codificación sin aburrir a los niños que se distraen fácilmente, por lo que incluso los codificadores adultos pueden encontrarlos divertidos y educativos.

Si desea comprender mejor la relación entre el hardware y el software, disfrutaría del Piper Computer Kit 2, que le permite construir una computadora con Raspberry Pi. Usando esta computadora portátil DIY, puedes aprender a codificar a través de sus desafíos personalizados del Modo Historia de Minecraft, usar el lenguaje Blockly de arrastrar y soltar para aprender computación física, o simplemente aprender algo de Python básico de las lecciones preinstaladas.

Si bien es probable que no puedas crear tu propio droide BB-8, puedes aprender a codificar uno con Sphero's BOLT. Con la aplicación complementaria, puedes controlar tu bola de droide usando los bloques de codificación de arrastrar y soltar llamados Scratch, o subir de nivel a JavaScript para programar movimientos más avanzados.

Enseñe a sus dispositivos favoritos (y asistentes) nuevos trucos

¿Tienes un dispositivo inteligente como el Amazon Echo? Puede poner a prueba sus habilidades de codificación creando miniprogramas personalizados para obtener más funcionalidad de los asistentes digitales de sus dispositivos. Es posible que Alexa de Amazon ya conozca muchas "habilidades" básicas de comando de voz, como leer los últimos titulares de noticias, pero puede enseñarle tareas más complicadas al codificar en Node.js, Java, Python, C # o Go. (O, si quieres comenzar con algo más fácil, prueba el sitio más simple de planos de habilidades de Alexa).

Es posible que su interés en la codificación sea más limitado; es posible que solo desee aprender suficiente Python para que su Raspberry Pi realice proyectos geniales, por ejemplo. Si es así, puede adoptar un enfoque de bricolaje para aprender revisando los muchos proyectos que otros comparten en su sitio web.

Al recrear proyectos existentes, aprenderá más sobre el funcionamiento interno de su dispositivo altamente personalizable. Incluso puede inspirarse para crear nuevas formas de usar su mini computadora y profundizar en el mundo del código. (Incluso puede inscribirse en The Raspberry Pi Platform y Python Programming de UC Irvine para la clase Raspberry Pi Platform a través de Coursera, si desea un poco de ayuda para comenzar).

Mira videos sobre codificación

A veces, es más fácil ver a alguien que te muestra cómo se hace. En la actualidad, puede encontrar todo tipo de videos educativos sobre casi cualquier tema relacionado con la codificación: exfuncionarios de Google que comparten soluciones para codificar entrevistas, YouTubers transmitiendo en vivo sus maratones de codificación e incluso programando veteranos que le muestran cómo solucionar un error específico en el idioma que desee.

Recomiendo revisar CS Dojo, TheNetNinja y el canal de YouTube CS50 de Harvard. Si no tiene tiempo para buscar un video o canal de codificación perfecto, también puede consultar la vasta biblioteca de videos de LinkedIn Learning para ver tutoriales verificados y de aspecto profesional. Si bien la tarifa de suscripción de $ 30 / mes del servicio no es nada despreciable, puede ver una cantidad ilimitada de contenido y temas, lo que hace que LinkedIn Learning sea una mejor oferta que otras clases en línea a pedido que vienen con restricciones molestas.

Practica con proyectos personales

No importa cuántos certificados y talleres de codificación complete, o cuántos lenguajes de programación aprenda, la prueba de sus habilidades de codificación estará en su proyecto de programación. Si bien su proyecto personal no tiene que ser tan ambicioso como crear el próximo Google Maps, debe ser algo en lo que quiera trabajar las 24 horas del día, los 7 días de la semana para mejorar y ampliar constantemente su alcance.

Comience con poco, pero piense en grande. Su proyecto debe incluir las habilidades que tiene actualmente en su caja de herramientas, pero también debe tener un plan para las características y habilidades futuras que necesitaría para convertir esa visión en realidad. Sin aplicar sus habilidades de codificación en algunos proyectos, ni siquiera sería considerado para conciertos profesionales de codificación, así que comience a planificar y practicar. (¿Nuestro consejo? Utiliza tus habilidades de codificación para crear una configuración increíble para la noche de juego).

Celebra pequeñas victorias

La codificación está en los detalles, por lo que debe "celebrar pequeñas victorias", como lo expresó uno de nuestros profesores de programación. Se necesita práctica para hacer que cada elemento funcione por sí solo, así como pruebas constantes para garantizar que cada línea de código funcione con el resto, sin errores. Si no hace bien las cosas aparentemente menores, como cerrar una etiqueta HTML, se quedará atrapado depurando un error de sintaxis simple en lugar de escribir un código más impresionante y complejo.

Necesitas ser paciente contigo mismo; No espere codificar el siguiente después de unos pocos meses de estudio o unos pocos bootcamps. Codificar un formulario de RSVP de boda sin errores en un sitio web, o hacer un juego de predicción de números simple pero correcto, ya es un logro significativo para un principiante. Si te quedas atascado, no te rindas. Debe buscar ayuda en todas partes donde pueda encontrarla, pero también saber cuándo tomar un descanso para evitar el agotamiento. Y luego inténtalo, inténtalo de nuevo.

Google tus mensajes de error

Este es nuestro mejor consejo de codificación: si no puede entender por qué su código está roto, siempre puede buscar soluciones en línea. Después de todo, probablemente no sea la primera persona en cometer su error, y alguien en Internet seguramente ya ha encontrado una solución a su problema. Simplemente "copie y pegue" su mensaje de error en Google (o en su motor de búsqueda preferido), agregue un par de comillas alrededor de toda la frase para que no solo busque palabras clave, luego presione "Entrar". Con suerte, este pequeño truco te llevará a la respuesta correcta.

Si todavía tiene problemas, siempre puede publicar su pregunta en foros de desarrolladores como Stack Overflow, el subreddit de programación de Reddit o GitHub. Nunca está de más llamar a un amigo o a un extraño de Internet.

Hackear el código de otra persona

Cuando realiza ingeniería inversa del código de otra persona, al probar cada línea para ver cómo funciona, obtiene una mejor comprensión del panorama general. Gracias a las toneladas y toneladas de código de código abierto que existen, puedes aprender casi cualquier cosa examinando el trabajo (perfecto) de otra persona. Solo recuerde compartir su código con la comunidad si la inspiración lo golpea y mejora una parte del programa con el que estaba jugando.

Consigue un mentor (o enséñale a alguien más)

La comunidad de programación está llena de personas dispuestas a ayudar a la próxima generación de programadores. GitHub, el lugar de reunión en línea para desarrolladores que usan Git para administrar sus proyectos de codificación, está diseñado para la colaboración en línea. Los desarrolladores no solo alojan y comparten sus proyectos con sus pares, sino que también proporcionan comentarios sobre el código y consejos generales a la comunidad.

Es posible que pueda encontrar algunos mentores en línea útiles a través de GitHub, o conocer a otros desarrolladores veteranos en un evento Meetup de codificación local o hackathon. Una vez que gane algo de experiencia con la programación, puede responder las preguntas de otras personas o incluso enseñar lo que ha aprendido a los novatos, una gran prueba para ver si realmente sabe lo que hace.

Asistir a un campamento de codificación

La codificación de bootcamps puede ser controvertida: te darán una introducción rápida y experiencia a muchas habilidades, pero podrían no ser tu boleto de oro para un nuevo trabajo en Google.

Si quieres convertirte en un profesional y convertirte en un desarrollador a tiempo completo, un campo de arranque de codificación intensivo y en persona podría ayudarte, particularmente si aprendes mejor en un entorno estructurado con personas reales para motivarte. Sin embargo, estos tipos de bootcamps son a menudo los más caros y requieren mucho tiempo para asistir: está buscando más de $ 15, 000 solo para la matrícula, más los gastos de vida durante unos meses hasta que se gradúe.

Afortunadamente, instituciones como la Escuela Flatiron y el Programa Grace Hopper ofrecen becas o matrículas diferidas para hacer que estos campamentos sean más asequibles para grupos poco representados como las minorías y las mujeres en tecnología. Consulte el Informe del curso para obtener un desglose completo de los muchos bootcamps en línea y en persona, incluidas las revisiones detalladas de sus alums, que pueden ayudarlo a decidir si un bootcamp lo ayudará a lograr sus sueños de programación.