BLOG

Por [N1] Fred el | Añadir comentario

7 cualidades de un buen programador (¿o no?)

Imagínate que quieres ser programador, o que ya siéndolo, alguien te pone sobre aviso de lo que implica ser un buen desarrollador. ¿Qué crees que te dirían? En este artículo voy a enumerar 7 cualidades de buen programador, aunque evidentemente puede que se me escape alguna y que puedes pasar a comentar en la sección de comentarios si lo ves oportuno.

7 CUALIDADES DE UN BUEN PROGRAMADOR

1. Aprendizaje constante

¿Te gusta aprender cosas nuevas? ¿Siempre te ha gustado aprender? Porque una cosa que sí te puedo garantizar de trabajar en el campo de la programación de software es que te pasas la vida aprendiendo e implementando cosas nuevas constantemente. Cada pocos años necesitas actualizarte y aprender un conjunto de nuevas destrezas. Esto no es opcional, !es obligatorio!  Solo puedes evitar este proceso de formación continua si encuentras un nicho muy especializado y cerrado. De lo contrario estarás formándote toda tu vida profesional. 

Si te cuesta aprender cosas nuevas y no concibes que la formación es un medio para llegar a un fin, NO te metas a desarrollar software. La formación es una constante en este trabajo. 

2. Paciencia

Debes tener paciencia, pero en el sentido de trabajar de forma metódica con un problema durante, días, semanas e incluso meses. No se trata tanto de picar y picar código hasta que algo funcione. Los buenos desarrolladores de software no se pasan el día escribiendo código hasta que el programa funciona. Esto significaría que no han pensado mucho en el problema en cuestión y simplemente están lanzando churros de código a lo loco hasta que algo va y funciona… En verdad un buen enfoque implica sentarse a analizar el problema, diseñar una solución, buscarle todos los hilos, ver si todo encaja, repasar el plan buscando posibles puntos críticos, y, finalmente, sentarse a programar el software.

El código “brota” del problema, no lanzamos y amontonamos código sobre el problema.

3. Planificación en fases

¿Eres capaz de pensar en fases? ¿Puedes desmenuzar un problema en partes cada vez más pequeñas y detalladas? Esta forma de pensar que va desde el plano general hasta las partes más pequeñas deconstruidas de forma lógica es esencial.

4. Creatividad y tomarse el trabajo como un juego

¿Tienes una vena creativa? Las aptitudes creativas tienden a ayudarnos a trabajar con conceptos abstractos permean al software. ¿Te gusta jugar? Desde mi punto de vista, esa voluntad de tomarse el proceso de aprendizaje como un juego es la principal diferencia entre las personas que ven el trabajo de desarrollo de software como un desgaste cansino y alas personas que disfrutan de los retos del trabajo, de los que se divierten “ganando la siguiente fase” a modo de videojuego. Esta última idea desemboca en una actitud de nunca darse por vencido y denota una voluntad por irse por la tangente en busca de soluciones cuando el plan que estamos siguiendo no lleva a nada. 

5. No auto-engañarse

Es muy importante ser muy honesto con uno mismo. La mayor trampa en la que caen los desarrolladores novatos y programadores medios es hacer demasiadas suposiciones o conjeturas sobre el problema que tienen que solucionar sin preguntar e indagar para averiguar si van por el buen camino. A medida que vas cogiendo experiencia le das más importancia a este aspecto. No sabes dónde están tus limites hasta que no los hayas cruzado. Cuando tienes poca experiencia tiendes a cruzar tus limites de largo y terminas en situaciones muy incómodas. A medida que coges experiencia, aprendes honestamente a reconocer lo que no sabes y a no hacer suposiciones a la primera de turno, evitando así cometer errores de categoría mundial 🙂  

Cuanto más crítico sea el software, más importancia adquiere el ser consciente de las propias limitaciones. Si desarrollas software que contiene información financiera de personas particulares, tienes que ser muy precavido y estar seguro de que vas a ser capaz de hacer lo que dices que vas a hacer y hacerlo de forma precisa y bien en plazo. 

6. Resistencia mental

El desarrollo de software y la programación es mentalmente desafiante. Las personas que no trabajan en este campo ven que los sueldos y las condiciones de trabajo están por encima de la media y quieren un trozo del pastel. Lo que no ven es la maraña de cosas que tienes que dominar para poder trabajar en este campo: herramientas de desarrollo, redes, hardware, administración de servidores, bases de datos, lenguajes de marcado, scripts, protocolos de comunicación, numerosas aplicaciones de escritorio y cloud… además de todas las destrezas laborales que necesitas para formar parte de una empresa y poder funcionar. Día sí y día también. Y todo lo anterior es solo para obtener un puesto de trabajo. Dominar la materia toma muchos años.

 7. Flexibilidad ante el cambio

A la mayoría de las personas nos cuesta ser competentes haciendo un par de cosas y normalmente nos asusta cualquier atisbo de cambio. El cambio es el compañero fiel de cualquier programador. Para algunos proyectos se te puede llegar a exigir ser competente o tener conocimientos de media docena de campos de trabajo. Pero por eso lo buenos desarrolladores ganan sueldos por encima de la media, porque dicha competencia tiene un precio. No es un trabajo fácil. Desde fuera no se aprecia bien lo competente que es un buen programador y se piensa que no es tan complicado, pero es un entorno muy cambiante, de aprendizaje constante en el que tienes que tener conocimientos de programación, pero también de muchos campos y sectores para los que creas soluciones. Se meten muchas horas. 

¿Aún quieres ser un programador de software? ¿Crees que estas son 7 cualidades de un buen programador?

Velneo es el entorno ágil para el desarrollo
de aplicaciones empresariales

PRUEBA VELNEO

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies