¿Un programador nace o se hace?

Descubriendo el camino para adentrarse a la programación

Diego Flores
Nowports Tech and Product
5 min readNov 24, 2022

--

Habilidades de un programador profesional

Manejar cualquier lenguaje es una tarea compleja, sin embargo, todos lo hacemos; ¿acaso no nuestro idioma nos permite programarnos a nivel individual y como sociedad? Pues bien, en el caso de los profesionales en programación sucede algo similar y hoy te lo quiero explicar.

Como seres humanos nacemos programados y para programar, por eso puedo decir que todos nacemos programadores, pero… ¿qué es lo que verdaderamente hace a alguien en un experto en programación?

El lenguaje, ya sea escrito, oral o corporal nos permite emitir un mensaje entrante y producir un mensaje o acción de salida. Y además, nacemos con un sistema completamente programado para realizar funciones vitales como respirar, procesar alimentos, distribuir oxígeno, etc., lo que significa que lo que nos hace programadores es la acción, la práctica y los sistemas funcionando.

Con esta idea viene el concepto de pragmatismo que es una doctrina filosófica nacida en Estados Unidos a finales del siglo XIX, fruto del pensamiento de Charles Sanders Pierce (1839–1914), William James (1842–1910) y John Dewey (1859–1952).

Según sus propios creadores, se trata más de una manera de pensar que de una corriente filosófica, y se resume en que la teoría debe extraerse de la práctica (y no al revés), y luego aplicarse a la práctica misma (o sea, a su mejoramiento) para alcanzar así una práctica inteligente.

Ahora bien, de este tema surgen 2 preguntas importantes:

  1. ¿Qué es lo que influye para hacer grandes programadores? La respuesta es la programación pragmática que se resume en la práctica inteligente, constante, cambiante e influyente.

2. ¿Cómo alguien puede hacerse un programador pragmático? Para contestar esto, Andrew Hunt y David Thomas (1999), en su libro The pragmatic programmer, brindan estas características y consejos para serlo:

Características de un programador pragmático

  1. Adopta de manera temprana nuevas herramientas y conocimientos. Y también se adapta muy rápido.
  2. Es curioso. Se cuestiona constantemente.

3. Es crítico. No se conforma con un “porque así se hacen las cosas y punto”. Al contrario, se cuestiona, investiga, busca entender el porqué.

4. Es realista. Logra identificar la complejidad en tiempo y esfuerzo que conlleva solucionar un problema.

Consejos para convertirse en un programador pragmático

Tip 1. Pensar acerca del trabajo

Este consejo se refiere a reflexionar y arreglar en la marcha, cuestionar si lo que se está haciendo es la mejor opción y a no acumular soluciones fácilmente desechables.

Tip 2: Dar opciones, no excusas

Muchas veces existirán problemas que no siempre uno mismo ocasionará. Y si bien es válido quejarse, no lo es dar excusas como respuesta al problema.

Tip 3: Eliminar efectos entre cosas no relacionadas

Este es de mis consejos favoritos. En la mayoría de cosas que se hagan, es necesario evitar que dependan unas de otras.

Incluso por la manera en que funciona el cuerpo humano, es posible identificar la importancia de la independencia (ortogonalidad). Qué horrible sería que por un dolor de estómago duela absolutamente todo el cuerpo ¿no?, o que por una infección de garganta se detenga el corazón.😳

Esta independencia ayuda a que los códigos sean más resistentes al cambio y a evitar multiplicar problemas. Por eso es fundamental lograr que el código sea lo más independiente posible.

Tip 4: Saber que no hay decisiones finales

Es importante ser consciente de que no existen soluciones únicas. Una rápida adopción y adaptación es clave.

Tip 5: Mantener el conocimiento documentado

Si cada quien aprendiera únicamente de su propia práctica, nos quedaríamos estancados, por eso es importantísimo transferir el conocimiento y en su momento, resguardarlo. Para conseguirlo es vital documentar las creaciones que se generen.

Tip 6: Profundizar en el código y la documentación antes de culpar a las otras cosas de que están rotas

Toda creación está propensa a errores, por eso siempre hay que profundizar en ella. Revisar y analizar el código y la documentación antes de culpar a eventos externos es crucial, “las funciones no están rotas”.

Tip 7: No asumir, es mejor demostrar

No basta con asumir que un código funciona con una prueba, es necesario comprobar si también funciona en más casos, en diferentes entornos y hasta con otras personas.

Así como cuando un producto (medicamento, alimento, etc.) es puesto a prueba en distintos ambientes, el código también debe probarse. No basta con asumir que si funciona en una ocasión, funcionará en otras.

Tip 8: No usar código “mágico” que no se entienda

No hay que usar código que uno mismo no entienda. Las cosas no pueden funcionar a costa de tener suerte, pues tarde o temprano será obsoleto o peor aún, perjudicará a alguien más.

Tip 9: Saber que nadie escribe código perfecto

Es importante evitar la “paranoia” del programador pragmático que se resume en hacerse consciente de que no existe código perfecto. Siempre vendrán mejoras, por eso no hay que caer en el exceso de la perfección.

El programador pragmático debe solucionar conforme al tiempo, la situación actual y los recursos disponibles, no existe solución eterna.

Tip 10: Escribir código que escriba código

Una ventaja del día a día es poder automatizar y acelerar las tareas.

¿Imaginas que no existiera el microondas, la estufa o la sartén? Tardarías demasiado en cocinar ¿verdad? Pues bien, a nivel código pasa lo mismo, la vida no es la misma sin las funciones, clases, ciclos, etc., por eso resulta irracional no aprovechar código que trabaje contigo.

Tip 11: Si no puede suceder, usar afirmaciones para asegurarse de que no sucederá

Asegurar con aserciones y excepciones cosas que no pueden pasar, rompe el código. Por esta razón siempre será necesario limitar lo que puede entrar o no, a un programa.

Para concluir, me gustaría dejarte en claro que aún hay más tips por conocer (y estoy seguro que los seguirá habiendo), así que te invito a consultar constantemente información sobre el tema y sobre todo, a poner manos a la obra (practicar) para generar nuevo conocimiento y transmitirlo.

Por otro lado, ten presente que estos consejos no solo sirven para aplicarse a la programación informática, sino también puedes ponerlos en práctica en cualquier ámbito de tu vida. Así que espero te sean útiles tanto en tu vida profesional, como en la personal.

“El programador nace y se hace pragmático”.

¿Quieres leer más temas relacionados? 👉Visita el blog de Nowports Tech👈

--

--