Como en casi todas las profesiones creativas, la programación también adolece de esa situación de bloqueo mental del profesional que es visto por los demas como sintomas de pasividad, de pereza e incluso de desinterés.
Los programadores, como creativos que somos, estamos en constante conexión con nuestros quehaceres diarios, no podemos desconectar del trabajo como lo hacen otras personas y mantenemos un nivel de actividad mental muy por encima de la media de otras personas que pueden incluso ostentar cargos de mayor responsabilidad.
Debido a esa actividad mental muchas veces caemos en estados de inactividad productiva y nos pegamos grandes periodos de tiempos sin programar nada (en mi caso pueden ser hasta semanas). Personalmente he analizado las causas por las que me vienen los bloqueos mentales (a fin de buscarles remedio) y me he encotrado con las siguientes:
a./ Relacionadas con el proyecto:
- El trabajo que estoy realizando no me satisface. Funciona, sí, pero no me gusta como esta quedando.
- Problema difícil de resolver, cuelgues de la máquina y/o del sistema operativo, falta de documentación de APIS o de configuración de perifericos.
- He terminado toda las pantallas de captura de datos y los procedimientos lógicos y sólo me queda hacer listados.
- Proyecto terminado a falta de hacer el manual y/o la ayuda.
- Presión por parte de los clientes/jefes.
b./ Relacionadas con el entorno:
- Continuas paradas que me cortan la concentración mientras estoy programando para hacer otras tareas que me pidan, atender el teléfono, el MSN, etc.
- Distracciones varias (esto viene de la decision de trabajar en casa) por parte de mi mujer o mis hijos.
- Miedo a que una vez alcanzada la concentración necesaria me corten de golpe.
- Lugar de trabajo ruidoso, desordenado y/o sucio.
Existen estudios que demuestran que un programador tarda una media de 15 minutos en concentrarse y empezar a trabajar, una vez concentrado puede permanecer en ese estado durante horas (algunos piensan que somos autistas) y en caso de corte brusco de esa concentración, el retomar el hilo de lo que se estaba haciendo puede llevarnos entre 30 y 90 minutos. (poner referencia al documento cuando encuentre la url).
Pero además de esa concentración que necesitamos a la hora de programar, nuestro cerebro esta constantemente (e incoscientemente) repasando el programa en cuestión, por lo que en cualquier momento puede sobrevenir un bloqueo o un momento de total abstracción dejando a las personas que nos rodean que no son programadores en la impresión de que somos de otro planeta.
Uno de los motivos por los que se producen más bloqueos es por una constante perdida de concentración, así, por ejemplo, un programador que además hace tareas de informático en determinada empresa puede terminar padeciendo bloqueos al estar constantemente atendiendo llamadas telefónicas.
Si ya de por sí, sufir bloqueos es un problema, la cosa se pone peor cuando los jefes (y/o clientes, que para el caso es lo mismo) piensan que eres un vago redomado que no quiere hacer el encargo, lo que todavía fastidia más por que no hay forma de hacer comprender a alguien que no es programador lo que te está pasando.
Es una reflexión que también me he hecho algunas veces. Estudiando el tema, he visto que el tema se trata en psicología con la denominación de "procratinación", o el síndrome de dejar el trabajo para mañana.
Existen varios tipos de procratinación, y hay trabajos muy interesantes sobre el tema. Hay un libro en español publicado con el título de "Procrastinación", pero no he sido capaz de localizarlo en librerías.
El principal problema que veo es que no siempre lo más urgente tiene porqué ser lo más importante. El miedo a que una tarea importante quede interrumpida por culpa de llamadas de teléfono, reuniones, mensajes, etc, provoca que retrasemos el inicio de la tarea indefinidamente, quedándose ésta sin hacer.
Existen técnicas para superar esta "maldición". Una de las más recomendadas es empezar ya con la tarea, sin pensar más, ni hacer más planificaciones. A veces el bloqueo surge por pensar demasiado lo que se va ha hacer. Una vez iniciada la tarea parece que el bloqueo va desapareciendo a medida que le vamos dedicando pequeños tiempos durante el día.
Comentado por Chema Cortés a Lunes, 19 de Septiembre de 2005Suelo leer tu blog por medio de planeta codigo. Leyendo este articulo me surgio una pregunta. No te afecta tambien la gente con la que trabajas. No se personalmente a mi me pasa lo que tu dices y a veces en mi caso se convierten en meses. Me ocurrio hace tiempo que por la falta de documentacion de un API que estaba usando pues realmente no pude terminar un proyecto (todavia soy estudiante) y eso me llevo a un estado de desmotivacion total, al punto que me plantee seriamente seguir estudiando informatica. En realidad no se dio ese caso pero bueno sigo con ese miedo a lo que anteriormente me ocurrio.
Comentado por Angel Villalain a Lunes, 19 de Septiembre de 2005Usualmente me pasan esos bloqueos. Sobre todo si los proyectos en los cuales trabajo tienen que hacerse para ayer. Esto me quita la posibilidad de investigar y perfeccionar la herramienta, por lo que termino haciendo siempre lo mismo, el monótono A/B/M...
Con respecto a lo que comenta Chema de la planificación del proyecto, es cierto, me ha pasado.
Y me pasa muchas veces cuando tengo que agregarle una funcionalidad a una herramienta, no así cuando la tengo que iniciar. Es mejor realizar el cambio de una sin pensarlo tanto...
Saludos!
Interesante post, y con gran verdad en él realmente.
Comentado por Blax a Martes, 20 de Septiembre de 2005