Aprender a programar solo

¿Qué puedo aprender a programar solo y qué no?

La programación es una actividad que puede resultar abrumadora al principio. Hay una gran cantidad de tecnologías y conceptos que un desarrollador debe dominar para poder cumplir con las demandas de su puesto. Es cierto que el salario medio de un programador es muy superior a la media entre otros puestos, pero desde luego no les regalan el dinero.

Éste tipo de trabajos implican interactuar constantemente con tecnologías que no has visto nunca, en ocasiones porque ni siquiera existían cuando empezaste a formarte. 

Se espera por tanto, que un programador sea capaz de buscarse la vida cuando se encuentra algo que no conoce, es decir, que pueda aprender por su cuenta.

Sin embargo, hay cosas que puedes aprender bien por tu cuenta y otras no tanto, y es importante tener ésto en cuenta si estás pensando en realizar una formación

Debes elegir una formación que esté centrada en aspectos que no podrías aprender solo, y que deje de lado en la medida de lo posible aquellos contenidos que sí puedes trabajar tú mismo.

A simple vista puede parecer un círculo vicioso. Si no tengo conocimientos sobre un tema, no puedo evaluar la calidad de los primeros materiales que consulto, es posible entonces que esté tomando como referencia material que no es válido. Pero claro, para saber si es válido o no tengo que saber del tema.

El feedback chico 

Una de las claves principales del aprendizaje es el feedback (Sadler, 1989). El feedback suele definirse como algo que nos permite saber si hemos tenido éxito al realizar una tarea o aprender cualquier cosa. Por ejemplo, la nota en el primer examen puede actuar como un feedback de si llevamos bien el curso o no.

Para saber si puedes aprender algo por tu cuenta tienes que pensar si puedes darte a ti mismo el feedback que necesitas o si te lo tiene que dar otra persona porque requiere tener conocimientos previos que a ti te faltan.

Con un ejemplo se verá mejor: si quiero hacer un script que sustituye las «A» por «B» en un texto al buscar cómo se hace en internet obtendré varias soluciones. Al intentar implementar una de esas soluciones, yo mismo puedo ver si es válida de forma inequívoca y muy sencilla en función de si me da o no el resultado que necesito.

Puedo ejecutar el código en mi máquina y ver si funciona. No ocurre lo mismo en otras tareas, como por ejemplo las relacionadas con la criptografía. Ver si un cifrado es robusto es una tarea mucho más compleja, y que requiere de conocimientos avanzados. 

Esto es así en otros muchos campos, como las matemáticas y la mayoría de las ciencias. Para saber si algo tiene sentido o no hay que tener conocimiento del campo, no se puede inferir fácilmente. 

Con el código en muchos casos puedes ver si funciona o no, si resuelve el problema que tiene que resolver e incluso si es eficiente computacionalmente. También puedes evaluar la solución en función de si requiere dependencias adicionales, de cómo de bien mantenidas están (viendo sus repositorios de Github), etc…

Disponibilidad de datos

En las disciplinas científicas, contrastar una idea no suele ser tan fácil, ya que requiere hacer un experimento para obtener datos sobre la parte de la realidad en la que tengas interés.

No obstante, puede ayudarte mucho ver si hay datos disponibles de calidad sobre ella. Por ejemplo, imaginemos que un día te da por aprender sobre meteorología (en cristiano: el clima), te pones a ver un video introductorio sobre el tema y en él dicen que los lugares de España que están más al norte son más fríos que los del sur (insólito). ¿Cómo podemos saber si es cierto realmente?

Puedes irte a la página de la AEMET y consultar un mapa de las temperaturas sobre el país. La AEMET es una fuente de confianza, y que ofrece mucha información sobre el clima, por lo que puedes utilizarla para contrastar la información que te dan.

He puesto un ejemplo muy obvio y no creo que a nadie le haga falta irse a un mapa para saber que en el norte hace más frío, pero ¿y si me dicen que las altas presiones hacen que bajen las temperaturas?. 

