¿Cómo y dónde aprender a programar paso a paso?

Nos animamos e hicimos un podcast de este artículo. Puedes escucharlo completo aquí para este post

Soy de letras y no sé programar pero quiero/necesito/me gustaría aprender

Esto lo he escuchado varias veces antes, incluso, ha sido mi caso en algún momento porque trabajo con Wordpress desde hace varios años y he pensado que sería un buen momento para aprender algunas cosas básicas de programación y ser más asertiva en mi trabajo.

Sin embargo, el aprendizaje de programación no siempre logra ser tan entretenido cuando se toma en un aula con cuaderno y lápiz, y esto hace desistir a más de una persona en emprender su proceso de aprendizaje en programación. Por eso he decidido presentarte en este post algunos aspectos que creo deberías considerar antes de desistir emprender tu propio proceso de estudio de programación.

¿Qué es el auto aprendizaje?

El auto aprendizaje o aprendizaje autogestionado, agrupa varias formas, estrategias y metodologías de aprendizaje con una característica en común: los materiales están dispuestos para los estudiantes sin que medie para ellos la obligación de cumplir un horario estricto, aunque si con algunas pautas, mínimas en muchos casos, sobre el tiempo de dedicación o el tiempo total que tomaría el aprendizaje de todos los contenidos ofrecidos en un curso.

En otras palabras, aprender bordado por ejemplo, en una modalidad de auto aprendizaje, puede involucrar seguir una serie de clases en línea, constituidas por un video semanal distribuido a través de cualquier plataforma de distribución de videos y luego enviar al tutor (que podría ser el autor del canal de videos), algunas imágenes o videos sobre los resultados del aprendizaje. Sin embargo, no habría por qué pensar que el aprendizaje esté prelado una exigencia por arte del tutor (autor del canal de videos), sobre que todos los videos deban, necesariamente, ser vistos los mismos días de la semana a la misma hora o que, por ejemplo, una vez visto el video, éste no pueda repetirse tantas veces como lo desee el participante o, incluso, ser visto por partes para consolidar así el aprendizaje.


Cortesía de Pixabay.com

Aunque este puede resultar un ejemplo extremo, lo cierto es que cada vez más asistimos a la conjugación de diversas plataformas de transmisión de información y contenidos, originalmente pensadas sólo difundir información aunque recientemente sus usuarios están aprovechando su potencial para darle un vuelco muy interesante hacia su uso como plataformas de aprendizaje auto gestionado. Este es un fenómeno que venimos observando en YouTube, por ejemplo, donde desde hace un año o año y medio vienen ganando popularidad los canales en los cuales se distribuye periódicamente información sistematizada y organizada en formado de clases con diversos contenidos cosa que, hasta ahora, se hacía en esa misma plataforma sin que alcanzara mucha popularidad, en especial si lo comparamos con los videos musicales o los de proezas de gatos, por ejemplo.

Soy de letras y quiero aprender. ¿Por dónde comenzar?

Buena pregunta, incluso si no eres de letras, en realidad, pues es probable que hayas sido formado en una universidad con un grado de ciencias o computación y hayas aprendido todo con el único apoyo didáctico de una pizarra, presentaciones digitales y libros o, tal vez, tengas un conocimiento previo en el área que quieres actualizar para emprender un negocio por tu cuenta o postularte en una oferta de empleo.

Entendiendo que no estoy criticando esa metodología, lo que sí estoy diciendo es que las experiencias pedagógicas deben ser enriquecidas por parte tanto de docentes como de espacios de formación, de manera que puedan alternarse con algo — bastante en realidad — de contacto con la solución de problemas reales.

Antes de mostrarte dónde puedes aprender, te presentaré una rápida panorámica sobre las áreas de conocimiento que deberías dominar en el área si quieres ofrecer tus servicios de programación.


Cortesía de pexels.com

Si lo tuyo es la búsqueda de aprendizaje para ofrecer tus servicios de freelancer, debes saber que las plataformas más difundidas para manejo de servicios de freelancer tienen un número importante de ofertas de servicios para atender aspectos puntuales dentro del desarrollo de aplicaciones móviles y portales web, centrados en la programación para frontend.

El frontend de una aplicación es el espacio donde los usuarios finales interactúan con ésta.

Es lo que ves, por ejemplo, cuando revisas tu correo electrónico a través de cualquier aplicación en un celular. Entonces, es muy frecuente que un cliente potencial en cualquier plataforma de freelancers busque alguien que le mejore aspectos como el look and feel de su aplicación, la rapidez, la escogencia, configuración y manejo de un Sistema Manejador de Contenidos (CMS por sus siglas en inglés), las estrategias para lograr posicionar un portal y sus contenidos en buscadores web (SEO), o la interacción de su aplicación con el backend de ésta.

El backend es el espacio en el cual la aplicación interactúa con los servidores donde se aloja.

