1. Las 10 habilidades de un gran programador
Por Jorge Domínguez Chávez
Con la última novedad sobre lo que funciona y lo que no funciona en un buen programador, no podía dejar de
hacer mi propia lista de estas 10 habilidades.
1. Ser un gran solucionador de problemas.
2. Ser activo y perezoso al mismo tiempo.
3. Capacidad para comprender el código de otros programadores.
4. Tener pasión por la programación.
5. Amar ser aprendiz en aras del aprendizaje.
6. Bueno en matemáticas.
7. Buenas habilidades para la comunicación.
8. Fuertes habilidades de debate.
9. Optimismo Extremo.
10. Pesimismo extremo.
1. Ser un gran solucionador de problemas - Esperemos que el mundo reconozca esto. Un buen programador es
ser capaz de encontrar soluciones donde otros no las ven. Si no tiene esta habilidad el resto de la lista no importa.
2. Activo y perezoso, al mismo tiempo - Esto sorprende a algunas personas. Los programadores cuestionan cosas
y con frecuencia son "demasiado perezosos" para tomar la ruta larga. La voluntad es pasar horas y ciclos para
tratar de simplificar el problema y facilitar su labor. Una vez que tiene la imperiosa necesidad de hacer el trabajo,
lo quiere hacer lo más eficiente posible.
3. Capacidad para comprender el código de otros programadores - Este punto es esencial, pero elimina a algunos
buenos programadores de ser grandes programadores. No importa lo bien que pueda escribir todo - tiene que ser
capaz de trabajar con código de otros programadores en los proyectos existentes, debe apoyarse en opensource,
en nuevos proyectos y aprender “nuevas” buenas técnicas del código disponible.
4. Tener pasión por la programación - en un cierto nivel tiene que amar la programación por el amor de la
programación. Para ser realmente bueno en cualquier profesión tiene que amarla en la mayoría de los casos.
5. Amar aprender por el simple placer de aprender - La programación es sumamente dinámica. No hay
momentos para descansar y nadie le importa lo que hizo ayer. A menos que esté consciente de novedosas
técnicas en el horizonte, no estará listo para abrazarlas cuando sean relevantes.
6. Bueno en matemáticas - Diferentes personas tienen diferentes opiniones aquí - por lo menos tener un sólido
conocimiento sobre matemáticas a nivel universitario.
7. Buenas habilidades para la comunicación - Esto no significa que no se pueda comunicar con su entorno,
significa que sea capaz de expresar claramente sus pensamientos en sus propios términos. Hay un buen número
de grandes programadores que no se podían comunicar bien con el mundo en general. Sin embargo, cuando es
necesario hablar con quien entiende el dominio del problema, fueron capaces de comunicar claramente el
2. problema y las soluciones propuestas.
8. Fuerte debate habilidades - Sigue la misma lógica que el punto 7.
9. Optimismo Extremo - Grandes programadores que tienen la insana certeza que pueden hacer el trabajo una
vez que han mordido un bit.
10. Pesimismo Extremo - Grandes programadores que tienen la insana insistencia que cuando carecen de la
información necesaria para hacer un buen juicio, dicen que no van a poder hacer nada.
Después de la elaboración de esta lista, algunos puntos de ella me sorprendieron y fui el que armó la lista. Así
que permítanme explicar cada una de las habilidades en detalle. Describen a aquellas encontradas en casi todos
los grandes programadores.
Algunos de las habilidades que quería poner en la lista anterior pero que no podía sustentar, por lo menos en el
95% de los grandes programadores, son las siguientes:
1. Organizado - Entender cuándo y donde la organización es importante. La atención al detalle es algo presente
en grandes programadores tan a menudo como lo es en los profesionales de otras disciplinas.
2. Bueno en la gestión de personas o proyectos y programación - De alguna manera estas habilidades son
maravillosamente sinérgicas cuando se sientan al lado del otro, pero la gestión y la programación son, a menudo,
completamente disciplinas diferentes.
3. Capaz de escribir buenos diseños - Igual que el punto 2. Esta habilidad puede hacer de algunas personas
mejores programadores y estoy a favor de aprenderlo. Sin embargo, un número de grandes programadores no
podía escribir un diseño coherente sí su vida dependiera de ello. Esto se debatirá en gran medida por algunos.
4. Tener la capacidad para estimar los plazos - Una vez más como punto 2. Esta es una habilidad adquirida y
muy útil. Sin embargo, no hay ninguna correlación entre los grandes programadores y habilidades de estimación.
5. Lectura prolífica de libros de tecnología - Lo hago todo el tiempo, pero muchos grandes programadores, no.
La mayoría de los programadores, sin duda, podrían beneficiarse con buenas lecturas.
6. Capacidad para transferir sus conocimientos de programación a cualquier dominio de programación - Aunque
muchos pueden, algunos grandes programadores no pueden, o se niegan a asimilar otras tecnologías de
programación. Me gusta pensar que este es un "desecho de" una situación.
7. Escribir el código que se corrija una sola vez - Muchos grandes programadores tienen problemas sintácticos
marcados por los compiladores o en la interpretación en tiempo de ejecución. Algunos son fanáticos sobre los
detalles desde el primer momento, otros son más "extremos" en esta área.
8. Tener otras áreas de gran capacidad - algunos grandes programadores son buenos en una sola cosa - la
programación.
9. Social o antisocial – Los grandes programadores vienen en dos formas.
10. ¿Hay alguien que le gustaría en su equipo? - Por desgracia, algunos de ellos simplemente no pueden trabajar
con los demás.