← Volver

Cómo ser un desarrollador eficiente

La eficiencia al programar depende también de saber proteger la atención. Ideas prácticas para reducir interrupciones, concentrarse mejor y producir software de más calidad.

Coaching

Al igual que cualquier otra actividad, programar «bien» no es solo cuestión de conocimientos técnicos, sino de saber trabajar correctamente, en un entorno en el que padecemos cada vez más una epidemia de dispositivos y aplicaciones que compiten por nuestra atención las veinticuatro horas del día. A menos que lo evites, terminan consumiendo gran parte de tu tiempo de forma improductiva y, lo peor, impidiéndote concentrarte en una tarea durante más de unos pocos minutos.

Estamos ante una enfermedad del siglo XXI: la incapacidad cada vez mayor de mantener la atención y la concentración.

Hace unas semanas leí este artículo, que recomiendo: “Focus and Deep Work — Your Secret Weapons to Becoming a 10X Developer”. Habla sobre técnicas para programar no solo mejor, sino también más rápido. A partir de ese artículo voy a hacer mis propias reflexiones, porque lo que sí puedo confirmar rotundamente es que los equipos y proyectos que mejor funcionan no son los que trabajan más horas, sino los que trabajan mejor.

Hecho n.º 1: cualquier tarea de naturaleza creativa necesita una capacidad de concentración elevada.

Y ya sabemos que programar bien es más que un arte.

Hace un tiempo leí el libro de Cal Newport Deep Work: Rules for Focused Success in a Distracted World (está en inglés, pero hay un resumen en castellano). En él se afirma que la atención va a ser un recurso cada vez más escaso, de modo que los mejores profesionales —y los más demandados— serán quienes gestionen mejor su atención y su capacidad de concentración.

No puedo estar más de acuerdo. Si echo la vista atrás y veo cómo se trabajaba hace quince años o al inicio de mi carrera profesional, encuentro muchas diferencias. No hace tanto, las posibilidades de distracción e interrupción eran mucho menores; éramos, digamos, personas menos dispersas. Para aprovechar los ratos muertos en el metro o el autobús teníamos un periódico, un libro o un reproductor de MP3. Ahora llevamos un smartphone que nos da todo eso y mucho más en el mismo dispositivo, incluida una infinidad de opciones, distracciones, interrupciones y formas de perder el tiempo.

Hecho n.º 2: prueba a poner el móvil en modo avión durante una hora y a programar sin conexión a Internet, con tan solo el IDE abierto. ¿Te sientes nervioso o como si te faltara algo? Mala señal.

Vivimos estresados innecesariamente por interrupciones que casi nunca nos aportan algo, confundiendo el ocio con saber trabajar bien. Es cierto que podemos controlar las interrupciones hasta cierto punto, pero, para ser realista, pocas personas lo hacen. Esa notificación de tus colegas o de tu pareja, esa noticia de última hora o el último mensaje de un primo tuyo en Facebook te saca por un instante de la tarea aburrida que estás haciendo. Parece que así el día se pasa mucho más ameno, pero no te das cuenta de que apenas has podido concentrarte en nada. Por tanto, algo que podías haber terminado en una hora te lleva varias, con un efecto acumulativo desastroso a lo largo del mes.

Hecho n.º 3: pagas un precio muy alto por esa dispersión continua, aunque no sea evidente.

Como desarrolladores de software, este efecto es devastador, puesto que debemos tomar decisiones de diseño continuamente (microdiseños), estar atentos a cualquier posibilidad de refactorización, etc. Además, nuestro trabajo es en gran medida acumulativo: construimos software sobre lo que hicimos ayer, anteayer, etc.

Hecho n.º 4: escribirás mejor software cuanto más seas capaz de permanecer concentrado. No hay más.

Hay quien puede permanecer una hora en esa inmersión mental como mucho; otros, dos o tres. Perder la concentración nos cuesta una media de veinte minutos para volver al mismo estado en que estábamos antes. Si sabemos que solo podemos hacer un buen trabajo —y en menos tiempo— estando concentrados, entonces esto es una necesidad ineludible.

