Mecanografía para programadores
Escribir sin mirar el teclado te permite introducir y editar código sin buscar las teclas. Puedes mantener la vista en el editor mientras escribes una función, introduces un comando o preparas instrucciones para un agente de IA. La práctica para programadores debe incluir letras, números, símbolos y las convenciones de nombres del código.
Ideas principales
- Practica los números, símbolos y convenciones de nombres de tu lenguaje. El curso habitual de AgileFingers incluye números y caracteres especiales.
- Usa las lecciones de programación para practicar con código o pega un fragmento propio en textos personalizados.
- Puedes trabajar con eficacia usando Vim o aprendiendo los atajos de tu IDE favorito.
- Revisa el código que genera un agente de IA y aprende a corregirlo. Sigues siendo responsable aunque no lo escribas tú.
Por qué la mecanografía ayuda a programar
El principio no cambia: escribir sin mirar el teclado. Así ahorras tiempo y te concentras en la tarea, en lugar de pensar en cómo introducir cada carácter.
Programar exige conocer más teclas que redactar un ensayo. Una expresión breve como items[index] += value; combina letras, corchetes, un operador y un punto y coma. Otras añaden llaves, paréntesis, comillas y números. Un test con palabras en minúsculas deja fuera esas combinaciones. Cuando bajas la vista para buscar un símbolo, dejas de leer el código.
Al cambiar una condición también tienes que comprobar el código que la rodea. Escribir sin mirar el teclado permite seguir leyéndolo mientras lo modificas. Tras más de 20 años desarrollando software, sigo valorando esta habilidad al editar código, añadir pruebas o trabajar en un terminal.
Practica las combinaciones que utilizas
Las condiciones, los bucles y las declaraciones de funciones se repiten constantemente. Una cabecera de bucle JavaScript como for (let i = 0; i < items.length; i++) reúne paréntesis, puntos y comas, una comparación y un incremento. Si te detienes en una parte de la línea, practica expresiones de ese tipo. Conviene escribir con soltura y rapidez la sintaxis del lenguaje elegido.
También importan las mayúsculas y las convenciones de nombres. Escribir userAccount o user_account requiere movimientos y hábitos diferentes. La guía de estilo de Python recomienda minúsculas y palabras separadas por guiones bajos para funciones y variables: snake_case. Las variables de Java suelen usar camelCase, como userAccount. Las clases y constantes tienen sus propias convenciones. Acostúmbrate a escribirlas todas con naturalidad.
Estas diferencias cambian la práctica: en Python aparecen más guiones bajos y en Java más mayúsculas dentro de los nombres. Si quieres programar en Python, te servirán más los ejercicios de Python que los ejercicios de Java.
Mientras copias código, procura entender qué hace y cómo está construido. Observa dónde termina la condición y comienza su bloque. En Python, la sangría agrupa instrucciones; cambiarla puede alterar el funcionamiento. No copies código de forma mecánica, sin comprenderlo.
Practica números y caracteres especiales
El curso de mecanografía de AgileFingers incluye números y caracteres especiales. Vuelve a esas lecciones si una cifra, un símbolo o una combinación te frena. Si todavía no dominas la escritura de texto corriente, empieza por ahí antes de practicar programación. Si las letras ya no te cuestan, pasa a las teclas que necesitas. Incluso tras años programando puede haber combinaciones que tengas que buscar.
La imagen muestra la distribución QWERTY de Estados Unidos. En ella, las llaves se escriben con Shift y las teclas de los corchetes. Otras distribuciones sitúan los símbolos en lugares diferentes y pueden utilizar AltGr. Haz coincidir el teclado de práctica con la distribución activa del sistema operativo: los caracteres de cada lección dependen de ella. Puedes cambiarla en los ajustes.
Utiliza el IDE desde el teclado
Los IDE de JetBrains y Visual Studio Code permiten buscar archivos, seguir llamadas y cambiar nombres de símbolos con el teclado. Aprende los atajos del editor que ya utilizas. Si te interesa editar sin ratón, una extensión de Vim ofrece estas y muchas otras operaciones.
Empieza por las acciones que repites a diario:
- Buscar archivos y símbolos: abre un archivo o salta a una función sin recorrer el árbol de carpetas.
- Ir a la definición y volver: sigue una llamada hasta su implementación y regresa al punto de partida.
- Cambiar nombres: usa la herramienta del editor cuando admita el lenguaje. Comprueba la vista previa y las referencias afectadas.
- Ejecutar una prueba concreta: repite la prueba pertinente y salta al error indicado desde el teclado.
- Seleccionar y editar: aprende a moverte por palabras, ampliar selecciones, comentar líneas y alternar entre editor y terminal.
Aprende primero a buscar acciones para encontrar comandos sin recorrer menús. En las asignaciones habituales de JetBrains, pulsar Shift dos veces abre Search Everywhere. La guía de atajos de JetBrains explica la navegación y la configuración de teclas.
En VS Code, la paleta de comandos suele abrirse con Ctrl+Shift+P en Windows y Linux, o Cmd+Shift+P en macOS. El editor de atajos permite consultar comandos y cambiar sus combinaciones. Si un atajo funciona de otra manera, comprueba la configuración activa. Piensa bien antes de cambiar los valores predeterminados: suelen estar cuidadosamente elegidos.
Usa el autocompletado para nombres largos y los fragmentos de código para estructuras repetidas. Por ejemplo, IntelliSense de VS Code ofrece completado e información sobre parámetros. En un ejercicio escribe todo el fragmento para practicar. En tu proyecto aprovecha la ayuda, pero revisa lo que inserta. Si repites los mismos clics, busca el atajo y pruébalo en la siguiente tarea.
Aprende a trabajar bien en el terminal
Los desarrolladores y administradores usan terminales para ejecutar comandos y pruebas, consultar registros, gestionar archivos y trabajar en sistemas remotos. Los comandos mezclan nombres, rutas, opciones, comillas, tuberías y números. Lee lo que has escrito antes de ejecutarlo. La mecanografía permite mantener la vista en el comando mientras lo introduces o corriges.
Conoce las herramientas de edición de tu shell. Con los atajos Readline de Bash al estilo Emacs, que se usan de forma predeterminada, Ctrl+A va al principio de la línea y Ctrl+E al final. Ctrl+R busca hacia atrás en el historial. Tab intenta completar un comando o nombre de archivo. La sección Readline del manual de Bash explica estas funciones. Otras shells o configuraciones pueden diferir.
El historial y el autocompletado evitan volver a escribirlo todo. Si un argumento es incorrecto, mueve el cursor hasta él y corrígelo. Antes de pulsar Enter, comprueba la ruta, las opciones y el directorio de trabajo. En un sistema remoto, comprueba también qué shell usas: sus controles pueden diferir de los de tu equipo.
Mide la precisión y la velocidad
Sigue tu velocidad, pero observa también los errores. Si corriges siempre el mismo símbolo, conviene practicarlo aunque el resultado general sea bueno. El editor puede detectar un nombre mal escrito, pero no un operador válido que hace algo distinto de lo previsto. Sigue revisando y probando el código.
Empieza con un ritmo que permita escribir con precisión. Acelera cuando escribas con seguridad, cometas pocas erratas y las detectes y corrijas enseguida. Compara resultados con el mismo ejercicio, distribución, límite y método de precisión. Un fragmento más difícil puede bajar la puntuación aunque hayas mejorado. En el curso, las primeras lecciones son sencillas y después las combinaciones se complican. Puedes sentir que has perdido velocidad cuando solo ha aumentado la dificultad.
AgileFingers muestra palabras o caracteres por minuto. La conversión considera cinco caracteres por palabra; un identificador largo no cuenta como una sola palabra. La precisión al primer intento sigue contando un error después de corregirlo. La precisión del texto final evalúa el texto que queda en el ejercicio. Recuerda qué método utilizaste al comparar resultados, porque pueden diferir. Elige la opción que mejor se ajuste a tus necesidades.
Práctica de AgileFingers para programadores
Los colores alegres, las imágenes y la facilidad de uso pueden hacer pensar que AgileFingers solo sirve para principiantes, docentes y estudiantes. Funciona bien en las escuelas, pero lo crearon desarrolladores profesionales apasionados por la informática. Queríamos que también sirviera a profesionales con mucha experiencia. Incluimos literatura para practicar textos complejos, además de palabras sencillas y combinaciones abstractas de teclas, y lecciones en varios lenguajes de programación. Añadimos temas retro y una combinación de colores oscuros. Son opciones más sobrias; si la interfaz clara te cansa la vista, prueba cuál te resulta más cómoda.
Las lecciones de programación incluyen fragmentos de Python, JavaScript, Java y otros lenguajes. Elige uno y copia el código mostrado. El teclado y las guías de los dedos indican qué teclas pulsar. Tras cada ejercicio recibirás tus resultados de velocidad y precisión.
Practica con tu propio código
También puedes usar código propio en los textos personalizados de AgileFingers. Pega un fragmento corto que quieras practicar, ponle un título y guárdalo. Después selecciónalo en tu catálogo. Puede ser una función con condiciones anidadas, una consulta SQL con uniones o un analizador de argumentos de Bash. Elige código que entiendas para concentrarte en escribirlo.
Si te cuestan los guiones bajos y las cifras, elige nombres que los contengan. Si fallas con comillas y paréntesis, busca un fragmento con muchos de ellos. Comprueba el texto mostrado antes de empezar, sobre todo si incluye tabulaciones o caracteres fuera de tu distribución. También puedes practicar explicaciones técnicas e instrucciones para agentes de IA.
Los agentes de IA necesitan instrucciones claras y revisión
Un agente puede generar código, ejecutar comprobaciones y corregir su trabajo. Tú debes explicar lo que quieres y revisar los cambios. Las recomendaciones de GitHub para sus agentes de programación aconsejan tareas claras, revisión humana y pruebas del código generado.
Aunque escribas poco código, sigues describiendo requisitos, dando ejemplos, comunicando errores y comentando resultados. "Mejora el formulario" obliga al agente a adivinar. Indica qué entrada falla, qué debe ver el usuario y qué tiene que seguir funcionando. Corrige las instrucciones si cambian los requisitos o el agente las interpreta mal. Cuantos más detalles útiles des, más probable será una solución adecuada. Puede incluso que escribas más con agentes que programando por tu cuenta. Al escribir código piensas en cada símbolo y buscas un resultado conciso, legible y fácil de mantener. Al dar instrucciones a la IA intentas explicarte con detalle, sin ahorrar tantas palabras. Tiene su gracia: cuando la IA escribe el código, la mecanografía puede ser aún más útil.
Hay quien cree que el teclado dejará de hacer falta porque podemos dictar las instrucciones. El dictado ayuda a preparar un borrador, pero editarlo sigue dando trabajo: corregir una ruta, cambiar una variable o quitar una condición de una instrucción larga. Si te va bien dictar, hazlo. Yo seguiría practicando la edición con el teclado para hacer pequeños cambios por mi cuenta. Tampoco apetece hablar al micrófono toda la jornada. Incluso alguien muy extrovertido, que disfruta hablando con todo y con todos, incluidos los ordenadores, necesita descansar la voz. A veces quieres trabajar en silencio. Para eso está tu teclado.
No me sentiría cómodo creando un producto cuyo funcionamiento no pudiera explicar. Una respuesta segura del agente no demuestra que los permisos se comprueben bien o que estén cubiertos los casos límite. Si el producto es tuyo, respondes por esas decisiones. Aprende lo suficiente para detectar problemas y explicar qué hay que corregir. Aprender un lenguaje requiere escribir mucho código. Si solo quieres entender mejor la sintaxis sin crear programas propios, las lecciones de AgileFingers pueden ayudarte.
Si quieres ser un gran programador, sigue leyendo código y haciendo tus propios cambios. Puedes apoyarte en los agentes, pero revisa su trabajo con cuidado y valora sus sugerencias con criterio. Las lecciones de programación de AgileFingers sirven para practicar los símbolos y patrones que más te cuestan.
Edición básica con Vim y Neovim
Vim es un editor basado en comandos de teclado que permiten recorrer archivos y hacer cambios con pocas pulsaciones, sin ratón. Neovim parte de Vim y mantiene ese modelo. Ambos distinguen modos de introducción y edición de texto. En modo normal, dd elimina la línea actual; ciw cambia la palabra bajo el cursor y pasa al modo de inserción para escribir el reemplazo. La documentación oficial de Neovim explica los movimientos, la edición y otras funciones.
Aprende los comandos en el editor, donde ves su efecto. En algunas distribuciones de Neovim, pulsa Escape, escribe :Tutor y pulsa Enter para abrir el tutorial interactivo. Si está desactivado, ejecuta nvim --clean en el terminal y vuelve a intentarlo. Así se carga la configuración predeterminada de Neovim. Para Vim, consulta las instrucciones de vimtutor de tu sistema.
Haz una parte breve del tutorial y repítela sin consultar las instrucciones. Abre después una copia de un archivo conocido y usa los mismos comandos para cambiar un nombre o eliminar una línea. Aprende algunas operaciones habituales antes de memorizar una lista larga.
Funciones de IDE en Neovim
Neovim admite extensiones para buscar archivos, navegar por el código, completar, diagnosticar y formatear. Puedes configurarlas o usar una distribución que las incluya preparadas. LazyVim es una de ellas. Ofrece muchas funciones de un IDE, aunque necesitarás las herramientas adecuadas para tu lenguaje. La guía de atajos y la ventana which-key ayudan a encontrar comandos.
También puedes usar una extensión de Vim en tu IDE habitual. Comprueba qué atajos controla la extensión y cuáles el IDE, sobre todo si una tecla hace algo inesperado. Empieza por unos pocos comandos frecuentes.
Un plan breve de práctica
Elige algo que hoy te haya frenado: un símbolo que tuviste que buscar, un nombre que escribiste mal varias veces o un comando que no encontraste. Empieza por ahí en la próxima sesión:
- Elige una lección del curso con la cifra o el carácter especial que necesitas practicar.
- Copia una lección de programación o un texto personalizado que lo incluya en el código.
- Comprueba el resultado y repite la parte incorrecta con calma para escribirla bien.
- Vuelve al editor o a la shell del terminal y aplica lo practicado a un programa o comando real.
Practica también texto corriente. Los comentarios, la documentación y las instrucciones para agentes son parte esencial del trabajo. Puedes usar literatura de los textos de AgileFingers o preparar y copiar tus notas técnicas. Si quieres relajarte sin dejar de aprender, prueba los juegos de mecanografía.
Preguntas de programadores
Estas preguntas aparecen en conversaciones de programadores en Reddit sobre mecanografía en el trabajo informático.
¿Por qué escribo palabras rápido, pero el código me frena?
Puedes dominar las letras y dudar con corchetes, comillas, números o mayúsculas. La sintaxis desconocida también frena. Elige código breve que entiendas y practica las combinaciones difíciles. Compara tus intentos con ese mismo fragmento. Las lecciones de AgileFingers ayudan a familiarizarte con la escritura de código.
¿Debo aprender mecanografía antes de programar?
Puedes aprender ambas cosas a la vez. Sigue creando programas y dedica un rato a las teclas que aún buscas. No necesitas una velocidad alta para empezar un proyecto. Si ya trabajas programando, puedes incorporar esa práctica a tu rutina.
¿Necesito cambiar la distribución para escribir código?
Empieza por la que utilizas en el trabajo, sobre todo si también la necesitas para escribir en tu idioma. Practica los símbolos antes de cambiar. Otra distribución puede irte bien, pero considera los teclados de casa y del trabajo. Alternar puede resultar incómodo si en casa tienes un teclado muy personalizado y en el trabajo debes usar uno estándar con otras asignaciones.
Elige asignaciones que te gusten y comprueba si puedes usarlas en ambos equipos. Mantén, cuando sea posible, las posiciones de letras y símbolos frecuentes y los mismos atajos para no reaprenderlos continuamente. Si no puedes igualar la configuración del trabajo a la de casa, conserva la soltura con la distribución estándar. Aprende las posiciones nuevas antes de depender de ellas en una jornada intensa.
Pruébalo la próxima vez que programes
Al editar código o introducir un comando, fíjate en las teclas que aún te hacen detenerte y mirar abajo. Practícalas en las lecciones de programación o añade un fragmento a tus textos personalizados. Sigue usando el editor y la IA, pero lee, comprueba y corrige sus resultados. Aunque no te guste el estado actual de la informática y sus cambios recientes, puedes influir poco en muchos de ellos. Como desarrollador experimentado, aconsejo aceptar ciertos cambios y adaptarse por el propio bienestar. No significa dejarlo todo en manos de la IA. Escribe al menos parte del código para conservar la capacidad de crear en un lenguaje, además de leerlo. Usa el teclado: es una herramienta física y tangible de comunicación. Entre productos digitales sigue siendo algo real. Necesitamos objetos que podamos tocar y usar, que nos ayuden a mantener el contacto con la realidad.