Jose J. Fernández Programador. Desarrollador web y SEO en León

Aprender a programar en 30 días

Jose J. Fernández

Lo siento, no es posible.

No existe una manera de aprender a programar en tan poco tiempo. Es una tarea compleja, que requiere que pienses de otra forma totalmente diferente. La mayoría de programadores estudiaron durante años para serlo, ¿qué te hace pensar que tú serás capaz de dominar esa tarea en sólo un mes?

Existe una corriente de pensamiento en estos momentos que dicta que todo lo tecnológico es fácil, sencillo y que los frikis lo hacen gratis. Pensar de esa manera es un tanto ingenuo, aunque algunos lo encontrarán también ligeramente ofensivo. Todo lo que utilizas en tu día a día (Google, Facebook, este blog) es el resultado de millones de horas-persona de trabajo realizado por gente altamente cualificada que han construido software e interfaces hiperfáciles de utilizar para que todo el mundo pudiera hacerlo.

Pero tú no puedes adquirir el conocimiento necesario para ello en 30 días.

Es como decir que puedes aprender a tener madurez mental viendo infografías y haciendo un curso online, o que puedes aprender a amar leyendo tutoriales sobre el tema. Tanto esos dos ejemplos como programar requieren un recorrido largo que no puede hacerse en poco tiempo porque exige un proceso de maduración, aprendizaje y práctica, mucha práctica. Y tampoco hay atajos para nada de eso.

De hecho, ni siquiera estudiar o formarte en programación puede asegurarte que vayas a ser capaz de hacerlo bien. La mayoría de la gente conoce los fundamentos tras haberse formado, y tardan aún unos años en programar efectivamente. Muchos conceptos que tienen que ser puestos en práctica antes de decir que uno “sabe” programar.

Por no decir que uno nunca termina de aprender a programar.

Mucha gente dice ser capaz de programar, pero lo que en realidad están haciendo es coger código que otros han escrito, modificar unas pocas líneas y conseguir que cambie un poco su funcionamiento. Eso está muy bien, pero programar es mucho más que eso, y mucho más complejo.

De todas esas personas, muy pocas serán capaces de crear software que resuelva algún problema. No podrán escribir código nuevo que de soluciones a ningún problema nuevo. En ese momento, no sé si puede considerarse que saben programar. Probablemente no.

No es que programar sea imposible, o que aprender a hacerlo esté al alcance de muy pocos, es que es una tarea compleja que sólo puede conocerse con experiencia y especialización. Un diseñador no es programador. Un informático no siempre es programador. Un community manager no es programador. Partiendo de ello, pretender aprender a programar en 30 días (o en 60 ó en 90, da lo mismo) es poco menos que un sueño.

Como mucho, se pueden enseñar las bases. Se pueden eliminar prejuicios, motivar a aprender más, mostrar que sí está al alcance… Pero no se puede pretender saber programar en 30 días.

Todo esto me viene a la mente tras leer este twit de Coding Horror:

Esta tóxica manera de pensar y de ofrecer -agresivamente- cursos hace daño al mundo del software. ¿Qué tipo de código escribirá alguien que ha aprendido a programar en 30 días? No buen código, eso desde luego. Al final, la imagen que llevarán los programadores asociada será la de “chapuceros”.

Una buena respuesta fue la de Gary Chou:

Como aprender a amar en 30 días.

No te dejes engañar, y deja de pensar que programar es algo fácil y para todo el mundo, porque no es así.

Nuño Valencia 2014-08-28 - 00:45

Es cierto que es algo de años, pero aprender a programar pienso que 30 días es mas que suficiente y con ello hablo de los conocimientos básicos de programación:
Lógica,
Secuencia
Bifurcación
Bucle
Incluso Objetos,

Ahora de ahí a llevarlos a la practica en un lenguaje de programación ya son palabras mayores.

Jose J. Fernández 2014-08-28 - 01:17

Es decir, que para aprender las construcciones básicas de un lenguaje estructurado es suficiente con 30 días, ¿no?. Estoy de acuerdo en eso, pero programar es mucho más que saber utilizar un if, o un while.

