El Flujo como potenciador de la productividad

Hace no mucho publiqué un post en el que te expliqué mi experiencia en Software Craftsmanship Barcelona 2016. Allí, entre otras cosas, di una charla sobre un concepto llamado Flujo y sobre cómo puede ayudarnos a mejorar nuestra productividad y a disfrutar de nuestro trabajo.

Si te perdiste la charla no te preocupes, porque en este post te haré un resumen bastante exhaustivo de sus contenidos.

Qué es el Flujo

El Flujo es un concepto que fue acuñado por Mihaly Csikszentmihalyi en su libro Flow: The Psychology of Optimal Experience, y así es como lo define:

A feeling of great absorption, engagement, fulfillment, and skill —and during which temporal concerns (time, food, ego-self, etc.) are typically ignored.

Esta definición tal vez te lleve a pensar que el Flujo es algo más extraño de lo que realmente es, cuando en realidad es simplemente un estado mental que todos hemos experimentado repetidas veces a lo largo de nuestra vida. Por ejemplo:

  • Cuando trabajas toda la noche en un proyecto personal escribiendo código porque estás disfrutando como un niño y no puedes parar.
  • Cuando lees un libro durante horas y no puedes dejar de leer.
  • Cuando estás jugando a fútbol, tenis, baloncesto… o cualquier otro deporte.

Afortunadamente, podemos experimentar Flujo en actividades que van más allá de nuestros ratos de ocio, lo que significa que podemos alcanzarlo a diario, en nuestro trabajo.

Por qué deberíamos intentar alcanzar el Flujo en el trabajo

¿Tiene sentido intentar alcanzar el Flujo en nuestro trabajo? Mi respuesta es un rotundo sí, y te doy tres razones para intentarlo:

  • Productividad: mientras estamos en Flujo nuestra productividad aumenta considerablemente. Somos capaces de sacar más trabajo en menos tiempo.
  • Satisfacción: como consecuencia de lo anterior, el Flujo, per se, produce una sensación satisfactoria.
  • Crecimiento: si queremos alcanzar el Flujo de manera consistente, estamos obligados a mejorar nuestras habilidades todo el tiempo.

La justificación detrás de estos tres argumentos la verás a continuación, cuando hablemos tanto de las características como de los requisitos necesarios para experimentar el Flujo.

Características del flujo

El Flujo se caracteriza por lo siguiente:

  • Olvidar los problemas cotidianos: mientras estás en Flujo te olvidas de todos los problemas cotidianos: familia, dinero, salud… Todas esas preocupaciones desaparecen.
  • Sensación de control: mientras nos encontramos en este estado mental sentimos que somos capaces de acometer cualquier problema que se nos presente. Esto se debe a que nunca nos quedamos atascados con nada, ya que avanzamos de manera constante simplemente haciendo uso de nuestras habilidades.
  • Olvidar lo que pasa en tu interior: mientras estás en Flujo no sientes hambre ni cansancio, ni nada que te pueda distraer o incomodar.
  • Perder la sensación del tiempo: de todas las características del Flujo, ésta es posiblemente la más fácil de identificar. Cuando te das cuenta, han pasado horas y te sientes como si hubieran sido minutos.

Requisitos del Flujo

Llegados a este punto, la pregunta del millón de euros es: ¿cómo llego ahí? ¿Cómo puedo alcanzar el Flujo en mi lugar de trabajo?

A continuación pasaré a explicar los cuatro requisitos que debemos satisfacer para alcanzar este estado mental. Cabe destacar que explicaré cómo alcanzarlos desde la perspectiva de un desarrollador de software, y algunas de las acciones concretas que explicaré son 100% técnicas. No obstante, gran parte de estas acciones, así como toda la teoría detrás, son aplicables a cualquier tipo de trabajo.

Concentración

El primer requisito es estar plenamente concentrados en la tarea que estamos realizando. Esto significa que tenemos que hacer lo que podamos para combatir las distracciones.

Hay dos tipos de distracciones: externas e internas.

Distracciones externas

Las distracciones externas son las más fáciles de combatir:

  • Apaga tu teléfono o ponlo en modo avión.
  • Cierra los servicios de mensajería (correo electrónico, chats…).
  • Ponte auriculares.
  • Si lo necesitas puedes usar Leechblock o StayFocusd, que son extensiones del navegador que bloquean los sitios web que le especifiques. Muy útil cuando pasas demasiado tiempo en Facebook, por ejemplo.