Hay muchas razones que nos impiden trabajar concentrados (a lo mejor te suenan):

  • Interrupciones telefónicas.
  • Un compañero de al lado muy pesado.
  • Avisos continuos de notificaciones en el móvil o en la barra de tareas del sistema operativo.
  • Reuniones improvisadas.
  • Mantener el cliente de correo abierto continuamente y estar pendiente de los nuevos mensajes en la bandeja de entrada.
  • Tener en la cabeza ese ronroneo continuo de algo incómodo que tienes que hacer durante el día…

Puede que el entorno tampoco ayude:

  • Trabajas en una oficina con ruido constante y muchas distracciones visuales.
  • Tu lugar de trabajo es hostil y, por alguna razón, no te encuentras cómodo en él.
  • Tienes el escritorio hecho unos zorros, sin darte cuenta de que ese desorden también afecta a tu concentración.

Pero ¿cómo trabajar centrado en una tarea durante un tiempo razonable para terminarla bien y en poco tiempo?

Aquí van algunos consejos que aplico desde hace mucho tiempo:

  • Suelo tener identificadas cada día las tareas que debo realizar. Parece una trivialidad, pero saber qué diez asuntos tienes que atender en las próximas horas te produce la sensación de trabajar en un entorno más controlado y tranquilo, lo que favorece la concentración.
  • Te quitas de encima primero las tareas que menos te gustan. Nada peor que trabajar sabiendo que aún te queda pendiente esa llamada incómoda o ese informe aburridísimo que tienes que terminar.
  • Si tienes la opción del teletrabajo, encuentra un lugar cómodo y que te inspire, donde sepas que no te van a interrumpir.
  • Cierra cualquier cosa que pueda molestarte mientras realizas la tarea: el gestor de correo, las notificaciones, el móvil (ponlo en silencio), etc.
  • Si es necesario, indica con alguna señal a tus compañeros que durante la próxima hora necesitas que no te interrumpan.
  • «Autosecuéstrate»: indica a tus responsables o compañeros que hoy, de diez a dos, quieres desaparecer del mundo para concentrarte al máximo en algunas tareas difíciles y exigentes. Funciona de maravilla, aunque parezca de excéntricos.
  • Evita responder llamadas durante el periodo en que estás inmerso en la tarea.
  • Reduce al máximo la necesidad de trabajar colgado del teléfono continuamente. Si acostumbras a que te llamen para todo, serán los demás quienes gestionen tu tiempo, no tú, cuando en realidad hay muy pocas ocasiones en las que algo sea verdaderamente urgente. Por extraño que parezca, también se puede enseñar a los clientes a contactarte eficientemente por correo electrónico.
  • Si tu jefe no es receptivo al respecto, cómprale un ejemplar de Deep Work o explícale que lo que quieres es ser más productivo y aumentar la calidad de lo que haces.
  • Implanta la técnica Pomodoro para realizar tus tareas.
  • Deja las tareas de diseño y desarrollo de código nuevo para las mañanas, y por la tarde haz pruebas, documentación, mejoras, etc. Después de dormir, el cerebro tiene más energía para las tareas creativas; aunque, para esto, lo mejor es que te conozcas y sepas cuándo funcionas mejor según el tipo de trabajo.
  • Dedica unos minutos al final de la tarde para repasar mentalmente, aunque sea por encima, lo que tienes que hacer al día siguiente. Mágicamente, al día siguiente tendrás que dedicar mucho menos esfuerzo a organizar la jornada.
  • Huye como de la peste de los vampiros del tiempo.
  • Anota tu productividad en forma de tareas realizadas. Verás cómo, haciendo pequeños cambios como los descritos anteriormente, obtienes mejores resultados.

Y si quieres ser todavía más friki, dedica unos minutos al día a meditar de vez en cuando…