Como la AEMET ofrece los datos de forma pública, puedo hacer mis propios estudios y someter la idea a prueba. Puedo investigar por mi cuenta y sacar mis propias conclusiones. Como no me limito a leer lo que ha escrito otra persona, el aprendizaje será mucho más personal, y de mayor calidad.

En cambio, en áreas como la psicología los datos generados en los estudios científicos tienen un nivel de protección muy alto, y no es habitual que se hagan públicos. Si te presentan una idea específica, es difícil que encuentres los datos que necesitas para contrastarla, y recogerlos tú requiere mucho tiempo ya que tendrías que montar un experimento.

Por tanto, la psicología es un buen ejemplo de disciplina que no puedes aprender por tu cuenta. En cambio, en programación para hacer el experimento sólo necesitas tu ordenador. En la meteorología, tienes muchos datos disponibles, o incluso puedes recogerlos con equipos que no son demasiado caros si te aburres lo suficiente. 

También hay muchos datos disponibles para cuestiones como la economía, demografía y la bolsa, ya que hay instituciones detrás que se dedican a recopilar datos y tienen la obligación de ponerlos a disposición del público.

Presencia de los programadores en internet

Otro factor determinante es la presencia que tengan los profesionales del campo en la red. En el caso de los programadores están muy activos, ya que son ellos los que mantienen internet funcionando. Hay millones de foros en los que comparten dudas y soluciones, repositorios en los que puedes ver el código de las herramientas que usas y muchísimos recursos más. 

En cambio, si una mañana te despiertas con ganas de aprender a trabajar el metal, será mejor que te apuntes a una formación, porque éstos profesionales no tienen mucha presencia en internet y no hay tantos recursos. 

Consecuencias de un fallo como programador

Otro elemento importante para saber si puedes aprender algo por tu cuenta es la gravedad de las consecuencias de un error. 

Por ejemplo, si te surge un problema de fontanería y haces una chapuza, a lo mejor luego montas un estropicio y te cuesta más arreglarlo. En la carpintería una estupidez puede costarte fácilmente un dedo, o si manejas herramientas pesadas incluso la vida. Es posible que el error tenga consecuencias graves e irreversibles.

Es cierto que hay gente que tiene facilidad para aprender éste tipo de cosas, pero si no es tu caso y te interesa, tienes que andarte con pies de plomo.

En programación si metes la pata es muy difícil que el error no tenga solución, de hecho, el proceso de romper algo y arreglarlo es una muy buena experiencia de aprendizaje.

En síntesis

Teniendo en cuenta los factores que hemos comentado podemos saber de antemano si nos resultará fácil aprender algo por nuestra cuenta o si es mejor que nos apuntemos a algún tipo de formación. 

La programación es una actividad que sí se puede aprender de forma autónoma, pero para algunos aspectos tales como la seguridad o buenas prácticas de desarrollo es posible que necesitemos ayuda. Además, el trabajo del desarrollador no es sólo escribir código, es trabajar en equipo, entender las necesidades de un cliente, integrar tus soluciones con el trabajo de otros y mucho más. 

Si ya estás en el punto de que necesitas un nuevo punto de apoyo en OXYGEN hemos creado para perfiles como el tuyo dos tipos de formaciones enfocadas 100% a conseguirte trabajo. Si tu caso es el de un programador junior, que se ha hecho a sí mismo y necesita un impulso de tecnologías e experiencia el Training para aprender a programar es tu opción. Si todavía te queda mucho camino por andar, un Bootcamp Full Stack puede ser la clave.

Autor

Manuel Torres

Selección de talento en OXYGEN

Valoración post
Ir arriba

¿Te gustaría dedicarte profesionalmente a programar?

Realiza un sencillo test y descubre si tienes las habilidades que requieren las empresas para contratarte.

Abrir Chat
1
¿Necesitas ayuda?
OXYGEN Academy
¡Hola! 👋 ¿Necesitas más información?