Video Summary and Transcription
La carga cognitiva es la cantidad de memoria disponible y los recursos cognitivos que una persona tiene, y la sobrecarga cognitiva ocurre cuando la carga supera lo que se puede sostener. Varios factores, incluyendo discapacidades y factores externos como el estrés, pueden afectar la carga cognitiva. El trastorno por déficit de atención e hiperactividad (TDAH) y el trastorno del espectro autista (TEA) afectan la carga cognitiva de manera diferente, y el diseño instruccional puede ayudar a reducir la carga cognitiva para las personas con estas condiciones. Comprender la complejidad cognitiva en el código, optimizar el entorno de desarrollo y minimizar las distracciones son importantes para gestionar la carga cognitiva. Realizar múltiples tareas aumenta la carga cognitiva, y utilizar sistemas organizativos, automatización y aprendizaje constante puede ayudar a mitigar la carga cognitiva y mejorar la productividad.
1. Cognitive Load and Development Environment
Hola, mi nombre es Abby y hoy quiero hablarles sobre la carga cognitiva y su entorno de desarrollo. La carga cognitiva es básicamente la carga de pensamiento, la cantidad de memoria disponible y los recursos cognitivos que tienes. La sobrecarga cognitiva se produce cuando una tarea requiere más carga cognitiva de la que puedes sostener. Muchos factores determinan cuánta carga cognitiva puedes sostener antes de llegar a la sobrecarga cognitiva, como la complejidad de la tarea y factores externos como el malestar físico y el estrés crónico. Las discapacidades como la ansiedad y el trastorno de estrés postraumático también pueden disminuir tu carga cognitiva disponible.
Hola, mi nombre es Abby y hoy quiero hablarles sobre la carga cognitiva y su entorno de desarrollo. Tengo un blog que tiene toda la información de esta charla y más, así que si buscan más información sobre algo que digo, como la documentation o simplemente más detalles, probablemente esté en el blog, así como también cómo las personas que estudian esto lo aplican en la vida cotidiana y más.
Así que tengo el código QR aquí con el enlace a las diapositivas y también lo dejaré en el Discord durante la sesión de preguntas y respuestas.
Entonces, ¿qué es la cognición o lo cognitivo? Estas son palabras elegantes para el pensamiento. Cognición es el sustantivo y cognitivo es el adjetivo. Por lo tanto, la carga cognitiva es básicamente tu carga de pensamiento. En otras palabras, la cantidad de memoria disponible y los recursos cognitivos que tienes. En otras palabras, solo puedes pensar en tantas cosas a la vez y solo puedes recordar tantas cosas a la vez. La carga cognitiva también es el término para la cantidad de memoria y recursos cognitivos que una tarea requiere porque en psicología no podemos hacer las cosas fáciles.
Por otro lado, la sobrecarga cognitiva se produce cuando una tarea o tareas requieren más carga cognitiva de la que puedes sostener. Probablemente estés pensando, wow, esto es un montón de términos elegantes, pero probablemente estés familiarizado con la sensación, que es cuando reproduzco este video durante unos 40 segundos de notificaciones constantes. Después de escuchar todas esas notificaciones constantes, es posible que te estés preguntando cosas como, ¿a qué notificación debería responder primero? ¿Cómo voy a desglosar todas esas notificaciones para saber qué necesito responder? Y esas son las preguntas que comienzas a hacerte cuando entras en la sobrecarga cognitiva.
Muchos factores determinan cuánta carga cognitiva puedes sostener antes de llegar a la sobrecarga cognitiva. Los aspectos de la tarea misma afectan cuánta carga cognitiva requiere una tarea. Entonces, cuánto tiempo tienes que concentrarte, la forma en que se te presenta la información, la cantidad de información y la complejidad de la información misma van a determinar cuánta carga cognitiva requiere una tarea. Los factores externos afectan la carga cognitiva que está disponible para ti. La falta de recursos físicos. Si necesitas comida, sueño, agua, probablemente estarás dedicando al menos una parte de tus recursos cognitivos a obtener esas cosas en lugar de dedicar toda tu carga cognitiva a la tarea en cuestión. La incomodidad física como el dolor. Muy similar. Si estás en dolor, probablemente estés pensando en eso, lo que significa que esos recursos no son recursos que puedes dedicar a la tarea en cuestión. Las emociones, por otro lado, la relación es muy compleja. Todos tenemos ese compañero de trabajo que ama el desarrollo impulsado por el rencor y tenemos al compañero de trabajo que solo puede concentrarse y profundizar cuando todo está tranquilo y pacífico. El estrés crónico, por otro lado, sabemos que disminuye tu carga cognitiva disponible. Entonces, si has estado estresado durante varias semanas, es posible que notes que es un poco más difícil pensar, un poco más difícil profundizar en los problemas, y eso se debe a que tu estrés está afectando tu carga cognitiva disponible. Las discapacidades pueden disminuir tu carga cognitiva disponible. La ansiedad, básicamente estrés crónico. El trastorno de estrés postraumático, también estrés crónico. Pero el TEPT tiene síntomas que te sacarán del momento presente. Tendrás que dedicar toda tu carga cognitiva a lidiar con ellos, lo que dificulta la realización de tareas triviales.
2. Tipos de Carga Cognitiva
El dolor crónico, la demencia, el Alzheimer, la amnesia, el trastorno del procesamiento sensorial, la dislexia, la lesión cerebral traumática, la función ejecutiva y el trastorno del espectro autista afectan la carga cognitiva de diferentes maneras.
El dolor crónico, otro tipo de estrés crónico, pero tus nervios estarán enviando sensaciones en las que casi seguro tendrás que concentrarte. Por lo tanto, el dolor crónico, con el tiempo, disminuirá tu carga cognitiva disponible, al igual que el estrés crónico.
La demencia, el Alzheimer y la amnesia afectan a tu memoria. Si tienes menos memoria para usar, entonces tienes menos carga cognitiva disponible. Las discapacidades también pueden aumentar la cantidad de carga cognitiva que requiere una tarea. Por ejemplo, el trastorno del procesamiento sensorial. Yo tengo un trastorno del procesamiento sensorial auditivo. Así que si las personas me hablan, generalmente estoy unos segundos atrás. Me lleva un poco más de tiempo y recursos cognitivos entender lo que las personas están diciendo. Y ese requisito solo aumenta cuanto más personas están hablando al mismo tiempo.
Un trastorno de aprendizaje como la dislexia, por otro lado, una persona con dislexia preferiría que le hablen en lugar de leer algo en texto, ya que leerlo requeriría más carga cognitiva que escucharlo en voz alta, por eso muchas personas con dislexia usan un lector de pantalla para navegar por los sitios web. Pueden procesar esa información mucho más rápido. Algunas discapacidades disminuyen tu carga cognitiva disponible y aumentan la carga cognitiva que requieren las tareas.
Una lesión cerebral traumática realmente depende de qué parte de tu cerebro esté afectada. Si es tu centro de procesamiento del lenguaje, probablemente se presente de manera similar a un trastorno del procesamiento auditivo. Si es la parte de tu cerebro que te permite llevar un seguimiento del tiempo, entonces las tareas que requieren llevar un seguimiento del tiempo requerirán más recursos cognitivos. Si la parte de tu cerebro que controla la función ejecutiva, que es la parte frontal grande, está afectada, entonces tu capacidad para planificar, controlar tus impulsos y dirigir tu atención serán las cosas que se verán afectadas, por eso el trastorno por déficit de atención e hiperactividad es el peor nombre posible para este trastorno. Tengo mucha atención.
3. Atención, TDAH y Diseño Instruccional
El trastorno por déficit de atención e hiperactividad (TDAH) afecta la capacidad de dirigir la atención hacia tareas aburridas. El trastorno del espectro autista (TEA) implica una memoria de trabajo verbal más baja y la necesidad de asignar recursos para filtrar la información sensorial. Reformular las tareas y proporcionar un entorno tranquilo puede reducir la carga cognitiva para las personas con TDAH o TEA. El diseño instruccional considera la carga cognitiva intrínseca, extrínseca y germana para mejorar el aprendizaje. G. Ann Campbell explora la complejidad cognitiva en su documento técnico.
El problema radica en dirigir la atención. Es una disfunción ejecutiva. Eso es con lo que lucho. La broma popular es, ya sabes, TDAH, mira, una ardilla. Eso se debe a que me cuesta dirigir mi atención lejos de las cosas interesantes, pero también me cuesta dirigir mi atención hacia cosas muy aburridas. Así que si me das una tarea interesante, como en un juego de video, puedo hacerlo todo el día sin problemas. Pero si necesitas que lave los platos, eso será un poco más difícil. Es tan aburrido. Sucede todos los días. ¿Es porque tenemos un sistema nervioso basado en el interés? Si nos das cosas novedosas o interesantes, lo pasaremos genial, pero simplemente porque es importante, como un sistema nervioso basado en la importancia neurotípica, no lo percibimos de la misma manera. El trastorno del espectro autista es un poco diferente. Hay investigaciones que muestran que la memoria de trabajo verbal, es decir, cuántas palabras puede retener una persona con TEA en su cerebro a la vez, es menor desde el principio. Pero también la información sensorial llega al mismo nivel de importancia que cualquier otro estímulo. Por lo tanto, tienen que dedicar recursos cognitivos a filtrar esa información. Mientras que una persona neurotípica tendría facilidad para ignorar el aire acondicionado que sopla sobre su piel, alguien con TEA tendría que dedicar recursos a ignorar eso. Como vimos con un trastorno del procesamiento sensorial o un trastorno del aprendizaje, si reformulas la tarea o la información teniendo en cuenta al público, eso puede reducir la carga cognitiva requerida. Entonces, si le das a una persona con TDAH o TEA una tarea en una habitación tranquila y silenciosa donde puedan controlar el entorno sonoro, lo pasarán mucho mejor que en un lugar como, no sé, un parque infantil cerrado donde no solo los niños están gritando, sino que los gritos rebotan en las paredes.
El diseño instruccional es un área de estudio que investiga cómo el diseño de los materiales de aprendizaje afecta la asimilación de información por parte de los estudiantes. En otras palabras, cómo las personas absorben la información. No solo se aplica a la escuela. También se aplica a cosas como la capacitación de empleados. Y han propuesto tres formas de describir cómo la presentación de la información afecta la carga cognitiva de intentar aprender esa información. Entonces, la carga cognitiva intrínseca sería qué tan difícil es entender el concepto. Tenemos un dicho en inglés estadounidense que dice que no es ciencia espacial porque todos entendemos que la ciencia espacial es bastante complicada en comparación con algo como la suma. La carga cognitiva extrínseca es qué tan difícil es entender la presentación de la información. Sé que hablamos de palabra hablada versus texto, pero también hay cosas como, ¿cuánto hay? ¿Cuánto texto y cómo se presenta? ¿Está fragmentado? Cosas así. La carga cognitiva germana es cuánta carga cognitiva se requiere para procesar la información y almacenarla en la memoria.
4. Carga Cognitiva en el Código y el Entorno de Desarrollo
Comprender la complejidad cognitiva en el código, como el uso de Reduce en JavaScript, afecta la carga cognitiva intrínseca. La documentación y la organización de la información contribuyen a la carga cognitiva extrínseca. Comprender todo el sistema y proporcionar múltiples formas de consumir información reduce la carga cognitiva germana. El entorno de desarrollo se extiende más allá de la computadora, abarcando descansos físicos, descansos mentales y optimizando el entorno físico y virtual para minimizar las distracciones y maximizar el enfoque.
¿Eres capaz de entender el concepto en su totalidad y recordarlo más tarde? La carga cognitiva intrínseca cuando se trata de aprender tu base de code sería la legibilidad. G. Ann Campbell tiene un documento técnico llamado Complejidad Cognitiva, Una Nueva Forma de Medir la Comprensibilidad. Y la herramienta Code Climate tomó eso y te permite escanear tu base de code para obtener un nivel de complejidad cognitiva. Si alguna vez has participado en el debate en JavaScript sobre si las personas deberían usar Reduce o no, has estado discutiendo sobre la complejidad cognitiva y la carga cognitiva intrínseca.
Si no has sido parte de este debate, básicamente la idea es que Reduce en sí mismo, al igual que la recursión, es difícil de entender por sí solo, luego agregas la función que le estás pasando. ¿Es tan cognitivamente complejo que deberías evitar usarlo para no obligar a alguien más a aprender este gran concepto cuando solo están tratando de solucionar un error? La carga cognitiva extrínseca y el aprendizaje de tu base de code sería la documentación. ¿Es fácil de encontrar? ¿Es documentación de referencia o una guía? ¿La forma en que se almacena y presenta tu documentación dificulta la absorción de esa información?
La carga cognitiva germana, cuando se trata de aprender tu base de code, sería comprender el sistema completo, por eso queremos proporcionar diagramas y modelos mentales y múltiples formas de consumir información sobre tu base de code y cómo funciona el sistema en su conjunto y qué problema estás tratando de resolver con tu producto. Finalmente, llegamos a tu entorno de desarrollo, y desafortunadamente estoy aquí para decirte que tu entorno de desarrollo se extiende más allá de tu computadora. Comienza con tu cuerpo. Tu cuerpo necesita cosas, comida, agua, dormir como mínimo. Necesitas tomar descansos físicos. Mi fisioterapeuta siempre me dice que estar sentado es el nuevo fumar.
Si te sientas durante mucho tiempo, eventualmente comenzarás a sentir dolor. Como sabemos, el dolor requiere algunos recursos cognitivos para lidiar con él y los quita de la tarea en la que quieres concentrarte, que probablemente sea programar. También necesitas descansos mentales. No puedes concentrarte durante ocho horas seguidas. Créeme, lo he intentado. Los costos superan con creces los beneficios. Esto incluye tu entorno físico. Reduce la cantidad de información que estás absorbiendo mientras intentas concentrarte. Si no tienes muchas cosas sucediendo en segundo plano, descubrirás que esperar a que el servidor cargue será mucho más fácil porque no hay nada que te distraiga. También incluye tu entorno virtual. Haz lo que digo, no lo que hago, y cierra tus pestañas. Desactiva tus notificaciones. Mantén las cosas simples. No tengas un fondo que sea una fiesta a la que puedas ver de reojo cuando estás tratando de concentrarte en otra cosa. Esto también puede significar reducir la cantidad de pantallas que tienes que mirar. Si no necesitas 20, probablemente puedas conformarte con una o dos. También estoy aquí para decirte que nadie es bueno cambiando de contexto.
5. Multitarea y Gestión de Tareas
La multitarea no es real. Cambiar entre tareas aumenta la carga cognitiva. Reduce el cambio de contexto concentrándote en un área. Utiliza la agrupación de tareas, la tematización del día y el bloqueo de tiempo. Despeja tu pizarra mental almacenando las tareas en otro lugar.
Te lleva más tiempo del que crees. Te estresa y te impide profundizar en un tema. Puede que estés pensando, Abby, soy bueno en la multitarea, y desafortunadamente, la multitarea no es real. Es una mentira. Lo que realmente sucede es que te involucras en una tarea, estás pensando en ella, así que tomas tu pizarra mental y escribes notas sobre esa tarea. Luego cambias a la otra tarea, borras tu pizarra mental y luego escribes todas tus notas sobre la segunda tarea. Luego las borras y vuelves a la otra tarea y escribes tus notas nuevamente. Luego lo borras, y luego vuelves y escribes tus notas nuevamente. Puede parecer que va más rápido de lo que acabo de describir, pero en realidad no lo es. Simplemente estás cambiando entre dos tareas y eso agota tu cerebro.
Reduce el cambio de contexto. Divide tus tareas para que puedas concentrarte en un área. Esto puede significar cambiar un controlador de búsqueda en tres archivos y no arreglar todo sobre un archivo, arreglar todo sobre el segundo archivo y arreglar todo sobre el tercer archivo. A una escala más grande, para todas tus tareas del día, hay tres formas recomendadas de hacer esto. Agrupación de tareas, tematización del día y bloqueo de tiempo. También puedes establecer horarios para responder a notificaciones y correos electrónicos porque cada notificación y cada correo electrónico es un cambio de contexto.
Esto es para los neurotípicos. Una tarea suele ser múltiples tareas. La forma en que se explica a menudo es que el primer paso para lavar los platos no es lavar un plato. Es acercarse al fregadero. La segunda tarea es identificar los materiales de limpieza que necesitas. La tercera tarea es obtener esos materiales de limpieza. La cuarta tarea es identificar qué plato vas a lavar primero. De manera similar, abrir una solicitud de extracción (PR) no es una sola tarea. Primero, debes escribir todo el code y hacer todos los commits y prepararlo y luego una vez que presionas el botón de PR, debes completar todo un formulario. Puede que tengas el formulario más fácil y la revisión de code más fácil, pero aún son múltiples pasos. En muchos lugares, debes completar varias secciones de una descripción, asegurarte de que tu título funcione y cada vez que debas recordar una de esas cosas, eso es una tarea adicional. Mi recomendación es despejar tu pizarra mental. No intentes recordarlo todo. Almacena las tareas futuras en algún lugar que no sea tu cerebro.
6. Sistemas Organizacionales y Automatización
Utiliza aplicaciones y sistemas organizativos. Documenta tus estándares. Automatiza tareas. Aprende tu editor de texto o IDE. Utiliza IntelliSense y atajos de teclado. Edita la interfaz de usuario para tener menos distracciones. No se recomienda utilizar IA para reducir la carga cognitiva.
Utiliza aplicaciones y sistemas organizativos. Literalmente hay un sistema organizativo llamado Second Brain por esta razón. Documenta tus estándares. A nadie le gusta descubrir un estándar que hubieran seguido si lo hubieran conocido antes de la PR, después de haber abierto la PR. Después de haber abierto la PR, eso son como 15 cosas que tienen que arreglar. Todos apreciarán que los estándares estén documentados claramente para que puedan hacerlo en su propio tiempo antes de pedirte que lo revises, en lugar de perder el tiempo de todos.
Automatiza tantas tareas como sea posible. Me encanta decir que soy la prueba de fuego para saber si tu proceso será olvidado o no. Me encantan los linters y formateadores. No me hagas recordar los formatos de estilo. No. Las pruebas y comprobaciones que se ejecutan en el momento de la PR, perfecto. Siempre olvidaré ejecutar el script de prueba antes de subirlo. Fallar automáticamente una PR si no está pasando algo es genial.
Además, aprende tu editor de texto o IDE. El mejor ejemplo de esto es IntelliSense. Nunca más tendrás que recordar cómo se escribe ese nombre de variable. IntelliSense lo recordará por ti. Aprende tus atajos de teclado. Utiliza los predeterminados o incluso crea los tuyos propios. Y edita la interfaz de usuario para tener menos distracciones. Yo uso VS Code, así que mis ejemplos de VS Code son el paleta de comandos y el Modo Zen. La paleta de comandos te permite ingresar comandos en lugar de hacer las cosas manualmente, y el Modo Zen es uno de esos comandos donde oculta todo excepto el archivo en el que estás trabajando actualmente. Puedes utilizar Workspace and Settings Sync, lo que significa que no tienes que recordar tus configuraciones favoritas cada vez que configuras tu entorno de desarrollo. También tienen fragmentos de código reutilizables, acciones y correcciones rápidas de código, tareas automatizadas, y la interfaz gráfica de control de versiones, lo que significa que no tienes que recordar los comandos de git. Puedes utilizar botones. Y sabemos que VS Code tiene muchas extensiones para cosas como mostrar si tus pruebas pasan o fallan, para que no tengas que recordar ejecutar ese script y averiguarlo una vez que hayas comenzado a abrir la PR. Te darás cuenta de que la IA no está incluida aquí, y eso se debe a que no puedo pensar en nada que implique más carga cognitiva para mí que mirar un gran párrafo de, bueno, no es un párrafo en code, pero un gran bloque de code que se ha generado para mí y revisarlo en busca de errores. Prefiero simplemente escribir el code yo mismo.
7. Constant Learning and Cognitive Load
Los desarrolladores necesitan prepararse para el aprendizaje constante y el éxito. Evita estresar innecesariamente tu cerebro y permítele tomar descansos. Cuando no se considera la carga cognitiva, los equipos luchan por cubrir múltiples responsabilidades y carecen de la capacidad para dominar una habilidad. Enfocarse en un producto conduce a mejores soluciones. Los líderes deben permitir que sus equipos se sumerjan en las cosas y minimizar el cambio de contexto.
Lo siento. Básicamente, nos estamos preparando como desarrolladores para el aprendizaje constante. Eso requiere preparar tu cerebro para el éxito. Ya le estás pidiendo a tu cerebro que se sienta incómodo y aprenda cosas nuevas de manera regular, así que no lo estreses si no es necesario. Permítele tomar descansos. Permítele no cambiar de contexto tanto como sea posible.
Aquí hay una cita de Matthew Skelton que me encanta. Cuando no se considera la carga cognitiva, los equipos se dispersan, tratando de cubrir una cantidad excesiva de responsabilidades y dominios. Un equipo así carece de capacidad para dominar su oficio y lucha con el costo de cambiar de contexto. No sé tú, pero he estado en equipos donde se esperaba que cubriera múltiples productos, y el resultado fue que no profundicé en ninguno de ellos. Cuando se me permite enfocarme en un producto, conozco ese producto a fondo y comienzo a encontrar soluciones aún mejores para los problemas.
Cuando lideras un equipo, asegúrate de que se les permita sumergirse en las cosas. Dales descansos mentales. No los hagas cambiar de contexto tanto como sea posible. Y eso es todo lo que tengo. Aquí está el código QR code para las diapositivas nuevamente. Aquí está el enlace a ese blog. Y muchas gracias por venir y escucharme hablar sobre los cerebros.
Comments