Todos los artículos

TDD contra la procrastinación

Cómo usar TDD para vencer la procrastinación al escribir código.

El desarrollo guiado por pruebas (TDD) es un proceso de desarrollo de software que ofrece dos beneficios principales:

Uno de los principales beneficios de las pruebas en general es que una base de código bien probada da confianza a quienes modifican el software. Sin embargo, TDD, como cualquier técnica o metodología, no es una solución mágica. No siempre es posible ni deseable aplicarlo. Como casi todo en el desarrollo de software y en la vida, hay ventajas y desventajas, y depende de cada situación. Solo experimentando, recopilando datos y analizándolos podemos determinar qué nos funciona mejor. Encontré muy interesantes estos enlaces sobre TDD y pruebas:

La procrastinación es un problema muy común, aún más en estos tiempos de pandemia. Con una tasa alta de desempleo, prepararse bien para las entrevistas es más importante que nunca. Una parte importante de la preparación como ingeniero de software es refrescar nuestras habilidades para resolver preguntas sobre algoritmos y estructuras de datos. Si no usas árboles, grafos y similares con frecuencia, puede ser difícil animarte a abordar estos problemas.

A veces busco un ejercicio y leo su descripción. No parece muy difícil, pero hay demasiados casos límite, así que lo dejo para mañana. Mañana se convierte en la semana siguiente, luego en el mes siguiente, y así sucesivamente. Hace poco estaba cayendo en esa espiral, pero decidí cambiar mi enfoque y usar TDD. Empecé escribiendo una prueba. No resolví el ejercicio en ese momento, pero gané impulso y logré terminarlo ese mismo día, no la semana o el mes siguiente. ¿Y si no tienes ganas de escribir pruebas? Empieza con una, la más sencilla posible. Desde que descubrí la regla de los dos minutos de James Clear, intento aplicarla cada vez que siento que procrastino. Debemos facilitar al máximo el hábito para mantenerlo. Si queremos escribir pruebas, empecemos por una. La próxima vez, lo mismo, hasta consolidarlo.

Bien, pero ¿y si ni siquiera tienes ganas de escribir una sola prueba? Diseña tu entorno para que las pruebas sean la opción predeterminada. En mi caso uso Exercism, pero hay muchas plataformas que pueden ayudarnos. Proporcionan ejercicios con pruebas predefinidas y solo necesitamos implementar la solución para ponerlas en verde :).

¿Tienes otras técnicas para vencer la procrastinación al prepararte para tu próxima oportunidad laboral? ¿Qué aspectos de la preparación para una entrevista te resultan más difíciles?

Referencias