La programación es un trabajo esencialmente intelectual, por lo que los programadores son un tipo más de los llamados trabajadores del conocimiento. Como tales se ven afectados por los problemas cotidianos de éstos: dependen de su experiencia, talento, inspiración, motivación y atención más que de su preparación o herramientas. La productividad de un trabajador del conocimiento no es igual a la de un trabajador tradicional, y se ve afectada por multitud de factores que son muchas veces obviados o descuidados. El problema principal es que ni los programadores ni los responsables son conscientes de estos factores negativos, y aunque sean conscientes no está claro como solventarlos, nadie nos ha enseñado.

Nuestra mente es como una CPU. A la hora de trabajar con la mente, solo somos capaces de procesar con atención una cosa a la vez. Ciertas acciones como conducir o escuchar música las tenemos tan interiorizadas que podemos hacerlas mientras realizamos otra cosa, pero solo una de ellas puede ocupar nuestra atención en un instante de tiempo. Nuestra memoria a corto plazo es como la RAM, es decir, volátil y limitadísima. Sin embargo la utilizamos para casi todo. Es por esto que conviene que un programador evite la multitarea y mantenga su mente enfocada al problema a solucionar. Otra clave fundamental es no utilizar esa memoria a corto plazo para gestionar sus asuntos o proyectos pendientes, ya que necesitamos todos los recursos disponibles para el exigente trabajo de la programación. Las listas de tareas son inútiles en la cabeza de un trabajador intelectual.

Algo que sí necesita un programador para hacer su trabajo es concentración y enfoque, estar en su zona de máxima eficiencia. Para llegar a ese pico productivo, necesita aislarse del mundo de las distracciones. En oficinas diáfanas, con colaboradores que preguntan constantemente, innumerables notificadores en múltiples dispositivos, reuniones improvisadas y ruido ambiental, el trabajo de concentración se convierte en la excepción.

Es preciso que al menos el programador se conozca a sí mismo y conozca algunas técnicas de productividad para poder sobrevivir en un entorno así. Conocer cuáles son sus principales interruptores para hacerles frente, conocer cuáles son sus horas más productivas del día y aprovecharlas para aquellas tareas clave, establecer un código de buena conducta productiva con su equipo, saber utilizar la tecnología en su favor y no para auto-sabotearse.

Los principios y técnicas de productividad personal son al trabajador del conocimiento lo que los principios SOLID son a la programación. Si no los conoces o no los aplicas la calidad y el desempeño de tu trabajo será en el mejor de los casos mediocre. Una vez que los conoces y los has puesto en práctica, no te planteas dejar de utilizarlos.