Con la frase: “¿Quién es el mejor programador que jamás has visto?” empieza el artículo What is a Power Programmer? publicado el pasado miércoles en SlickEdit en el que se analizan las características comunes de los mejores programadores: los Power Programmers (para no estropearlo, mejor no traduzco el anglicismo).
Respondiendo a la pregunta diré: A día de hoy, teniendo en cuenta mi breve carrera profesional (con 24 años no da mucho más de si), creo que he conocido a dos personas que cumplen las siguientes características mencionadas en el artículo original:
Pasión por programar
Un Power Programmer pica código en casa, pico código en el trabajo y pica código donde le apetece. Disfruta programando y no programa sólo para ganarse la vida. Programa porque le apasiona programar.
Expertos en áreas específicas y dominios de programación
No se conforman con programar con el único objetivo de que funcionen las cosas. Programan consiguiendo un resultado óptimo y eficiente. Para ello, necesitan tener un conocimiento muy elevado del lenguaje de programación con el que están implementando la aplicación. Es decir, si les haces una pregunta te responden, no con una respuesta, sino con la mejor respuesta. Además, les gusta comparar diferentes lenguajes de programación y argumentar las ventajas e inconvenientes de cada uno de ellos.
Conocimiento de la teoría de la informática
Saben cual es el mejor algoritmo de ordenación de elementos y, lo más importante, saben porqué es ese y no otro. Le encantan las estructuras de dados y aplican las más óptimas en cada situación. Conocen los principios básicos de la informática y lo que supone, a nivel de rendimiento, programar de una manera o de otra.
Conocimiento de las herramientas de programación
Para programar se necesitan editores, compiladores, debuggers… Conocen las herramientas que existen en el mercado y las utilizan de la mejor manera intentando sacarles el máximo provecho. Son los power programmers las personas que utilizan las funcionalidades de un determinado editor que la mayoría de presonas no utilizan por desconocimiento.
Hambrientos por aprender
Esta es una característica que resaltaría personalmente: Siempre están aprendiendo, aprendiendo y aprendiendo. Su afán por aprender nuevas cosas no tiene límites. Normalmente, te los encontrarás leyendo libros, manuales. (ah! sí, claro, también blogs…). Cuando no comprenden alguna cosa, siempre intentan averiguarlo y no se conforman con saberlo únicamente.
Trabajan de la manera más rápida y eficiente posible
Una verdad como una catedral. Los power programmers que he conocido son capaces de escribirte parte del código de una aplicación rápidamente y sin la posibilidad de que puedas argumentar que lo que han hecho se puede mejorar. Los ves trabajar y alucinas. Tienen las ideas claras antes de tocar el teclado. En cuanto empiezan a programar, no hay quién los pare.
¿Me considero un power programmer?
Para nada. Me falta mucha experiencia y, aunque creo que es positivo mantener alguna de las características que les caracterizan, disto mucho de serlo. Por lo menos, en mi concepción.
Y tú, tanto si te dedicas o no al mundo informática, ¿has conocido a muchos power programmers en tu profesión?
Fuente: UnBlogMas.