Saber de backend implica conocer sobre configuración de red, servidores, bases de datos, y también sobre el software que permite su funcionamiento, algunos de los más conocidos son Linux (en cualquiera de sus sistemas operativos y sabores), Apache y MySql. Además de ésto, hay conocimientos que podríamos llamar transversales, pues son útiles tanto para manejo de backend como de frontend y son, casi, universales como HTML, CSS y, aunque quizás alguien me acribille por esto: JavaScript; así como algunos lenguajes de programación, como Python y Ruby, y frameworks (como ReactJs) para utilizarlos.

Bien, de modo que si quieres emprender tu propio negocio digital o si no sabes qué aprender de programación, verás que esos son los conocimientos más demandados en este momento, entre otras cosas porque hay una exigencia cada vez mayor hacia las empresas y negocios en que su información esté digitalizada y en línea. Cada uno de esos campos de formación tienen, también, toda una gama de opciones de temas vinculados que pueden suponer un buen comienzo para cualquier proceso de auto formación en el campo de la programación porque te permitirán enriquecer tu aprendizaje auto gestionado con la resolución directa, y tal vez remunerada, de problemas reales.

¿Dónde aprender?

Hay un sinfín de ofertas en línea de auto aprendizaje, tanto gratuitas como de pago, y por eso es importante que sepas qué debes valorar al momento de escoger una opción para tu formación. A continuación te comento los aspectos que yo evalúo y que pueden serte de ayuda.

  1. Revisa la oferta que presenta. Responde a estas preguntas: ¿cuántos cursos tienen disponibles? ¿son dictados por distintos facilitadores o tutores? ¿puedes evaluar el material disponible en los cursos o, al menos, su sinóptico?
  2. Revisa valoraciones de sus usuarios. Quizás te convenga revisar en algún buscador web de tu preferencia, cuáles son las opiniones de otras personas que usen esa plataforma. ¿les gustó?¿llenó sus expectativas?¿se sintieron a gusto con los materiales, ejercicios y dinámicas propuestas?
  3. Presta atención a la frecuencia de su actualización. Una plataforma de cursos que esté actualizada generalmente es sinónimo de contenidos dinámicos, organizados y, sobre todo, es reflejo de un cuido por ofrecer productos adaptables y flexibles, tanto de quienes facilitan los contenidos como de quienes la gestionan. Escoge una plataforma que te muestre que sus contenidos son manejados con este criterio, así reducirás significativamente el riesgo de sentir decepción ante el tiempo invertido. Adicionalmente, revisa que haya progresividad en los contenidos: que se faciliten contenidos con distinto nivel de profundidad, con distintos niveles de aplicación y todos ellos disponibles para tu proceso de formación.
  4. Evalúa la interacción con los usuarios. Para mi es muy importante asumir que el proceso de aprendizaje auto gestionado ocurre en conjunto con el desempeño de otras actividades personales y profesionales. En mi experiencia como docente y participante de cursos en línea, puedo decirte que es muy frecuente que el proceso de atención y dedicación a la revisión y exploración de los contenidos tenga sus altibajos, sufriendo un leve descenso en el interés hacia la mitad del curso, en especial cuando son cursos particularmente extensos o muy densos en sus contenidos. Frente a este hecho, resulta clave que la plataforma o estrategia que adoptes para gestionar tu aprendizaje de programación cuente con una herramienta de recordatorio para mantenerte alerta a todo el proceso de aprendizaje que estás realizando. Por lo general estos recordatorios son presentados por los mismos facilitadores o tutores a lo largo del curso, pero en ocasiones, resulta muy interesante escoger una plataforma que, además, tenga por ejemplo una app móvil que te permita consultar en cualquier momento no sólo tu avance en el curso, sino también los materiales facilitados.


Cortesía de Cristina Morillo en pexels.com

Bien, entonces, ¿dónde puedo aprender a programar?

