6 Razones Porque La Programación No Es Para Todo El Mundo

Voy a ser claro desde el principio. Apoyo las iniciativas tipo The Hour of Code donde a jóvenes y niños se les enseña el proceso de creación de un software. También estoy de acuerdo con la enseñanza de la programación como una materia básica en las escuelas equiparándola con matemáticas, lenguas, biología, física, etc.

codingcamps

Estas iniciativas de enseñanza masiva de la programación de software son ciertamente una herramienta para que los jóvenes; (1) se interesen por las ciencias de la computación; (2) muchos que no lo sabían se den cuenta que son buenos para las computadoras. Ahora bien, de ahí a que todo el mundo aprenda programación; ¡No way!

No todo el mundo puede llegar a ser programador. La programación no es un asunto para cualquiera. Es una tarea muy especializada que requiere la combinación de actitudes, conocimientos y un ambiente correcto para poder desarrollarse. En este artículo voy explicar algunas razones de mi tesis.

Comencemos por el principio…

Hay que tener pasión para resolver problemas

La programación de software es para el individuo que siente pasión por resolver problemas. La experiencia indica que no todo el mundo le agrada la idea de andar resolviendo problemas. El proceso de resolver problemas implica tener una mente proactiva, lista para el trabajo duro y constante. La mayoría de las personas son perezosas en este sentido.

Toma tiempo dominar este arte

El que piense que ser programador es cuestión de un evento, no está pensando correctamente o lo están desinformando deliberadamente. Llegar a ser un programador eficiente es producto de un proceso de aprendizaje que tarda años. La programación es un arte que se aprende en modo “prueba y error”, consumiendo años de esfuerzo y energías. En pocas palabras, requiere trabajo duro y constante para llegar al nivel de ser productivo.

Hay que tener la actitud correcta

El programador debe tener una actitud positiva, y al mismo tiempo, una mente tenaz. El proceso de escribir un código fuente es complejo,  envuelve tener pendiente multitudes de detalles técnicos (sintaxis, variables, procesos, bucles, entradas, salidas, etc.). La misma naturaleza de la tarea hace que cada paso sea un desafío. Aquí no existen atajos.

No existe un asunto más tedioso y aburrido que “debuggear” y luchar contra ese “sentimiento de impotencia” que surge cuando tenemos un código fuente que no parece compilar nunca, aun cuando el código luce estar perfectamente escrito. Sí, todos hemos pasado por esto, al final sólo faltaba un “punto y coma” o cerrar una llave para que el código compilara.

Recientemente, leí en un ensayo de Paul Graham, que el verdadero programador disfruta el proceso de  “debuggear”. No lo ve como una pérdida de tiempo sino que disfruta cada segundo hasta encontrar la solución. Yo creo que Graham tiene razón. Si no te gusta “debuggear” quizás no sientes pasión por este arte.

Pensar “outside the box”

Para aprender programación es necesario pensar de manera abstracta. El pensamiento abstracto es fácticamente demostrable que no le es atractivo al “Layman” o “Average Joe”.

Recuerdo perfectamente en la universidad aprendiendo POO (Programación Orientada a Objetos) cuando el profesor explicaba los términos: herencia, polimorfismo, objeto, método, clase, etc. La mayoría de los estudiantes no captaban los conceptos. Era como si se les hablara en Mandarín. La abstracción requiere dos cosas: (1) el método correcto de enseñanza; (2) una mente fértil.

Planificación y diseño, luego ejecución

Codificar es una cosa, planificar y diseñar la solución de un problema es otra cosa muy diferente. La mayoría de las personas que he visto fracasar en el intento de convertirse en programadores tienen una característica en común: no tienen una sólida base de conocimientos en matemáticas y algoritmos.

Es cierto que la programación es un arte, pero al mismo tiempo también es una ciencia. Es una combinación de creatividad y estructura mental. No están separadas, al contrario, coexisten indistintamente.

Para resolver problemas computacionales es necesario pensar “outside of the box”, pero para aplicar esa solución creativa, y llevarla a la realidad, es necesario orden y estructura. Es aquí donde muchos fracasan. No es posible llegar a una solución eficiente si no contamos con un algoritmo que aproveche de la mejor forma los recursos computacionales disponibles.

Hay que ser curioso  

La mayoría de los programadores competentes son personas muy curiosas. Les gusta aprender constantemente y averiguar el porqué de las cosas. De hecho, la mayoría que conozco son autodidactas y no paran de aprender. La programación no es estática. Es una profesión que viene en constante evolución (nuevos lenguajes, IDE, Frameworks, etc.). Si no eres curioso y dependes de otras personas para aprender, la programación no es para ti.

Fuente: capacityacademy

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *