Existen muchas discusiones en la red acerca de cuáles deben ser las aptitudes que debe tener una persona para poder dedicarse al área de la programación o desarrollo de software. En esta publicación, mencionaré algunas aptitudes que debe tener un programador, aquellas que desde mi punto de vista son las más necesarias.

 

Aptitudes que debe tener un programador

Tolerancia a la frustración

Programar es una actividad que muchas veces implica enfrentarse a problemas que no se resuelven en cinco minutos. Cuando el programa tiene un error, el programador debe realizar una actividad denominada depuración, la cual consiste en ejecutar el programa paso a paso, revisando las distintas líneas de código, para identificar en qué línea se encuentra el error que el programa tiene y cuáles son las causas del mismo. Saber estas cosas nos permite realizar modificaciones al programa para poder corregir el error. Sin embargo, esta tarea de depuración puede demorar entre unos minutos o varias horas (a veces días), dependiendo de la gravedad del error, la cantidad de líneas de código que haya que modificar para corregirlo, e incluso del conocimiento que tenga el programador sobre ese error, dado que, si se trata de un error que es muy común y conocido (como puede ser el olvidarse de un paréntesis, una coma, escribir mal una variable o volver a tener un error que ya se cometió antes y que se sabe o se recuerda la manera de arreglarlo) la corrección podría tomar muy poco tiempo, mientras que si el error es de causas totalmente desconocidas para el programador, entonces deberá invertir mucho tiempo y esfuerzo en depurar e investigar las causas y posibles correcciones.

 

Es por eso que en este tipo de tareas, ser capaz de tolerar las frustraciones es importante, ya que hay que estar preparado para que el sistema funcione mal (y seguramente funcionará mal), corregir el error y encontrarse con otro error más, y re-corregir hasta que el programa sea estable y funcione bien. La gente que no es tolerante a la frustración podría abandonar antes de tiempo, viéndose superados por los constantes fracasos al intentar corregir los errores.

Es muy buena la recompensa emocional que siente un programador cuando, después de horas y horas sin poder arreglar un error, de repente se te ocurre una idea, ya sea en el baño, en la cama antes de dormirte, en el propio lugar de trabajo, o en el viaje desde el trabajo hasta tu casa, y esa idea resulta ser la solución al problema que tanto te costaba encontrar. El momento exacto en que logras resolverlo, ese gran momento, para mí es uno de los mejores momentos que te puede regalar esta profesión. Es la mejor recompensa para tanta frustración.

alojamiento wordpress

Paciencia

Tan importante como la tolerancia al fracaso es la paciencia, dos conceptos que no son exactamente lo mismo, pero van de la mano. Muy poco tiempo vas a aguantar dedicándote a la programación, si a las primeras de cambio te dan ganas de romper el monitor de la PC. Hay situaciones en las cuáles las cosas no van a funcionar (al igual que como comenté en el punto anterior), por lo que se necesita de un programador que sea paciente, que entienda que los problemas se resuelven buscando alternativas y volviendo a intentar constantemente, a la espera de que alguno de esos nuevos intentos termine resolviendo el problema en cuestión. Los golpes son sólo violencia que no conduce a nada. Más de uno de nosotros se ha enfrentado a una situación similar, y ha sentido esas ganas de tirar la computadora a la basura o de insultarla como si fuese una persona no grata, pero al cabo de un rato nos damos cuenta de que eso no nos va a arreglar el error que está saltando en producción, y entonces se nos va el mal humor. En estas circunstancias, es muy recomendable ir por un café, tener una charla distendida con algún compañero, o si se puede salir cinco minutos a dar una vuelta y tomar aire puro, y después volver con la mente un poco más limpia.

Disposición para aprender cosas nuevas

El mundo de la informática está en constante cambio, muchos lenguajes y herramientas nuevas surgen con el pasar del tiempo, y lo que está de moda o se utiliza en el mercado laboral hoy, seguramente no siga siendo la moda dentro de unos años. Por eso es recomendable para el programador no “casarse” con ningún lenguaje, librería, framework, o tecnología en general, ser tecnológicamente abierto y estar preparado siempre para el cambio. Ya no sirve la típica personalidad “dinosaurio”, que defiende a las herramientas viejas que utilizaba hace 20 años atrás, y odia a cualquier lenguaje nuevo que le intenten enseñar, sólo porque introduce un cambio radical en su manera de trabajar o de pensar, lo cual estaría sacándolo de su zona de confort como desarrollador. No hay que quedarse atado a lo mismo. Hay que aceptar que tu zona de confort de hoy no será la misma que la de mañana. En fin, hay que acompañar al progreso de la informática y no retroceder.

Si no sabes algo, investiga

Este principio para mí es tan importante como los otros. Ningún programador es un sabelotodo, y de hecho nadie en el mundo lo es. Por eso cuando tienes un problema y no conoces su solución, no te estanques. Pregúntale a un compañero que trabaje o estudie contigo. Busca en Internet, está lleno de manuales de referencia para cualquier lenguaje de programación, hay foros en donde la gente pide ayuda y otras personas que tuvieron problemas similares comparte con la comunidad la manera en que lo han solucionado ellos. Hoy por hoy se tiene acceso a un volumen de información y de comunicación inmenso, y todo el que quiera dedicarse a la programación debe saber que Internet debe ser considerado como una herramienta más de desarrollo.

Seguramente hayan muchas más características o habilidades que se requieran para ser programador, pero estas desde mi punto de vista son las más básicas, son las que creo definen la personalidad y actitud que debe tener un programador para desempeñarse correctamente. Sin embargo, por más que cumplas con todos los puntos mencionados, si no te gusta programar, no lo hagas. Parece obvio, pero hay que decirlo. Al igual que en cualquier actividad de la vida en general, si no te gusta hacerla, no vas a poner todo tu empeño en llevar a cabo esa actividad, y hacer las cosas sin ganas o sin pasión te llevará a no hacer las cosas bien. No pierdas más tiempo.

Y tú, ¿ Qué opinas sobre este tema ? Me gustaría saber si estás de acuerdo o no, y si discrepas en alguno de los puntos mencionados.

 

 

 


 

Espero que haya sido de tu agrado este post, y que los diferentes ejemplos e ideas expresadas en el mismo se hayan entendido. Por cualquier duda, consulta, aporte o crítica, puedes dejar un comentario al final de la página.

Si te gustó esta estrada del blog, puedes ayudarme a mantener el sitio mediante PayPal:




También puedes darle Me gusta a la página de Carbasoft en Facebook: