Como ser un programador productivo

Programar es una actividad técnica y creativa a la vez. Lograr una buena productividad no se trata simplemente del talento o la inteligencia por si solos. Hay algunos factores clave que son de gran ayuda:

Concentración.

Esta es la parte mas importante de este articulo ya que creo que no se le ha dado suficiente importancia en la red. Sobre los otros dos temas se sabe muy poco o ya existe suficiente literatura.

En programación- esto en realidad aplica a cualquier actividad creativa- algo indispensable es la capacidad de concentrarse en la actividad que se realiza. Incluso se ha acuñado el termino “flow” o “la zona” para describir ese estado mental en el que una persona realizando una operación esta completamente sumergido en un sentimiento de concentración, compromiso total y goce en el proceso de dicha actividad, según Wikipedia.

Se sabe que los momentos de mayor productividad de los programadores se dan mientras logran concentrarse completamente. Sin embargo, esto implica algunos problemas: Para alcanzar un nivel de concentración aceptable se requiere de aproximadamente quince minutos, dependiendo de la capacidad del programador y del entorno en que trabaje. Ademas este estado es difícil de mantener y cualquier estimulo dirigido al programador lo puede sacar de su trance de forma decepcionantemente fácil.

Estas son algunas cosas que debes hacer para facilitar tu paso a ese estado de concentración si realmente quieres ser mas productivo:

-Prepararte.

Antes de ponerte a trabajar en tu actividad propiamente dicha, debes resolver todos los pequeños asuntos y responsabilidades extra que tienes-reportes, contestar  -llamadas y mensajes, pendientes, planes del día (incluso para después del trabajo)- . Si esta en tus manos no debes dejar que nada te interrumpa mientras trabajas. Si es posible apaga tu celular.

-Domina tu tecnología.

Ya sabes que clase, función o variable vas a crear. Es pan comido, así que empiezas a teclear pero repentinamente te equivocas. Dudas. No sabes que ha pasado, por lo que bajas la vista  al teclado. Corriges tu error a un precio altísimo. Tu foco de concentración ha cambiado a una tarea trivial y ahora ni siquiera recuerdas cual es el siguiente paso.

Esto sucede cada vez que te detienes a pensar, peor aun a investigar-copiar y pegar código ajeno, yo se que no lo haces- como implementar tal o cual función de tu IDE, librería, teclado, etc. Terrible.

Estas son las tecnologías que todo programador usa y que no se puede permitir ignorar si quiere mantenerse concentrado:

Tecleado a ciegas y navegación con teclas

IDE o procesador de textos

Técnicas de programación  e implementacion en el paradigma usado.

Ya sea orientada a objetos, estructurada, funcional, patrones de diseño, expresiones regulares.

Sintaxis del lenguaje utilizado y herramientas que proporciona, si es posible su funcionamiento interno.

Controla el entorno.

No siempre es posible evitar las interrupciones externas. No falta el compañero conversador, anuncios por altavoz, incomodidad causada por la postura,ruido,  etc. Sin embargo hay algunas cosas que se pueden hacer para disminuir las interrupciones:

En algunas empresas los empleados desarrollan formas de comunicación visuales que le dicen a los demás si es un buen momento para hablar- pañuelos de cierto color, objetos sobre el escritorio, lo que se te ocurra-, pero para que funcione es importante que todos estén de acuerdo y respeten las señales.

Si en tu oficina o cubículo no existen barreras físicas contra el ruido puedes usar auriculares para bloquearlo- piénsalo bien antes de escuchar música, existe cierta evidencia que sugiere que la música desvía la atención de ciertas regiones del cerebro relacionadas a la creatividad que se usan durante lo programación, disminuyendo la productividad de los programadores.

La incomodidad y dolores causados por una mala postura también son un problema de salud. Si la empresa para la que trabajas no se preocupa por estos asuntos- por ninguno de los mencionados, realmente- es hora de que comiences a pensar seriamente en cambiar de trabajo. Sacrificarte ahora no solo afecta tu salud sino que a largo plazo también te costara tu productividad.

Inspiración.

Hasta donde yo se no hay mucho que se pueda hacer de manera consciente para mantener la inspiración a tope. Lo único que puedo decir es: encuentra aquello que te gusta y quédate ahí.

Código mantenible.

Sobre código limpio (legible, bien documentado, orientado a objetos, patrones de diseño, etc.) se ha escrito mucho, y no esta demás decirlo:

El código que escribas sera visto, reutilizado, probado y modificada por muchas personas a lo largo de su ciclo de vida. Tu decides si su productividad termina contigo o le das la oportunidad de evolucionar en manos de otros.

Los fundamentos en los que se basa el código limpio se pueden resumir en tres principios fundamentales : Organización, orden y lógica

Aquí algunas entradas que profundizan en el tema del código mantenible

Código limpio 1: Nombres

Código limpio 2: Funciones

 

Advertisements
Como ser un programador productivo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s