Si estuviera mental y físicamente cansado, ¿se esforzaría por codificar o tomaría un descanso por algunos días?

Depende de lo que se necesite hacer.

He estado en situaciones en las que hay una fecha límite dura en 6 horas, me quedan 5 horas de código para escribir, 30 minutos de pruebas para ejecutar, 15 minutos para realizar mi trabajo y no he dormido en 30 horas. En ese momento, es hora de tomar un poco de café e ir. No es una sensación agradable, y no es saludable, así que trato de evitarlo siempre que sea posible. Sin embargo, hay ocasiones en las que simplemente no puedes sortear una fecha límite.

Del mismo modo, he estado en situaciones en las que he realizado esas 36 horas al día demasiadas veces, no se avecinan fechas límite y me siento confiado en mi trabajo hasta ahora. En ese momento, debe reconocer que su cuerpo y su cerebro no pueden funcionar si no les da algo de tiempo. Tómate un día (o dos) para ti si puedes. Recupérese del sueño, coma bien, vea amigos y no piense en el trabajo si puede evitarlo.

Ambas estrategias me han salvado el cuello en diferentes situaciones. Una es mucho más sostenible que la otra (te dejaré adivinar cuál). Buena suerte, y feliz codificación!

Descanso. La probabilidad de errores aumenta dramáticamente si estás agotado.

He estado programando durante décadas, y he descubierto que mi trabajo mejor y más rápido ocurre cuando trabajo en un proyecto el tiempo suficiente para entender lo que hay que hacer, luego tomarme un tiempo y dormir bien por la noche. Cuando estoy descansado y mi cerebro ha tenido tiempo para procesar el problema, la solución (y el código) simplemente fluyen. Un riesgo al hacer esto (lo que ha sucedido muchas veces) es que me despierto a las 3:00 AM con una solución completa en mi cabeza. Me levanto y grabo lo suficiente para no olvidarlo.