También puedes usar la técnica Pomodoro. Esta técnica ofrece ciertos beneficios que aumentan especialmente las posibilidades de llegar al Flujo:

  • La propia naturaleza de la técnica te motiva a estar concentrado mientras estás en mitad de un Pomodoro. Además, puedes ponerte de acuerdo con tus compañeros de trabajo para no ser molestado mientras estás en mitad de un Pomodoro.
  • Puedes definir objetivos concretos a ser cumplidos para cada Pomodoro, y como veremos más adelante la definición de objetivos es esencial para llegar al Flujo.

Distracciones internas

Las distracciones internas son más complejas de combatir. Distinguimos tres tipos:

  • Distracciones físicas: sensaciones como hambre, sed o la necesidad de ir al baño. Afortunadamente, es fácil librarse de estas distracciones.
  • Distracciones mentales: nuestra mente está constantemente en marcha, pensando no sólo en temas relacionados con el trabajo, sino también en temas personales: la visita al médico que tengo programada para mañana, la avería del coche que tengo que reparar, las facturas… Todas estas preocupaciones nos impiden concentrarnos.
  • Distracciones emocionales: éstas son quizá las más difíciles de combatir. Todos nos hemos visto alguna vez en situaciones en las que estábamos tan tristes, cabreados o frustrados que no queríamos ni levantarnos de la cama, y menos aún trabajar.

Con respecto a las distracciones mentales y emocionales no me atrevo a presentar ninguna solución como infalible para todo el mundo, ya que dudo mucho que existan. No obstante, te puedo decir un pequeño truco que a mí me funciona: escribir.

  • Cuando escribes todo lo que se te pasa por la cabeza, limpias tu mente. Ya no tienes que preocuparte por tener que recordar nada, puesto que lo has dejado por escrito.
  • Si te das un paseo por Google encontrarás numerosos artículos que hablan de los beneficios que tiene escribir con frecuencia para nuestra salud. Es más, estos beneficios son incluso mayores si escribes a mano, como se explica en este artículo y en este otro.

Objetivo claro y una clara percepción del progreso realizado

El segundo requisito para alcanzar el Flujo es tener muy claro cuál es el objetivo que se quiere alcanzar y lo cerca o lejos que estás de llegar ahí. Si lo piensas, tiene sentido: ¿cómo te sentirías si trabajaras en un proyecto del que no sabes cuándo acabará? Probablemente muy frustrado.

Este requisito se aplica a dos niveles.

  • Por un lado, tienes que tener claro cuál es el objetivo que deseas cumplir durante las próximas horas o el próximo día de trabajo. Para ello, lo más fácil es preparar una lista de tareas. Eso te dará los objetivos a cumplir y te permitirá saber lo cerca que estás de cumplirlos todos.
  • Por otro lado, como mencionamos antes, necesitas trabajar en un proyecto con un objetivo claro y una dirección bien definida. Pero además, también necesitas poder identificarte con el objetivo del proyecto. En ese sentido, para mí sería fácil alcanzar el Flujo trabajando en una web de una escuela de música, pero sería imposible si trabajara en una web de una compañía de armas.

Feedback inmediato

El tercer requisito para alcanzar el Flujo es conocer en todo momento el resultado de tus acciones. Cada vez que hagas algo tienes que obtener información inmediatamente para saber si has hecho bien o mal, y también si estás más cerca o no de cumplir tus objetivos.

Tiene sentido. Al fin y al cabo, ¿cómo te sientes cuando haces un cambio en tu código y tienes que esperar un minuto para ver si ha funcionado o no? Trabajar en esas condiciones es verdaderamente frustrante.

En el mundillo de la programación, esto se traduce en que tu entorno de trabajo debería informarte al instante de las consecuencias de los cambios que haces en tu código. La mejor manera de conseguir esto es configurando tu entorno para que tus tests unitarios se ejecuten automáticamente cada vez que haces algún cambio.

