Muchas cosas en el mundo siguen patrones; al igual que *Los 7 hábitos de la gente altamente efectiva*, los programadores excelentes también tienen siete características principales. Algunas de estas características son innatas, es decir, talento, pero otras se adquieren mediante el aprendizaje, el progreso, la acumulación y la síntesis en el trabajo diario de programación. Todo programador quiere saber si es un programador excelente; entonces, consulta las siguientes 7 pautas y comprueba si has alcanzado el estándar para ser un programador excelente.

1. Le gusta ayudar a los demás y cuidar de los programadores menos competentes

234209ley9es9xsw1myo22

Los programadores suelen tener muy mal genio y a menudo discuten con clientes, compañeros e incluso jefes sobre problemas de programación. Un programador excelente sabe ponerse en el lugar de la otra persona: comprende la ignorancia del cliente, la incompetencia del programador junior y la impotencia del jefe. Siempre ayuda a los demás con la máxima paciencia, ayuda a sus compañeros y a los nuevos empleados para que puedan crecer rápidamente.

2. Tiene pasión por la programación

234318igwprngo24w4o4w4

Muchos programadores se dedican a esto solo por dinero; si hubiera una mejor profesión, renunciarían al trabajo de programador sin dudarlo. Pero el programador excelente ama la programación y disfruta investigando los problemas en el código; siente que poder hacer que una computadora ayude a las personas y a sí mismo a resolver problemas de la vida real es una capacidad maravillosa. Cuando se encuentran con un problema que no pueden resolver, pierden el apetito y no pueden dormir.

3. El caballero sabe aprovechar las herramientas externas

234330kzcrc5h03eccnmbr

El programador excelente sabe cómo completar las tareas de manera más eficiente y cómo resolver los problemas de manera más efectiva. Cuando se enfrenta a un problema, no se empecina; es bueno utilizando herramientas externas para resolver sus problemas, especialmente dominando los motores de búsqueda. Los programadores junior solo usan Baidu y Baidu Zhidao para buscar respuestas, mientras que los programadores senior/excelentes usan Google, Stack Overflow o sitios como los foros de MSDN para encontrar mejores respuestas.

4. Pragmático y flexible

234343txzddiiiht68r5i2

Muchos programadores tienen una característica común: no les gustan las restricciones, no les gustan las reglas, no les gusta fichar, no les gusta escribir registros, no les gusta escribir pruebas, no les gustan las reuniones matutinas, etc. Pero el programador excelente está dispuesto a cumplir las reglas; sabe que el heroísmo individualista del programador es parte de su naturaleza, pero desarrollar un proyecto formal es un trabajo en equipo, y donde hay un colectivo tiene que haber disciplina. Y el programador excelente no es rígido ni dogmático; ajusta constantemente sus estrategias según los cambios del entorno y el desarrollo de las circunstancias, para que las reglas sirvan mejor al trabajo.

5. No solo se interesa por el conocimiento técnico, sino también por el conocimiento no técnico

234355ne4refn886j9xf0a

Los programadores incompetentes prefieren estudiar a última hora; solo aprenden cuando lo necesitan. Pero el programador excelente aprende activamente todo tipo de conocimientos relacionados y tiene una actitud abierta hacia todas las fuentes de conocimiento, sin caer en el estancamiento como algunos. Y no se limita solo al conocimiento técnico relacionado con su profesión; también aprende cualquier conocimiento que le resulte interesante, como las habilidades de comunicación.

6. Sabe cuándo renunciar

234404ueonubdb0adenaau

En las empresas de software de China hay un problema común: les gusta acumular funciones y sueñan con crear un software grande y completo, un software universal que sirva para todo y en todas partes. Pero la realidad es que ese tipo de software generalmente no tiene éxito y muchos quedan a medias. El programador excelente sabe cuándo y cómo renunciar; cuando se acerca la fecha límite, no hay suficiente personal y los requisitos no están claros, decide con determinación qué funciones deben posponerse y qué funciones deben priorizarse para asegurar su lanzamiento.

7. Tiene espíritu empresarial

2344157ikkbkbvyrr6gxbk

A muchos programadores les gusta considerarse asalariados; se ven a sí mismos como empleados y trabajan con mentalidad de empleado. El programador excelente se ve a sí mismo como dueño de la empresa; sabe que los intereses de la empresa están íntimamente ligados a los suyos. Además, el programador excelente imagina que si él fundara una empresa, qué conocimientos necesitaría y qué habilidades le faltarían. Solo poniéndote en la posición de dueño puedes comprender verdaderamente las habilidades necesarias para gestionar una empresa.

Fuente: http://www.vaikan.com/traits-of-good-programmer/