Yo no sé cómo definir exactamente qué es un buen programador, pero sí sé lo que tiene que hacer una persona si quiere ser un buen programador:
Dedicarle muchííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííísimo tiempo.
Es un aprendizaje contínuo,
siempre hay algo nuevo que probar, documentos que leer, utilidades que testear, tests que realizar, cambios que hacer, libros que leer, informes que redactar, presentaciones que hacer, etc. etc. etc.
No sé si hay alguna otra profesión en la que practicamente
siempre se está trabajando y nunca
acabas.
Muchas veces envidio a mis compañeros técnicos de hardware, cuando llega la hora de salir, simplemente, dicen: "hasta mañana" y se olvidan de todo, sin embargo para nosotros eso es algo casi imposible, nos vamos del trabajo pensando en el maldito error que no encuentras la solución, pensando en el documento que tienes que leer cuando llegues a casa, pensando en las pruebas que vas a hacer para comprobar alguna funcionalidad y que en el trabajo no te da tiempo probar, etc. etc. etc.
Creo que deberíamos cobrar sueldos de 24 horas diarias