Hay muchos sitios de interés con materiales disponibles tanto si eres alguien que comienza, como si quieres mejorar y ampliar tus conocimientos. Te nombro algunos.

  1. Free Code Camp Esta plataforma es totalmente interactiva, progresiva y permite, además, que quienes la utilizan configuren y gestionen su propia ruta de aprendizaje en función de sus propios intereses. Te ofrece conocimientos básicos de HTML, CSS y JavaScript. Pero también te ayuda a aprender otras herramientas de programación que te permitirán abrirte campo en tu propio negocio o trabajando para terceros, si es de tu interés. Se combina con una comunidad de participantes distribuida a lo largo del mundo y anima a sus participantes a generar y fortalecer sus propias comunidades locales. Los proyectos que busca crear con sus participantes para la realización de las actividades prácticas, son proyectos para Organizaciones Sin Fines de Lucro. Esto permite que la programación tenga un propósito y sentido social, lo cual resulta particularmente atractivo para quienes venimos de las ciencias sociales porque conecta con otra forma de hacer negocio. El curriculum está construido en torno a las capacidades básicas para manejo de frontend, aunque también hay otras opciones si te interesa explorar el lenguajes de programación. Y, lo más interesante para mí, es que en total ¡acumula cientos de horas de cursos y códigos para que aprendas en línea a tu propio ritmo!
  2. CodePen Esta herramienta la conocí a través de Free CodeCamp. Es muy útil cuando estás diseñando, por ejemplo, una página web, o una aplicación web o móvil, porque te permite probar el código y ver el resultado, haciendo un mapeo exhaustivo de los errores que se presentan y corregirlos de una forma mucho más sencilla e intuitiva. CodePen funciona como un entorno social de depuración de código que es ideal si quieres trabajar como desarrollando y diseñando frontend, porque te permite construir y depurar una página web y mostrar tus resultados, pero también revisar otros portafolios y conseguir algunas ideas interesantes para tus trabajos.
  3. EdX Luego del experimento del MIT de poner materiales de sus clases completamente disponibles en línea a comienzos de siglo, EdX se convirtió en la primera plataforma con proyección realmente masiva de formación en línea. Con un software diseñado para gestionar sus MOOCs (Massive Open Online Courses), llamado OpenEdX, EdX gestiona hoy por hoy cursos de muchas universidades a lo largo de occidente, gestionados a través de un consorcio, y agrupa contenidos no sólo en el área de programación, sino también de ciencias sociales, humanidades y ciencias duras. Muchos cursos cuentan con acceso gratuito para examinar sus contenidos y con un pago y algo de estudio, recibirás el certificado de aprobación avalado por la universidad que gestiona el curso. Te recomendamos tomar los cursos básicos y avanzados de Python y Machine Learning.
  4. Dataquest Si quieres aprender sobre Data Science, este portal resultará de mucho interés porque sistematiza la información que requieres saber y la presenta organizada por tópicos, desde el manejo de herramientas de programación como Python, SQL y R, hasta herramientas de análisis como data visualization, data analysis, and machine learning. Los contenidos están agrupados en cuatro rutas de formación: Análisis de datos con R, Análisis de datos con Python, Ciencia de Datos con Python e Ingeniería de Datos. Lo bueno es que, aunque te parezca abrumador el volumen de cursos que maneja Dataquest, todas las rutas de formación están pensadas para llevarte desde un conocimiento básico hasta uno avanzado de forma progresiva. Aunque su modelo de negocio es por suscripción, también es posible que tomes algún curso gratuito a través de su plataforma.

Una nota final sobre la búsqueda de ética y respeto tras cualquier proyecto de auto aprendizaje

Sea cual sea la plataforma y opción que escojas para aprender y desarrollar tus nuevas habilidades en programación, debo darte un dato final. Por lo general los entornos de programación no son muy amigables con las chicas. Son entornos muy dominados aún por chicos que se comportan sin importar la incomodidad que puedan generar en las chicas, y ocurre con mucha frecuencia que las fundaciones y empresas tras los principales lenguajes y herramientas de programación y de aprendizaje, han diseñado códigos de conducta que pretenden prevenir la generación de situaciones incómodas, hostiles y hasta peligrosas para mujeres. Tal es el caso del código de conducta de Debian o de Python, los cuales han sido precursores de acciones similares en personas y empresas que utilizan estas y otras herramientas de programación.

Mucho del proceso de aprendizaje está en la interacción con otros. Cuando estás en un aula, es relativamente rápido poner a alguien al tanto de que su actitud te resulta hostil (aunque esto no lo hace menos complejo). Pero la situación se hace más sutil y en ocasiones imperceptible, cuando eres chica y estudias y trabajas en línea o, incluso, cuando eres chica y estás en un entorno en el cual la agresión hacia las mujeres está naturalizada.


Cortesía de NegativeSpace en pexels.com

Te cuento esto porque, existe una plataforma llamada DataCamp que ha sido muy referida en procesos de formación para ciencia de datos pero que, sin embargo, recientemente ha visto empañada su popularidad a raíz de un caso gravísimo de encubrimiento de una situación de acoso sexual que sufrió una de sus trabajadoras por parte de un ejecutivo de la empresa. Aunque hay bandos formados a favor y en contra de la actitud de DataCamp y del boicot que ha sido casi natural en el contexto de programadores, desarrolladores, aprendices y tutores de ambos sexos y afines o no a la plataforma (algunos detalles aquí), no quiero despedir mi nota sobre cómo y dónde aprender a programar, sin recordarte que el aprendizaje no sólo ocurre sobre los contenidos que son facilitados sino que también ocupa buena parte del aprendizaje, los códigos y las formas con los cuales nos aproximamos a la tecnología.

Una tecnología más amable hacia segmentos de la población excluidos de forma naturalizada por una idea excluyente de la educación, requiere un compromiso mayor y sobre todo bastante crítico hacia todo el contexto que rodea las organizaciones que ofrecen sus servicios como empleadoras y como capacitadoras. Requerimos entornos gentiles y humanos hacia todas y todos. Sólo así podremos dar un nuevo sentido a la búsqueda de una tecnología más humana y más políticamente ecológica.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center