Si te fijas en el twit de Coding Horror están ofreciendo un curso para que mi abuelo pueda aprender a programar. Yo lo veo muy difícil. Quizá si tienes una formación técnica te resulte más sencillo, pero si no tienes formación previa los 30 días se quedan en eso, un sueño.

Y te recuerdo que he estudiado para programador, he visto cómo aprende la gente :) 30 días es muy poco tiempo.

Recuerda que tienes que enseñar cómo trabaja el ordenador, qué es y cómo se escribe el código, un entorno de programación simple, conceptos como tipos de datos, entrada y salida… No sé, aprender lo básico no es tan fácil como para hacerlo en un mes, no para alguien que no sepa.

Aun hablando de una persona que “sepa algo”, ¿cuánto aprendes en un mes? ¿A picar unas líneas sencillas? No puedes resolver ningún problema real en 30 días. Ni en el doble de tiempo. Como digo, hay gente que se forma durante años para ello, y esto no es como lo de las licencias de taxi, hay un motivo real por el cual se tarda tanto en dominar.

argos 2014-08-29 - 00:45

Yo creo que depende de la persona, el docente y el insentivo.

en 30 dias podras saber como funciona el lenguaje de programacion

en un año o dos a menajearlo.

Nuño Valencia 2014-08-29 - 20:30

A ver un Arduino en 30 días cuatro horas por día lo dominas a la perfección, pienso que C también, ahora, hacerlo bien sin bugs y que sea eficiente, es otro cantar.

Damián Lores 2014-09-01 - 16:37

En 30 días te dará tiempo a estudiar los fundamentos de programación, pero eso no significa que sepas programar, sino que empezarás a aprender a programar desde ese momento.

Jose J. Fernández 2014-09-03 - 22:45

¿Que dominas C perfectamente en 30 días, Nuño? Eso es columpiarse demasiado ;)

Areks 2014-09-30 - 08:16

Veo a mucha gente aquí diciendo cosas y veo al tiro que no son programadores jaja. Y si lo son, vaya madre mía…

daniel 2015-05-05 - 00:08

Excelente articulo , es verdad lo que tu dices muchos informaticos no son programadores, y es imposible aprender a programar en 30 dias, nada mas parte basica de la programacion dura un semestre entero es decir pseudocodigo para entender algo asi como :
var
a:integer;
escribir(‘dame el primer numero para determinar si es positivo o negativo’);
leer(a);
si (a>0) entonces
escribir (‘el numero es positivo’);
finsi
sino si (a=0) entonces
escribir (‘el numero es cero’);
finsi
else
escribir(‘el numero es negativo’);

fin // fin del programa principal.

nada mas entender estas simples estructuras tarda mas de un mes salidos desde venezuela

Jose J. Fernández 2015-05-05 - 01:07

Hola Daniel.

Me alegro de que te haya gustado el artículo. Ciertamente, cuando empecé a estudiar a mucha gente le costó más de esos 30 días ser capaz de realizar tan sólo un pseudocódigo como el que has escrito. Los que hemos estudiado estas cosas lo sabemos bien, por lo que veo :)

Gracias por pasarte y comentar.
Un saludo hacia el otro lado del charco.

Alekdias 2015-05-08 - 20:23

Soy autodidacta.

Debe ser que las instituciones educativas están muy mal llevadas en todo el mundo, pues yo conseguí aprender a programar desde cero cosas básicas como un editor de estructuras de datos dentro de un archivo ROM mezclado con punteros y código máquina ARM (previamente decodificadas por mi) en unos dos o tres días. Claro que, partía con la ventaja de tener conocimientos de ingeniería inversa.

Ahora bien. Una cosa es saber programar y otra ser un experto programador. Cosa que a mí me llevó unos tres años.
Aún así siempre se aprende algo nuevo. O también se pueden tomar retos como crear nuevos lenguajes de programación y compiladores desde cero para tratar de suplir alguna carencia en lenguajes actuales. Algo básico en la historia de la programación.

Actualmente he perdido interés pues estoy esperando a algunos cambios importantes que van a llegar a la industria del software en los años próximos.

No se mostrará públicamente.

Un enlace a tu blog o página web.