I recently wrote a blog post about the value of doing, basically just rolling up your sleeves and getting great at what you want to be great at by just persevering. It is also, apparently, fact that people who persevere make more money than people who are just intelligent but give up quickly; the CEO of google was pointing to the fact that our universities need to do a better job of building up grit in their students.
Perseverance, or grit, is arguably just as important as intelligence, if not more. However, how long should one persevere before burning out? Burning out as in hitting that point where they don't want to do anything anymore.
I strongly believe that persevering and burning out are two totally different things. Recently there have been a few blog posts on Hacker News that have gone viral, these posts discuss programmers going insane by burning themselves out. The body and the mind can only take so much. Here is one such post:
In the fitness world there is a concept of going all the way until you burn out, that sport is called cross-fit. Cross-fit is basically all about doing exercise until you burn out, until your body cannot take anymore. There have been countless reports of people injuring themselves, tearing ligaments, breaking bones, and in some extreme cases dying. Extreme programming is no different than this; it is basically pushing your mind until breaks down.
From a fitness perspective, I don’t believe that cross-fit is actually healthy. When you work out until you burn out, your body no longer stimulates muscle growth. In fact, it begins to consume muscle mass, essentially eating itself. Try running for hours at a time, you will find your body will initially burn lots of fat but after a certain point, you will lose muscle mass at a much higher rate.
The brain, I think, is no different.
However perseverance and grit is not about that.
Perseverance is about doing something continuously and not giving up, that doesn’t mean in one sitting. Grit is really about not giving up after failure.
For us to have grit and perseverance and leverage both and to great at something, we have to do that thing continuously, remembering that life is a marathon not a sprint. There is a threshold, your body and mind will get tired and it will give you signs, you should not cross that threshold as the value you are getting is significantly decreased. Our software will have bugs if we develop tired, side effects and unintended consequences will undoubtedly enter the process. Similarly with working out a 45 minute to 1 hour session in a day is all that is required not going to exhaustion.
We do that 45 minutes a day workout for years and you see your health improve; Similarly you write code for an appropriate amount of time and you will see that skill improve as well.
Burning out will not bring the results you want faster, only continuously doing in a healthy way will bring real long lasting results.