Esto tiene dos ventajas. Por un lado te acerca más al Flujo, ya que te mantendrás motivado gracias a la información que te llegará rápida y constantemente. Por otro lado, será más difícil que introduzcas bugs en el código y que sólo te percates de ellos horas después de haberlos introducido. Cada vez que rompas un test lo verás enseguida, y podrás corregir el error.

Hay varias formas de conseguir esto, y la que yo te propongo es Watchr.

Qué es Watchr y cómo funciona

Watchr es una librería escrita en Ruby que te permite vigilar los cambios realizados a una serie de ficheros, y ejecutar un script cuando esos cambios se produzcan. Por tanto, podemos configurar Watchr para que ejecute nuestros tests unitarios cada vez que cambiemos nuestro código.

Watchr funciona con un simple script en Ruby. Veamos un ejemplo:

https://gist.github.com/joelrguezaleman/4619b762d3f459f5cbb41894395e0005

En este caso estamos vigilando los cambios realizados al fichero Calculator.php, que contiene una clase que implementa operaciones aritméticas. Aquí vigilamos un único fichero, pero podríamos usar una expresión regular para controlar los cambios de todos los ficheros PHP, por ejemplo.

Cuando los ficheros especificados en el método watch cambian, se ejecuta lo que está dentro de este método. En este caso, simplemente ejecutamos los tests unitarios de la clase Calculator.

Como ves, al final estamos implementando un script en Ruby, de modo que puede ser todo lo complejo y sofisticado que queramos. Además, es independiente del lenguaje de programación o del framework con el que estemos trabajando, así que no hay razón alguna para limitarnos a usarlo en proyectos Ruby.

Una vez implementado el script, ya sólo tenemos que invocarlo:

https://gist.github.com/joelrguezaleman/7599e95f99ac200d5ff8302a3fd80915

Y listo. Ya sólo tienes que dejar la terminal abierta, continuar trabajando y ver cómo los cambios que haces afectan o no a tus tests unitarios.

Equilibrio entre nuestras habilidades y la dificultad del desafío

El cuarto y último requisito para alcanzar el Flujo es que exista un equilibrio entre nuestras habilidades y la dificultad del desafío que quieres acometer.

¿Qué pasa cuando trabajas en una tarea que es demasiado fácil para ti? Probablemente te aburras y pierdas el interés. ¿Y si la tarea es demasiado difícil? Pues sencillamente no podrás hacerla y te sentirás frustrado. Sin embargo, si la tarea es apropiada para tus habilidades, te parecerá un reto interesante y te verás más motivado para cumplirla.

He aquí la razón por la cual el Flujo te obliga a crecer como profesional. Si no mejoras tus habilidades constantemente, llegarás a un punto en el que todo lo que hagas te parecerá demasiado fácil, y en esas condiciones no podrás alcanzar este estado mental.

Por tanto, para satisfacer el cuarto requisito necesitas trabajar en tareas que se ajusten a tus habilidades. Claro, esto no siempre es posible, ya que si trabajas en una empresa no siempre puedes trabajar en tareas que sean apropiadas para ti. No obstante, siempre puedes intentar hablar con tus compañeros o con tu jefe para que el reparto de trabajo sea lo más justo posible para todos.

¿Y quién sabe? Si llegas a un punto en el que todo lo que haces te parece sencillo y aburrido, tal vez sea el momento de cambiar de trabajo.

Conclusión

Pues eso es todo. Espero que esta serie de consejos te sirva para incrementar tu productividad y tu felicidad en tu trabajo. Me ha quedado un post bastante largo, así que si has llegado hasta aquí te doy las gracias :)

A modo de resumen, te dejo por aquí una lista de requisitos a cumplir para que tu entorno de trabajo te lo ponga fácil para alcanzar el Flujo:

  • Auriculares que te aíslen del ruido exterior.
  • Dos pantallas: una con la terminal (y Watchr ejecutándose) y otra con el código.
  • Sistemas de mensajería cerrados: mails, chats…
  • Teléfono apagado o en modo avión.
  • Un cronómetro para aplicar la técnica Pomodoro.
  • Una lista de tareas.
  • Una libreta y un bolígrafo a mano, para escribir todo lo que se te pase por la cabeza y que te distraiga.

About Joel Rodríguez

Desarrollador. Aficionado a la lectura, la música y las series. Bloguero en www.joelrodriguezaleman.com

Visit My Website

Something to say?