
Un buen programador es aquel que incluso al cruzar una calle de un solo sentido mira hacia ambos lados. —Doug Linder
Como programador de software en la industria de TI, lo que me motiva a ir a trabajar cada día es el placer y la pasión por la programación. Pero para estimular ese placer y obtener una satisfacción duradera, necesitamos aprender y seguir algunos conocimientos básicos para convertirnos en buenos programadores.
Por supuesto, lo que he resumido no es tan milagroso; si dices que quieres convertirte en un buen programador solo con aprenderlo, eso es imposible. Esto es solo un atajo desde mi experiencia. En cuanto a la definición de un buen programador, aquí se puede entender como alguien capaz de desarrollar excelentes soluciones de TI y promover el desarrollo general de la industria.
1. Domina los conceptos básicos
En cualquier industria y en cualquier trabajo, la comprensión de los conceptos es clave para el éxito. A menos que tengas una base conceptual sólida, es imposible convertirte en un buen programador. Comprender los conceptos centrales te ayuda a diseñar e implementar soluciones de la mejor manera. Si sientes que aún no dominas bien los conceptos específicos de la informática central y los lenguajes de programación, ahora es el momento de volver atrás y reaprender estos fundamentos; todavía no es tarde.
2. Etiqueta cada conjunto de código que escribas (how, what)
Creo que una línea divisoria muy clara entre buenos y malos programadores es si tienen la pasión por saber "what and how". Algunos programadores saben exactamente cómo se ejecuta su código y cuál es el resultado. También entiendo que a veces, por falta de tiempo, tenemos que pasar al siguiente paso sabiendo solo que el código puede hacer el trabajo. Aunque esto parece ser un tema en otra dirección para resolver problemas, como programadores deberíamos investigar a fondo los problemas para alcanzar el nivel más alto. Créeme, con el tiempo, desarrollarás este buen hábito inconscientemente y te beneficiarás enormemente.
3. Aprende más ayudando a los demás
Quizás la mayoría de nosotros solo va a foros y grupos cuando necesita ayuda. Una línea que distingue a los programadores excelentes es que estos suelen acudir a esos lugares para ayudar a otros, y mientras ayudan, también aprenden mucho. Si estás en un equipo, también debéis ayudaros mutuamente. Créeme, comprender el contexto de los problemas de los demás, investigar y proponer soluciones te hará aprender más y crecer más rápido.
4. Escribe código simple, comprensible y lógico
Como en otros aspectos de la vida, la regla KISS (Keep it simple and short) también se aplica a la programación. El código debe ser lógico y evitar ser demasiado complejo. Algunas personas escriben código tan complejo solo para demostrar que tienen la capacidad de hacerlo. Pero mi experiencia me dice que solo el código simple y lógico funciona de manera efectiva: tiene menos problemas y es más fácil de ampliar. Recuerdo esta frase:
El buen código en sí mismo es el mejor documento. Antes de añadir un comentario, pregúntate: "¿Cómo puedo mejorar el código para no necesitar escribir este comentario?" —Steve McConnell
5. Dedica más tiempo a analizar el problema y luego dedicarás menos tiempo a corregirlo
Dedica más tiempo a entender y analizar el problema, diseña la solución óptima y descubrirás que el trabajo posterior será mucho más eficiente. El proceso de diseño no implica necesariamente usar lenguajes y herramientas de modelado; también puede ser simple, como levantar la vista al cielo y hacer una lluvia de ideas en tu cabeza. Aquellos programadores que, en cuanto reciben un problema, se ponen a teclear código por costumbre, al final suelen obtener resultados diferentes a lo que se pedía.
Si cuando te duchas aún no tienes en mente la estructura general del programa, significa que aún no estás listo para empezar a escribir código. —Richard Pattis
6. Sé el primero en analizar y revisar tu propio código
Aunque sea algo difícil, saber dónde están los problemas antes de que otros los descubran te permite aprender a escribir código "casi sin errores". Sé justo y riguroso al revisar tu propio código y acepta sin dudar la revisión de los demás. Dime con quién andas y te diré quién eres; trabajar con buenos programadores y escuchar activamente sus comentarios sin duda te ayudará a convertirte en un buen programador.
7. No te frustres ante la tecnología que cambia rápidamente
Últimamente, en la industria de TI, he conocido a muchas personas —ya sea que se quejan de que están decepcionadas con su trabajo o incluso han renunciado y están buscando uno nuevo— que coinciden en que quieren aprender y usar las tecnologías más nuevas. Entiendo este deseo, pero creo que la palabra "nuevas" no es del todo correcta. Todos los días escuchamos a alguien decir "ahora han salido nuevas herramientas, API, frameworks y otros métodos" que hacen la programación más sencilla. Esto siempre ha estado ocurriendo en el campo de la tecnología. Lo que realmente debemos prestar atención y comprender son los cambios en las tecnologías centrales y básicas; sobre esa base, vemos los nuevos frameworks, herramientas y API. Por ejemplo, en muchas empresas de Java, puede que cambien de framework web cada dos semanas, pero los conceptos centrales basados en el modo de comunicación cliente-servidor, el patrón MVC, filters/servlets/JSP, el enlace de recursos, el análisis XML, etc., siguen siendo los mismos. Así que, en lugar de preocuparte constantemente por los cambios de frameworks y herramientas, dedica tiempo a aprender bien estos conceptos centrales. Créeme, solo sobre la base de comprender estos conceptos centrales podremos dominar más rápido los nuevos frameworks, herramientas y API.
8. Las soluciones de emergencia no son efectivas a largo plazo
En muchas ocasiones, los programadores pueden adoptar soluciones de emergencia y alternativas (ya sea por falta de tiempo, por falta de comprensión profunda del problema o por insuficiente experiencia técnica). Pero estas soluciones de emergencia dañan el código, haciendo que sea difícil de ampliar y mantener más adelante. Entiendo que a veces esta situación es difícil de evitar, pero al igual que todos deberíamos decir la verdad, si mientes, debes saber que la mentira siempre termina por descubrirse.
9. Lee documentación
Uno de los hábitos básicos de los buenos programadores es leer mucha documentación: especificaciones técnicas, JSR, documentación de API, tutoriales, etc. Leer documentación sienta los cimientos necesarios para programar de la mejor manera.
10. Aprende del código de los demás
Me gusta mucho interactuar con aquellos buenos programadores que tienen código fuente de Java en su IDE, y leer/referenciar su código. Hacerlo no solo te permite conocer los conocimientos básicos, sino también aprender nuevos métodos para escribir proyectos. Leer y consultar código fuente abierto confiable y conocido, o el código avanzado de uno mismo, también nos ayuda a programar mejor.
Un último punto que no se incluyó anteriormente: no te compares con los demás
Como dice el refrán: compararse con los demás solo lleva a frustración; compararte con otros solo genera emociones negativas y se convierte en competencia malsana. Cada uno tiene sus fortalezas y debilidades. He visto muchas veces que algunos supuestos programadores increíbles también cometen errores muy tontos. Por lo tanto, analízate, enumera tus deficiencias y esfuérzate por mejorar; ese es el camino correcto.
Programar es un verdadero placer, bienvenido a disfrutarlo.
"Cualquier tonto puede escribir código que una computadora entienda, pero los buenos programadores escriben código que los seres humanos pueden entender." —Martin Fowler
Enlace de la traducción: http://www.codeceo.com/article/10-effective-way-good-programmer.html
Autor de la traducción: Red de Programadores – Xiaofeng