elprogramadormediocre/chapter07.md
2022-09-06 12:13:45 +02:00

166 lines
46 KiB
Markdown

# La lucha interna
## Las emociones de la programación
Existe el estereotipo del programador sentado sin emociones frente a su equipo. El programador estereotipo se sienta, introduce líneas de código de manera silenciosa como si las transcribiera desde su memoria. Si eres programador o has tenido contacto con programadores entonces deberías saber que el estereotipo debería ser el de un compositor frustrado. Por supuesto, nos sentamos delante de nuestros ordenadores en largos periodos en silencio y concentrados, pero estamos muy lejos de no tener emociones. Disfrutamos de las glorias de un código que funciona a la perfección la primera vez. Fruncimos el ceño cuando el código funciona mal. Pasamos de alegrarnos por la victoria a maldecir y amenazar a la máquina con los puños apretados. Apretamos nuestros dientes cuando los errores del código asoman. Pasamos de una emoción a otra: exuberancia, alegría, miedo, furia, resentimiento, tristeza, soledad, culpa o vergüenza.
No es extraño que al final del día estemos exhaustos.
Programar es un proceso agotador. No solo necesitamos mantener un modelo mental del software en el que estamos trabajando, también tenemos que mantener un modelo mental de cómo se debería comportar el software. Creamos una historia de cómo funcionará este software y componemos una imagen mental de cómo nos sentiremos cuando todo funcione como hemos lo hemos imaginado. Creamos un vínculo emocional con el software. Nuestro estado emocional puede reflejar lo que sentimos cuando estamos creando: excitados, aburridos o estancados. Mantener una actitud positiva respecto al software que no está a la altura de nuestras expectativas es agotador. Esto combinado con nuestras propias inseguridades, miedos y dudas nos da indicios cuando vemos que los programadores tienden a agotarse: es una combinación de estrés y nuestra reacción emocional a ese estrés.
## Escapes emocionales
Hay muchos factores que pueden causarnos altibajos emocionales mientras estamos programando. Estos son algunos que he anotado, tanto en mi propio proceso de programación como hablando con otras personas sobre su programación.
### Propósito y utilidad
Si vemos con claridad dónde y cómo se convertirá en útil este código, podemos tener un sentimiento motivación y propósito. ¡Estamos trabajando en algo que beneficiará a personas! Sabemos que las personas dependen de nosotros, así que hacemos todo lo que este en nuestra mano para hacer que el código funcione sin importar las trampas que nos esperen. Aprovechamos los picos emocionales de autoestima y determinación para ayudarnos a llegar a la culminación.
Lo opuesto también es cierto, por supuesto si no vemos el propósito entonces nuestro trabajo parecerá sin sentido y en vano. Nos esforzaremos para cumplir los plazos y sentiremos una sensación de vacío en nuestros objetivos. A veces se trata de un proyecto que no está alineado con nuestros propios propósitos y metas. Puede tratarse de un proyecto mal gestionado en el que estamos forzados a trabajar debido a presiones externas. Podríamos vernos obligados a cumplir plazos arbitrarios que nunca acordamos cumplir. Podemos sentirnos frustrados si no entendemos el fin último de cualquier proyecto en el que estemos trabajando.
### Compromiso frente a aburrimiento
Ya hemos experimentado diferentes capas de compromiso con nuestra programación. Esos son los proyectos en los que no sentimos que sean una tarea mientras estamos trabajando en ellos. Sentimos que estamos aprendiendo algo en cada paso del camino. El mundo exterior desaparece mientras estamos trabajando inmersos por completo en ese enfoque. Perdemos la noción del tiempo y nos sentimos tanto desorientados como renovados cuando el trabajo está completo.
Desafortunadamente lo más probable es que tengamos más experiencias con lo opuesto del compromiso: el aburrimiento. El código base no nos motiva en absoluto. El tema que estamos aprendiendo o en el que estamos trabajando es simplemente una repetición de algo que ya sabíamos. Es un suplicio comenzar. Todo lo que nos rodea en el mundo parece más interesante y el tiempo parece ir más despacio durante todo el proceso.
### Despierto frente a cansado
El sueño es un factor que influye mucho en cómo percibimos el mundo. Dormir lo suficiente nos permite sentirnos renovados, despiertos e inspirados. Necesitamos tener reservas de energía para enfrentarnos a cualquier reto que se nos presente. Cuando no tenemos una óptima calidad del sueño nos volvemos irritables y menos dispuestos a la participación. Conservamos nuestros recursos lo mejor que podemos para que no se gasten demasiado rápido. Buscamos estimulantes (café, distracciones y similares) para mantenernos ocupados a lo largo del día.
### Estado mental
Uso el término "estado mental" en un sentido amplio para cubrir cualquiera de nuestros sentimientos existentes y de bienestar mental actual. Estos puedes variar desde sentimientos temporales de infelicidad o melancolía a sentimientos complejos y serios como la depresión clínica o trastorno de estrés postraumático. Nuestras mentes son máquinas complejas que hacen lo que pueden para adaptarse a las diferentes situaciones y entornos que se les presentan. En ocasiones esta adaptación puede chocar con nuestros deseos de ser productivos y la lucha que se produce entre nuestro estado mental y nuestros deseos puede causar más desgaste emocional, incomodidad o desesperación.
Hay más motivos que pueden afectar a nuestras emociones pero estos son en los que me gustaría centrarme ya que cubren un amplio espectro de lo que acarrea dedicarnos a las tareas de aprendizaje y programación.
## Ser conscientes de nuestro estado emocional
Ser conscientes de nuestro estado emocional (lo que estamos sintiendo ahora mismo) nos da nuestra ubicación emocional actual. Podemos ubicarnos donde estamos y entender lo que nuestra mente nos está diciendo. El darnos unos instantes para sentir verdaderamente en qué estado emocional se encuentra nuestra mente nos ayudará a seguir adelante.
Ten en cuenta que no estamos tratando de cambiar nuestro estado emocional. No nos estamos intentando forzarnos a ser algo que no somos. Si realmente estamos insatisfechos sobre dónde estamos o lo que estamos haciendo, es más útil entender qué está causando esa infelicidad en vez de tratar de disimular y prevenir esas emociones. Observar nuestras emociones de manera clara nos permite reconocer qué las está causando. Estar presente con esas emociones nos permite entender mejor nuestro estado mental y de lo que somos capaces en el momento.
Puedes realizar esto dentro de un contexto de meditación de atención plena, pero incluso mientras estás sentado en tu escritorio y pensar "durante uno o dos minutos voy a estar sentado aquí y explorar mi estado emocional" debería ser suficiente. Ser conscientes de nuestras emociones, entender qué son y profundizar en ellas hasta encontrar qué las está causando puede ayudarnos a entender qué estamos sintiendo.
Quizás ya sabes qué está causando esas emociones y ese estado mental y tienes miedo de explorarlas. Algunas emociones pueden sobrepasarnos y hacernos sentir de formas que no queremos sentirnos. Esto es especialmente cierto con emociones relacionadas con la ansiedad y el trastorno de estrés post traumático. Realiza toda la exploración e introspección que seas capaz, y se amable contigo mismo. Recuerda, no estás tratando de cambiar las emociones, solo estás siendo consciente de ellas. Es posible que descubras que tu insistencia amable en estas emociones puedan llevarte a entenderlas mejor. Se tan osado como puedas con estas emociones y si empiezan a abrumarte, entonces retrocede y deja que desaparezcan los residuos de esas emociones antes de continuar.
## Nuestra historia
Cada uno de nosotros tenemos una historia que nos contamos a nosotros mismos. Estas historias conforman nuestra percepción del mundo. Nos contamos historias de cómo transcurrirá el día y cómo nos enfrentaremos a el. Creamos un mundo a través de nuestras historias en el que somos el protagonista central de la historia. Nos contamos historias como "el trabajo que voy a comenzar será increíble" o "voy a trabajar en este problema y cuando termine obtendré una solución genial". Eso ocurre si estamos siendo positivos con nosotros mismos. Cuando estamos siendo negativos, nuestras historias tratan sobre que no somos lo suficientemente buenos en lo que estamos haciendo y que seguramente fallarás en el intento. Estas historias crean una trama compleja de lucha, dolor y miseria donde todo lo malo del mundo es el resultado directo de nuestras acciones.
Nuestras emociones ayudan a informar el tipo de historia que contamos. Si nos sentimos muy bien, nos diremos a nosotros mismos que lo que está por venir también será genial. Si nos sentimos deprimidos y derrotados, nuestras historias reflejarán ese tono derrotado.
La verdad es que nuestra historia es simplemente eso: una historia. Nuestras historias no son una garantía de cómo va a transcurrir el día. Podemos contarnos una historia sobre que hoy será un día increíble y ver con horror que cada interacción hace que nuestro día sea de todo menos increíble. Por el contrario, nuestra historia podría ser que hoy será un día terrible y que no conseguiremos nada, pero en vez de eso experimentamos un día muy completo y productivo. La historia solo acentúa lo que estamos experimentando, pero no puede predecir lo que experimentaremos.
En vez de apegarnos a estas grandes historias podemos centrarnos más en las cosas que amamos del momento presente. En vez de una historia en la que vas a tener un día excepcional podrías centrarte en aspectos de tu proyecto que te atraigan y esperar en que puedas pronto trabajar en ellos. En vez de llenar tu día con historias de terror y fatalidad te puedes centrar en las pequeñas victorias que ocurren a lo largo del día. Incluso algo tan simple como "mi ordenador ha arrancado sin fallar" puede ser una victoria. Una de esas pequeñas victorias podría ser el establecer una intención en permanecer centrados y curiosos en los próximos 10 minutos (el contenedor de enfoque de los capítulos anteriores) y celebrarlos cuando logres esa intención. Puedes tener más pequeñas victorias si te mantienes trabajando con esa intencionalidad a lo largo del día. Nuestras pequeñas victorias no serán perfectas (quizás tu ordenador está hoy más terco), pero podemos usarlas para recalibrar nuestro día en los próximos 10 minutos y seguir usándolas para recalibrar durante todo el día como cada contenedor focalizado se convierte en otra pequeña victoria.
Darnos a nosotros mismos la capacidad de centrarnos más en el presente y los próximos pasos que estamos a punto de dar nos brinda una forma consciente de comprobarnos a nosotros mismos y nuestro progreso. Podemos centrarnos en los aspectos positivos de lo que estamos haciendo en vez de preocuparnos sobre cómo la realidad difiere de nuestras propias historias. Podemos corregir el rumbo a lo largo del día y mantener la tendencia hacia un día más positivo y productivo en vez de preocuparnos sobre lo distantes que nos encontramos de nuestro día ideal.
Esto requerirá práctica. Estamos acostumbrados a permitir que nuestras historias dirijan nuestro día, pero con el paso del tiempo seremos capaces de dividir nuestro días en partes más pequeñas donde podamos ser plenamente conscientes de las historias que nos contamos a nosotros mismos.
## Conciencia en acción
Vamos a suponer por un momento que es un día normal para nosotros. Hoy nos sentimos ansiosos. Hemos recibido un informe de un error que está relacionado con algo en lo que hemos estado trabajando. En informe de error indica que el código que enviamos al proyecto a principios de año no está funcionando y quizás nunca funcionó de la manera que pensamos que funcionaba. Mientras leemos el informe de error nuestros niveles de ansiedad se incrementan. Nuestro monólogo interior entra en acción y empezamos a decirnos a nosotros mismos que nunca hemos estado cerca de ser tan buenos como creíamos. No somos perfectos. Apestamos. No hemos dormido la suficiente la noche anterior así que nuestras emociones están a flor de piel. Nuestra mente se acelera y proyecta imágenes pasadas de otras veces donde también cometimos fallos. Mientras seguimos leyendo aflora nuestra sensación de temor. Nuestro monólogo interno se convierte en una charla frenética: "¿Qué van a pensar ahora de mí? ¿Qué piensan de mí ahora mismo? ¿perderé mi trabajo por esto?
Antes de que hayamos acabado de leer el informe de error ya hemos creado una historia. La historia comienza con nuestra propia ansiedad por lo que pasará a lo largo del día. Entonces ocurre lo peor: obtenemos algo que confirma nuestros miedos. La historias después nos presenta con un montaje de nuestros fallos pasados y a eso añade este último informe de error como punto culminante del montaje. Nuestra historia entonces aumenta la presión por el aumento de la importancia de este informe de error: no solo debemos solucionar lo que sea que esté roto, ahora tendremos que limpiar nuestra reputación y comenzar a buscar trabajo. A medida que la historia progresa en nuestras mentes nos preguntamos si volveremos a trabajar como programador de nuevo y sentimos cómo nuestra carrera profesional como programador está acabada.
La historia que hemos creado es una historia terrible, pero estoy seguro que te ves identificado en con los factores que genera. Es una historia que se basa en lo más profundo de nuestros propios sentimientos de insuficiencia e inseguridad. Está alimentado por el miedo: el miedo a arruinar tu reputación, miedo a que no confíen en ti y miedo al fracaso.
El miedo es una de las emociones más poderosas que tenemos, pero no es la única. Leer ese informe de error también puede hacer surgir otras emociones como el dolor (pensamos que el código era bueno y ahora ese sentimiento se ha esfumado). Incertidumbre (¿Cómo vamos a solucionar el problema?) y la ira (cómo hemos podido habernos engañado pesando que esto funcionaba?) También podemos tener otros sentimientos: tristeza, soledad y abandono. Nuestra autoestima podría verse afectada y podríamos sentirnos desconectados de aquellas personas para las que trabajamos y las personas con las que trabajamos.
Estar al tanto de estos sentimientos puede ayudarnos a analizar la historia que nos estamos contando y cómo no coincidía con la realidad. Estos sentimientos y la historia que nos contamos nos dan una retroalimentación de cómo percibimos el mundo y el mundo que estamos construyendo. Hacer una pausa por un momento para reconocer nuestros y entender de donde proceden nos da un entendimiento de lo que nuestras emociones están tratando de decirnos.
Ahora te puedes relajar. El informe de error de este libro no es real, pero tómate un momento para reconocer los sentimientos que sientes cuando lees la sencción anterior y nota dónde ha ido tu mente. Este es el tipo de conciencia que estamos buscando tener.
## Hallar nuestros sentimientos
Nuestros sentimientos se manifiestan en nuestros cuerpos de muchas maneras diferentes. El miedo puede sentirse como un nudo en el estómago o una tensión en nuestro pecho. La ira puede hacer que apretemos las mandíbulas o sentir nuestra cabeza más caliente de lo normal. La tristeza la podemos sentir como un peso sobre nuestros hombros o hacernos sentir cansados. Cuando notamos estos sentimientos podemos hacer una pausa por un momento y simplemente sentarnos con nuestros sentimientos mientras lo seguimos sintiendo.
Piensa en este ejercicio como si estuvieras escaneando tu cuerpo en busca de la fuente de los sentimientos que estás sintiendo. Fíjate hacia donde es atraída tu mente: opresión en el pecho, una opresión en tu estómago, las mandíbulas apretadas o cualquier otro sentimiento que estés sintiendo. Nota la sensación de ese sentimiento. Puedes ahondar más y tratar de encontrar la causa primigenia del sentimiento pero por ahora simplemente siente que existe. Siéntate por un momento y se más curioso sobre cómo se siente. Trata de notar otros atributos de ese sentimiento: color, textura, intensidad o cualquier otro atributo que estés experimentando. Deja que ese sentimiento exista, se amable con el. Permite que exista sin juzgarlo. Dale espacio. Sobre todo no trates de luchar contra el sentimiento o desees que termine, simplemente siéntelo. De manera eventual puede que el sentimiento vaya disminuyendo, pero por ahora solo ten conciencia de que tienes ese sentimiento y que vas a ser curioso sobre él.
Algunos sentimientos y emociones son más dolorosas o traumáticas que otras. Dales espacio y permítete tener curiosidad sobre ellas mientras puedas. Si notas que tu mente empieza a sentir pánico y otro sentimiento que te desborde debido a este sentimiento, entonces deberías dejar de notarlos antes de que te superen. Recuerda que esto son emociones y que esas emociones son parte de ti. Tanto tu como tus emociones trabajáis juntos para ayudarte. Ambos estáis en el mismo equipo.
Con este ejercicio no se trata de que te acoses o te castigues con tus propios sentimientos. Es el acto de notar que estos sentimientos te causan un dolor físico o emocional, es posible que necesites ayuda profesional o un grupo de apoyo para guiarte a entender estos sentimientos y descubrir de dónde vienen. La ayuda profesional o el grupo de apoyo pueden ayudarte a tener estos sentimientos sin que estos te sobrepasen. No debe provocarte vergüenza el buscar ayuda en otras personas para que te ayuden en tu viaje.
## Separación y selección emocional
Uno de nuestros comportamientos aprendidos respecto de nuestros sentimientos es tratar de huir de ellos o de reprimirlos. Hacemos todo lo posible para evitar sentimientos que nos provocan infelicidad o incomodidad. También tratamos de no exagerar nuestros sentimientos positivos para no mostrar demasiada exuberancia. Esto nos puede llevar a sentirnos confusos o en conflicto sobre qué estamos sintiendo y por qué nos sentimos de esa manera. Al sentarnos con nuestros sentimiento y emociones y entendiendo de dónde proceden podemos formarnos una idea clara de qué está pensando nuestra mente y la historia que nos estamos contando a nosotros mismos.
Piensa en esta práctica como una separación y clasificación emocional. Con suerte nunca has tenido que acudir a una sala de emergencias de un hospital, pero si lo has echo, verías a todo el personal médico que están entrenados en diagnosticar a quien acaba de entrar por la puerta y determinar la gravedad del problema. Cuando reconocemos y reflexionamos en nuestras emociones también estamos diagnosticando qué emociones estamos teniendo y la gravedad de esas emociones. Tomamos esos momentos cuando estamos experimentando las emociones para poder determinar qué emociones son y que las ha desencadenado. Mientras revisamos nuestras emociones somos cordiales con ellas y las reconocemos por lo que son. Un buen profesional médico no impone sus propios deseos al paciente, simplemente aceptan a los pacientes por lo que son, diagnostican lo que está experimentando el paciente y actúan en consecuencia. Cuando reconocemos nuestras emociones por lo que son y determinamos de dónde proceden, podemos comprender mejor a lo que nos estamos enfrentando.
Cuanto más hagamos esta práctica, mucho mejor seremos capaces de reconocer nuestras emociones y por qué las estamos teniendo. Seremos más capaces de notar qué estamos sintiendo y entender el motivo de estar sintiéndonos de esa manera. Cuando sentimos ansiedad podemos reconocer que podría ser causada por explorar un área de programación que no entendemos por completo. Podemos sentir esa ansiedad durante un instante (no trates de ahuyentarla) y en ese momento piensa sobre lo que estás trabajando y cómo poder explorar esas áreas que son nuevas. Podemos tomar una nota mental o escrita (mejor si es en un diario) así cuando completemos lo que estamos realizando, podremos revisar las áreas que nos están causando ansiedad.
Esta práctica puede convertir nuestras emociones en algo que nos dirija o guíe. Podemos utilizar nuestras emociones como herramientas para calibrar mejor nuestra historias internas. Podemos recomponer esas historias sobre cómo no nos merecemos que nos llamen programadores y en vez de eso darnos la intención de que pasaremos los próximos 10 minutos explorando este área de nuestro trabajo y encontrar dónde están las brechas. Podemos establecer una intención de ser curiosos sobre a dónde nos llevarán los próximos 10 minutos de exploración. Mientras continuamos explorando ese tema notaremos nuestras emociones y usaremos esas emociones para permitirnos conocer dónde necesitamos mejorar y adaptarnos. Esto nos permitirá cambiar nuestros planes cuando sea necesario y abordar aquellas áreas donde creamos que tenemos carencias o necesitan mejorar. Este ciclo continúa en cada contenedor que practiquemos, con nuestras emociones actuando como un barómetro de nuestro nivel de comodidad con el tema en cuestión y ayudándonos a esbozar una hoja de ruta sobre la mejor manera de proceder. Transformamos nuestra incomodidad y ansiedad de cosas que obstaculizan nuestro progreso a indicadores de dónde sentimos que tenemos que enfocar nuestra atención.
## Agotamiento
Una de las cosas que nuestra separación emocional puede ayudarnos a diagnosticar es el sentimiento de agotamiento. El agotamiento es un compendio de emociones unidas a una extenuación emocional y física. El agotamiento puede ser algo simple como estar cansado o tener exceso de trabajo, pero también puede ser un signo de algo más serio. Puede llevar a complicaciones físicas o mentales si no tenemos cuidado. Podemos trabajar con preocupantes niveles de extenuación y engañarnos a nosotros mismos creyendo que esto es parte del coste por ser un buen programador.
El agotamiento se manifiesta de diferentes maneras. Para algunas personas puede ser un sentimiento de pavor mientras trabaja en un proyecto. Se sienten como si no fueran efectivos al hacer cualquier cambio. Para otras personas el agotamiento puede ser un sentimiento de extenuación. Se sienten como si estuvieran en una rueda de hamster que no parará nunca. Incluso mucho peor, quieren que la rueda se hubiera parado hace ya mucho tiempo. El agotamiento también puede manifestarse en una sequía creativa, donde imaginar un futuro diferente es difícil y las cosas que una vez fueron inspiradoras o interesantes ya hace tiempo que no generan esa chispa.
El agotamiento es complicado de auto diagnosticar debido a que es un conjunto de emociones aparentemente no relacionadas entre sí. Nuestro sentimientos de aburrimiento, miedo y ansiedad pueden tener todos una causa raíz diferente, pero cuando combinamos estos sentimientos con un horario de trabajo implacable y la pérdida de control, amplificamos esos sentimientos. Si no los controlamos, nos pueden llevar a tratar de silenciar o dormir esos sentimientos. Nos encontraremos con que no queremos programar nunca más y nos enfadaremos con nosotros mismos por habernos metido en la programación. Podemos causarnos más sufrimiento no deseado simplemente "superándolo", lo que puede llevarnos a agravar y complicar aún más nuestro estado emocional.
Hay algunas cosas que podemos hacer para entender y ayudar a aliviar ese agotamiento:
* Darse cuenta de cuando estamos agotados, o apunto de estarlo. Reconocer que estamos a punto de sentirnos agotados es clave para no llegar a experimentar el agotamiento. Esto parece bastante simple, pero tendemos a ignorar los síntomas cuando nos estamos acercando al agotamiento. Si podemos reconocer que estamos a punto de agotarnos entonces podremos tomar medidas para evitarlo. Y si nos damos cuenta que ya estamos agotados, podemos tomar medidas para ser amables con nosotros mismos y ayudarnos a salir de este estado de agotamiento.
* Examinar nuestras emociones. Siéntate un momento y observa qué emociones se aparecen delante de ti. ¿Estás sintiendo estrés, miedo, ansiedad, nerviosismo o ira? Observa qué sentimientos emergen y reconoce esos sentimientos. Examina de dónde provienen esos sentimientos y qué podría estar provocando esas emociones.
* Volver a negociar nuestros compromisos. Muchas veces el agotamiento es el resultado de un compromiso excesivo, ya sea con nosotros mismos o con otras personas. Siempre tenemos muchas cosas que hacer y a pesar de nuestros mayores esfuerzos siempre adquirimos nuevas obligaciones. Quizás los planes que hicimos fueron muy agresivos o algo ha cambiado en el mundo que desbarató nuestros planes. Cualquiera que sean las razones, necesitamos volver a evaluar lo que se esperaba de nosotros y lo que somos capaces de hacer. Si vemos que hemos creado una situación intratable para nosotros mismos, necesitamos averiguar cómo eliminar parte de esas obligaciones o volver a negociarlas.
* Dar un descanso a nuestro ímpetu. A diferencia de nuestros homólogos mecánicos necesitamos tiempo de inactividad y descanso. No podemos trabajar ocho o más horas sin al menos algunos momentos donde no estemos trabajando. La programación requiere mucho ancho de banda mental y el esforzarnos hasta el agotamiento puede llevarnos a inestabilidad, estrés y agotamiento.
* Examinar si así es como realmente queremos vivir nuestras vidas. Necesitamos determinar si lo que estamos haciendo es realmente lo que queremos hacer. Si no somos felices con lo que estamos haciendo, entonces cada momento que continuemos haciéndolo puede agravar nuestros sentimientos de infelicidad. Si no sentimos más que terror por nuestra situación actual entonces quizás necesitamos volver a negociar nuestros compromisos. Eso puede ser algo simple como aceptar no aprender algo ahora mismo, o puede ser algo complejo como cambiar de trabajo o cambiar de carrera.
Al entender que estamos dirigiéndonos hacia el agotamiento (o que ya estamos en él) podemos tomar medidas para corregir el rumbo, para poder así realizar nuestra programación disfrutando y con alegría. A veces dar un paso atrás y volver a evaluar lo que estamos haciendo nos puede ayudar a no instalarnos en bucles constantes de frustración, ira y culpa. Cambiar nuestra historia para que se ajuste mejor a la realidad puede evitar que intentemos alcanzar un sueño imposible.
Antes mencioné la posibilidad de volver a negociar los compromisos. A menudo estamos involucrados en situaciones donde tenemos mucho más que hacer que lo que es físicamente posible, incluso bajo las circunstancias más óptimas. Esto puede ser causado en parte porque hemos dicho "sí" a demasiadas cosas, o porque estamos abrumados por compromisos laborales, como un importante proyecto de alta prioridad o varios proyectos más pequeños que necesitan atención urgente. La mejor manera de volver a negociar tu carga de trabajo es revisando esa carga de trabajo y anotar qué tareas son "urgentes" y qué tareas son "importantes". Las tareas "urgentes" son las que sientes que hay que realizarlas de manera inmediata. Puede que no sean tareas "importantes", pero tienen un sentido de urgencia. Las tareas "importantes" son las que de alguna forma te beneficiarán a ti o a otras personas. Estas tareas tienen un valor significativo cuando se finalizan, ya sea monetario o por lo que significa acabar dichas tareas. Toma una hoja de papel o abre un documento de texto y crea dos categorías: "urgente" e "importante". Haz una lista con las tareas que debes completar y clasifícalas bajo una de las dos categorías. A continuación marca la fecha de finalización (lo más aproximado que puedas) de cada una de estas tareas. Si tienes más de tres tareas urgentes o importantes y todas ellas finalizan en la misma semana es probable que tenga exceso de trabajo y necesitarás volver a negociar esos compromisos. Puede que te sientas capaz de hacer todas esas cosas pero si ya te sientes estresado, cansado y agotado, al tratar de cumplir esos plazos solo aumentarás esos sentimientos. Si es posible, trata de mover algunos de esos plazos para la próxima semana o comprueba si tus clientes creen que esas tareas son tan urgentes o importantes como tu creías que eran. Si realmente son urgentes o importantes, entonces trata de que tus superiores te ayuden con recursos o para ver si esas personas pueden intervenir para volver a negociar los plazos y las prioridades. Si estás atascado sin salida (tus responsables no va a interceder y los clientes no van a volver a negociar los compromisos) entonces tendrás que tomar algunas decisiones sobre cómo son de importantes esas prioridades frente a tus propias prioridades (esas tareas ayudan a tus ingresos, lo que contribuye a continuar con tu estilo de vida), pero tu propia salud y tu propio bienestar debería tener más peso en la toma de tu decisión que sus prioridades o sus plazos de entrega. Quizás puedas negociar algo de tiempo libre o vacaciones después de ese periodo para poder descansar, relajarte y recuperar tu fortaleza y agudeza mental antes de volver a pasar por una situación parecida.
Aprender a decir "no" es una capacidad muy importante como programador. A menudo nos vemos a nosotros mismos como seres extraordinarios que pueden hacer cualquier cosa que se propongan, en parte porque los equipos informáticos con los que trabajamos parece que pueden hacer cualquier cosa. Desafortunadamente, tenemos unos recursos físicos y emocionales finitos, así que aprender a escoger y elegir los proyectos que son más importantes para nosotros (dependiendo de nuestro propio criterio) nos ayudará a mantenernos a medida que vamos avanzando en nuestra carrera profesional como programadores. Si decimos que "sí" a todo lo que alguien escoge por nosotros entonces tendremos menos tiempo para trabajar en las cosas que realmente nos importan. Estaremos a merced de personas cuyas prioridades y deseos no coinciden con los nuestros. La forma más efectiva de agotarse es gastar toda tu energía trabajando en proyectos que no encajan con tus prioridades y deseos.
Experimentarás periodos de agotamiento en tu carrera profesional como programador. Te toparás con cosas que sobrepasarán tu capacidad para hacerles frente. Te encontrarás atrapado en bucles en los que te preguntarás si esto es realmente lo que deberías estar haciendo. Comprender lo que estás sintiendo y reconocer que esos sentimientos son válidos es el primer paso para cambiar tu trayectoria del agotamiento y el estrés. La programación no debería ser una tarea tediosa (ningún trabajo de valor debería serlo). Debería haber algo en tu día a día como programador que te mantuviera motivado y te ayudara a umentar tus conocimientos. Añadiendo pizcas de conocimiento, disfrute y asombro, junto con periodos de inactividad, te ayudará a mantenerte a salvo en la turbulencia emocional que te espera. Y reconocer cuando estás agotado y volver a negociar tus compromisos contigo mismo y con otras personas puede ayudarte a revitalizar tus deseos de continuar programado.
## Buscar ayuda
Me gustaría enfatizar el hecho de que está bien el pedir ayuda a otras personas. Personalmente me ha costado pedir ayuda. Parte de mi reticencia a la hora de pedir ayuda estaba provocada por que cada vez que hacía una pregunta obtenía la temida respuesta de "eso ya deberías saberlo". Otras veces creía que al pedir ayuda, eso de alguna manera haría mermar mi reputación. Me considerarían un fraude o un impostor. Las personas se preguntarían por qué habrían confiado en mí al principio. Pero cuando finalmente pedí ayuda, las respuestas no fueron "¿por qué no sabes sobre eso?" si no que fueron "¿por qué no has pedido ayuda antes?" Claro que hubo ocasiones donde alguien se habría sorprendido de que no supiera algo, o que recibiría críticas por mi ignorancia, pero encontré que los beneficios de preguntar superan con creces cualquier efecto negativo.
Pedir ayuda no está limitado únicamente a temas técnicos, hay muchas otras maneras en las que podríamos necesitar ayuda. Podríamos preguntar a colegas que nos ayudasen durante un periodo difícil de nuestras vidas. Podríamos necesitar ayuda de nuestros superiores cuando estamos luchando de alguna manera ya sea personal o profesionalmente. Podríamos incluso necesitar diferentes tipos de ayuda de diferentes profesionales (doctores, terapeutas, etc). Involucrar a otras personas en nuestros problemas puede ser desalentador (o incluso abrumador) pero obtener ayuda de manera temprana puede ayudarnos a prevenir formas más graves de agotamiento o estrés.
La razón más común de nuestra reticencia a la hora de pedir ayuda es nuestro deseo de confort. Pedir ayuda significa el ponernos a nosotros mismos en un estado de vulnerabilidad y esperar que las personas a las que pedimos ayuda nos traten con amabilidad, respeto y dignidad. Esta vulnerabilidad puede verse amplificada si no conocemos a la persona a la que pedimos ayuda o si esa persona es un profesional médico. Pero es necesario el colocarnos en esa situación de vulnerabilidad, especialmente si los problemas o situaciones a las que nos enfrentamos están fuera de nuestro control o exceden nuestra experiencia. Si estamos a punto de sentirnos agotados (o estamos inmersos en un proceso de agotamiento) podremos necesitar la ayuda de un doctor o terapeuta para tratar de la mejor manera la situación que estamos experimentando. Si nuestro trabajo nos causa estrés o tensión, quizás necesitemos hablar con otras personas de nuestro entorno para descubrir si también otras personas están experimentando estos sentimientos. Incluso un simple acto de compasión con nuestros compañeros puede ayudarnos a darnos cuenta que no estamos solos enfrentándonos a estos problemas y puede ayudarnos a encontrar mejores formas de gestionar nuestra carga de trabajo o estrés. A veces no nos damos cuenta de cuando nuestros trabajos o relaciones han pasado a ser de respetuosas y beneficiosas a ser algo que nos provoca más daños que algo positivo.
"No hay que sentir vergüenza en pedir ayuda" es una frase demasiado utilizada, pero pedir ayuda no es un acto de vergüenza. Necesitamos ayuda de otras personas. Incluso alguien que diga "siento que tengas que tratar con eso" puede ser una conexión con otra persona que simpatiza con lo que estamos pasando. Encontrar a otras personas que estén dispuestas a escuchar, empatizar y compadecerse puede ser la diferencia entre sentirse parte de una comunidad o sentir que hemos sido abandonados en nuestra profesión.
También necesitamos reconocer cuando nuestros sistemas de apoyo no nos están siendo de ayuda. Si vemos que hablar con alguien más no nos está ayudando a resolver los problemas, quizás necesitamos encontrar otras vías de ayuda. Quizás nos demos cuenta que necesitamos ayuda adicional.
Darse cuenta de la necesidad de apoyo adicional puede ser difícil, pero una vez que hayas llegado a la conclusión, te animo a que actúes para conseguir esa ayuda extra. Esto requiere de auto conciencia y honestidad con lo que estás sintiendo. Solo tu conoces tu situación y si estás siendo honesto contigo mismo. Si no estás siendo honesto contigo entonces solo tu puedes darte cuenta de eso y puedes tomar la iniciativa para buscar la ayuda que necesites. Nadie mejor que tu conoce tus mecanismos internos.
Asking for and receiving help is a skill, and like any skill it needs practice. When we're young we have simple means of asking for help (crying, pointing, etc.). These skills are baked into us as part of our survival mechanisms, but as we grow our world becomes more complex. Our methods for asking for help need to mature as we mature. This is not something that comes naturally to any of us. We will struggle to ask for help, and we will resist when we're receiving help from others. Repetition and careful practice will help us improve our skills in asking for help. Improving these skills will help us to overcome the obstacles we face throughout our day. That improvement will help us to become not only better programmers but also better at handling the challenges that life gives us.
## Giving up
Programmers don't like to think about giving up. How many times have we asked others to be patient while we try to fix something that isn't working? ("Just a few more minutes, please. Honest!") We work on machines that seem to have limitless possibilities. As programmers we feel compelled to explore those possibilities, but sometimes we don't want to do that exploration. Sometimes we look at the list of things we should be learning and wonder if it's worth the effort. We look at job postings for our set of skills and find nothing but lists of meaningless work. New programmers ask us what it's like to be a programmer and we consider if we should warn them about the dangers of choosing a career that have led us to being unhappy and unfulfilled. The joy that sustained us while learning the craft disappears and we struggle with the fear that we will never cultivate that feeling again.
Programming isn't for everyone. There are times when I've wondered if I should continue working as a programmer. I'm frustrated that I can't possibly learn everything that I want to know. I worry if what I'm learning will still be relevant by the time I'm finished. I'm anxious that I won't be able to compete in a job market where everyone else seems like they had a head start. I struggle looking through job positions that offer work that I don't think will be relevant six months from now, let alone 10 to 100 years from now. I feel like the computing future I was promised has been corrupted and all of us are stuck in a world where computers are little more than levers for companies to pry open the wallets of their customers.
It's easy to become fatalistic about the practice of programming, but I've realized that there's more to computing and programming than what the job market has to offer.
Part of the joy of programming is curiosity. If we can nurture our curiosity while programming then we have so many avenues to explore. There are always other ideas and other topics to discover, such as game development, esoteric languages, or other programming paradigms. The job market uses a fraction of the programming ideas that are out there waiting to be explored. There are also many emulators and retro-computers available with good documentation and vibrant communities. One area that has intrigued me is learning about how older computers work. Older computers are simple and can be understood with patience and the right mindset. These machines are well-understood, and most of these older programs were put together by one programmer. They make an excellent space for learning not only how older machines worked, but many of the concepts that still permeate our modern machines.
What happens when we realize that there is no joy left for us in programming? What do we do when the thought of programming computers no longer excites us? How do we keep going when even the thought of trying something new fills us with dread? What then?
If we don't find any joy in programming then we need to understand why we are feeling this way. Maybe we're tired after a rough project that sapped out all of the fun and excitement of programming for us. Perhaps the communities we've joined in our area and online are hostile and unwelcoming. Maybe we thought programming would be more fun but every time we start we wish we were doing _something_ / _anything_ else instead.
Programming is at its best when you really want to do it. It isn't for everyone. If you're stuck in a situation where you don't want to program anymore then your best course of action is to quit being a programmer. There's no shame in quitting programming --- many programmers have lost the spark of joy and the desire to keep programming, and have moved into other fields. It's OK to leave the field of computer programming and do something else.
Programming is only one facet of our lives. True, it may be a big facet of our lives, and it may feel scary to give up something that we've worked so hard to accomplish. But if we realize that we're just going through the motions and are no longer experiencing any joy in programming then it's time to think about what else we can be doing with our lives outside of programming. We're granted a limited amount of time to live our lives. Doing something we don't enjoy robs us of a meaningful life.
Giving up should not be a negative experience. There is no shame in taking time away from being a programmer. Plenty of programmers have given themselves a "sabbatical" from programming to explore other interests and recharge themselves. Breaking loops of negative experiences in programming can help us identify what we want out of programming and a programming career. It can help us find and confirm our innermost feelings about programming and see if we're still meant to keep pursuing this path.
There are several fears that can keep us from making this break with programming. The first fear goes by the fancy name of the "sunk cost fallacy". The sunk cost fallacy is the belief that the time and effort we spent learning and programming is an investment, and that investment will be wasted if we quit. Thus, in order to preserve our investment we must keep programming. The problem with this fallacy is that it assumes we have not already received the benefit from that time and effort. I'd argue that learning any sort of programming is not a wasted skill. Programming can be applied to many facets of our lives, such as simplifying tasks into manageable steps, applying structured thinking, and understanding basic Boolean logic. Many other fields have also adopted computers so having computer skills can be helpful for yourself or others. The knowledge you have will not go to waste.
The second fear is the fear that we'll somehow let down our fellow programmers and others in our organization if we stop programming. This one is tricky. It's tricky because it includes others in our decision-making process. We might be in an organization that has a substantial load of tasks to complete, and our decision to quit will mean these tasks won't be completed the way we wish those tasks to be completed. It's not hard to imagine our absence causing harm to the entire organization and resulting in its eventual collapse. Is this scenario true? It's up to us to tease out whether our absence will truly let everyone in our organization down. This puts us in a situation where our fear leaves us feeling "stuck". We feel "stuck" because our fear has created a situation where we're choosing between our own well being or the well being of others. This is a false dichotomy. Our absence might be the catalyst for someone else to pick up our tasks and work on them, and possibly complete them more effectively than we can in our current state. We need to determine if we are truly irreplaceable or could someone else take our place? The answer might be "I am irreplaceable, but I need to leave this situation or I will cause harm to both myself and others if this continues". It's up to us to review if we are helping ourselves and the organizations we serve, or if we are harming them and ourselves by deluding ourselves that this is working.
The third fear deals with our own personal concept of identity and the memory of our community. If we decide to stop being a programmer will that somehow erase a part of our identity? Will our community stop identifying us as a programmer and will we lose contact with folks that have become friends and colleagues? Again, this fear is tricky to overcome because programming may be a large part of our identity. Letting go of programming can lead to feeling like we are stripping away a piece of ourselves and our identity. There's also the fear that folks will stop calling us for jobs or other programming projects if we decide to take a temporary break. If the break is temporary will people remember our programming skills when we decide to return?
Each of these fears and worries are valid, but they may not be the truth. We can be afraid that we wasted our time as a programmer, but the truth is any learning isn't wasted effort. We can worry how others perceive us or how the organizations we were a part of move on without us, but the truth is we can't control their perceptions and actions. What we can control is our participation in each of these communities and our perception of the time end effort invested. We can determine if a hard break from programming would be better than gradually easing ourselves out of our commitments. We can clarify to others what our current status as a programmer is and determine if this status is temporary or permanent. The most important thing is not letting others persuade us into doing something that we don't want to do or is harmful to us. If we need to stop programming because we are emotionally drained and burned out then we need to make it clear to others that we will be doing a disservice to them and ourselves if we continue.
Mature communities will understand the need to take a break and stop programming. They will understand that your mental and emotional well-being is more important than their need for you to continue, and they will be able to piece together what needs to be done and heal from your absence. It is normal and natural for folks to move on from organizations and pursue other priorities.
What's important to remember is that it's OK to turn off that portion of your being and stop being a programmer. Whether or not you make that a permanent change is up to you and your desires. Feeling emotionally drained, uninspired, and burned out is counterproductive to your programming practice --- programming is hard enough. Taking a break from programming to explore other interests is natural and doesn't mean you're less of a programmer for wanting to do something different to recharge yourself. If you find that you're happiest when you're not programming then pursue whatever else has your attention with wild abandon. If you decide to return to programming after being away for a bit then you can return and pick up your learning practice. Remember: our lives take many different turns and paths. The best path for you is the one you make yourself, regardless of where that might lead.