Aprender a programar: otra guía para el principiante

return this.OtherArticle + “sobre cómo volverte un hacker”

En 1996, el ahora infame Eric Steven Raymond escribió “Cómo convertirse en hacker”, un documento que por muchos años sería un referente para quienes se iniciaban en el mundo de la programación. 

Raymond explicaba que empezó a escribir el texto tras recibir muchas preguntas similares sobre cómo convertirse en un programador habilidoso cuando trabajaba como editor de Jargon File. Al percatarse que hasta el momento nadie había escrito un documento sobre el tema, hizo el suyo. 

Raymond no buscaba hacer una guía definitiva, ni declararse como autoridad en el tema. Él lo dejó claro en una actualización del texto: “si no te gusta lo que lees, haz tu propio texto”.

Desde entonces, miles de personas le han tomado la palabra y escrito su propio tutorial sobre cómo adentrarse a la programación para convertirse en un desarrollador de software. Este es uno más.

La gente en el mundo quiere aprender a programar

En el mundo hay un interés constante por aprender a programar, si revisamos las métricas de Google Trends.

Este es un hecho nada sorprendente si consideramos que es una de las profesiones más solicitadas y mejor pagadas en la actualidad. Además, las proyecciones indican que la tendencia continuará hasta el 2060.

Este lapso de tiempo es suficiente para aprender a programar, encontrar un trabajo y jubilarse.

Un aliciente extra para las personas de todas las edades está en el hecho de que las empresas no les importa tanto el título universitario de los trabajadores que contratan, sino su habilidades para realizar las tareas para las que fueron contratados.

Así qué quieres aprender a programar, ¿qué se siente no saber por dónde empezar?

Para los primerizos, las opciones para iniciarse en la programación hoy en día son bastante amplias. La oferta de carreras, talleres y recursos en línea para que la gente aprenda los temas más básicos ha aumentado junto con la demanda.

Muchas de los materiales didácticos que hoy existen para aprender a programar han quitado gran parte de las barreras de antaño. Si no sabes inglés, si no cuentas con una Mac o una PC con Linux o si enumerar todos los pasos necesarios para hacer una acción (a.k.a los algoritmos) no es lo tuyo, muchas de estas opciones te allanan el camino para que ya no haya excusas al poner las manos en el código.

Ir del paso A al paso D, sin saltarse todos los demás

Los programadores piensan de otra manera, al menos cuando programan. Ante un problema, se detienen a entenderlo y, luego, piensan cuáles son los pasos necesarios para resolverlo. En las ciencias de la computación, a este tipo de pensamiento se le conoce como razonamiento algorítmico.

Para algunas personas el razonamiento algorítmico es algo muy sencillo; para otras, no. Estas últimas pueden entrenarlo con aplicaciones móviles y web que permiten adentrarse a la programación desde el pseudocódigo, una forma de expresar los algoritmos sin tener que aprender una sintaxis estricta.

Con este fin, el MIT ofrece Scratch, que puede utilizarse desde su página web. El objetivo de Scratch es servir como una herramienta para enseñar a los niños de programar, pero también es una buena opción para los adultos sin ninguna noción de programación.

Kidlo Coding es otra alternativa para enseñar a programar con pseudocódigo y juegos. Esta aplicación introduce a conceptos básicos como son ejecución secuencial, bucles, y funciones. Kidlo está disponible para dispositivos móviles desde Play Store.

Escoge una lengua para hablar con las computadoras

Si ya comprendes cómo funcionan los algoritmos y tienes familiaridad con los conceptos básicos de las ciencias de la computación, puedes pasar a aprender un lenguaje de programación, pero ¿cuál?

Para principiantes, los dos lenguajes de programación más populares son JavaScript y Python. Con JavaScript puedes crear aplicaciones web complejas, mientras que Python ofrece una sintaxis bastante sencilla, además de contar con muchos recursos en línea.

Si escoges JavaScript, lo más conveniente es que antes te familiarices con el lenguaje de marcado estándar de Internet: HTML. Para esto, w3Schools es uno de los recursos en línea más accesibles y mejor organizados. Además, W3Schools permite que pruebes el código en el que estás trabajando en una pantalla dividida del explorador, de manera que entiendes mejor cómo funciona. W3Schools ofrece tutoriales tanto de HTML como de JavaScript, PHP, CSS y otras herramientas utilizadas para el diseño de páginas web.

Python tienen la ventaja de contar con un intérprete que te permite escribir tu primer programa al instante y te permite ir paso a paso mientras aprendes la sintaxis de este lenguaje. En línea, Python Principles ofrece un entorno como W3Schools para estudiar mientras juegas con el código.

Para aprender desde el móvil, SoloLearn ofrece cursos de Python y JavaScript, además de C, C++, Java y otros lenguajes de programación muy utilizados en la actualidad por los desarrolladores web y de aplicaciones. SoloLearn también cuenta con una ventana con la que puedes probar el código que escribes desde tu celular y puedes repasar los conceptos a través de desafíos con otros estudiantes.

Mejora tu técnica

Una sensación bastante común después de aprender tu primer lenguaje de programación es que después de eso, todavía no sabes nada. No te preocupes. Esta es una sensación normal, porque es verdad. Pero ahora que sabes la sintaxis de un lenguaje de programación, puedes ir mejorando tus habilidades poniendo a prueba tu destreza para solucionar problemas.

En este punto, HackerRank es uno de los mejores sitios para practicar. Además de tener un amplio repertorio de problemas para desarrolladores de diferente nivel, ofrece ejercicios para que practiques antes de una entrevista de trabajo.

Para el smartphone u otros dispositivos móviles, Mimo permite que practiques con ejercicios sencillos, una opción para practicar en los tiempos muertos o mientras te trasladas.

Pon a prueba tus conocimientos

Una vez que has interiorizado uno (o varios) lenguajes de programación, una buena forma de ponerte a prueba es llevar ese conocimiento a situaciones prácticas.

Los bootcamps son un buen punto de partida para el programador novicio. Estos espacios te ofrecen asesoría personalizada mientras te familiarizas con las herramientas que más comunes en el sector de las tecnologías de la información, además de contactarte con empresas.

Las pasantías son otra opción para familiarizarte con el ambiente laboral. Muchas de las empresas donde puedes realizar tu pasantía complementan la práctica con cursos teóricos de actualización profesional.

Si estas opciones no te convencen, desarrolla tus proyectos y publica el código en GitHub. Si tu proyecto es interesante, la comunidad de GitHub estará encantada de ayudarte a limpiar el código y optimizarlo, mientras te creas una reputación en la comunidad de programadores.

Y si en algún momento te quedas atorado, recuerda que en StackOverflow encontrarás una de las comunidades más activas de programadores que encantados te ayudarán para que resuelvas cualquier parte de tu código que te esté provocando dolor de cabeza, sino es que ya lo resolvieron antes de que preguntaras. Ya sabes lo que dicen:

Un buen programador es aquel que sabe cómo copiar código de StackoverFlow.