Surviving the Coderetreat Hangover
Despite it's name, Coderetreat is intense.
You spend the day focused on a single problem (often a single aspect of the problem) for 8 full hours to the exclusion of everything else. You code with many different people throughout the day. On top of all that, you're asked to perform various contorted exercises in order to learn how to write better code. Your assumptions are challenged. Your prior beliefs about code put in question. You learn new techniques and technologies.
Look at the intensity in the faces of the two Coderetreaters below:
Coderetreat is intense.
So it's no surprise that on the day after Coderetreat, you feel as though someone has kicked you in the head. Activities you would normally do in the blink of an eye are challenging and exhausting. It is almost as if a deep fog has settled in your brain and the normal firing of your neurons are disrupted. Even 2+2 is hard on the Sunday afterwards. Sometimes I find I'm also physically sore (but that may be because I spend the day standing when I facilitate).
I like to call this condition the "Coderetreat Hangover".
- Don't drive, operate heavy machinery, or make life-changing decisions- Your currently operating at a much lower mental capacity than normal. It's not entirely different from how you feel after taking a heavy pain killer or some other drug which affects your thinking. Don't put yourself or others in danger and avoid activities which require clear thinking.
Don't believe me? After my first Coderetreat, I absolutely smashed the side mirror of my car trying to pull out of the garage. Since then, my wife won't let me near the keys after a Coderetreat. Don't say I didn't warn you.
- Take several naps and go to bed early - We still don't fully understand how the brain and sleep work, but we do know that sleep is an important component to learning. Taking a nap or two and getting to bed early on Sunday will help restore your energy and will let your brain sort out all the new information it gathered during the Coderetreat.
- Drink lots of water - A Coderetreat hangover isn't really a hangover in the sense that you're not dehydrated, however, drinking lots of water will still help you recover. The better hydrated you are, the better the brain works. 77-78% of your brain is composed of water (see this fact sheet, search for "water") and when the brain doesn't get enough, it doesn't work as well as it should.
- Engage in aerobic exercise - Nothing can increase your capacity for thinking better than a good run, a rousing game of racquetball, or a few laps in the pool. The increased flow of blood during exercise will bring more oxygen to your brain. I've solved many hard problems while running on the track at the YCMA. It's also fun to do something physical after spending a hard day wrestling with code.
- Write down what you learned yesterday - Not everything you learned at the Coderetreat is going to find a permanent home in your head. To make sure you don't loose any valuable information, write down what you learned as soon as possible. Do this however you can. You don't have to blog about the Coderetreat (although we would love it if you did). Simply writing some thoughts down on a scrap piece of paper or a sticky note will go a long way to capturing and organizing your ideas.
- Schedule your next Coderetreat - If you ask any serious athlete, they'll tell you the best way to avoid a sore body is to exercise regularly. The athlete who runs five miles every day is a lot less sore after each run than the person who runs five miles once a month or once a year. The same is true with practicing to write code (and Coderetreat in particular). The more often you practice writing code, the less severe your hangover will be afterwards. You can find a list of upcomming Coderetreats on the Events section of coderetreat.org. Not enough Coderetreats in your area? Volunteer to help organize the next one.
What do you think? Have you experienced the Coderetreat Hangover? Do you have your own tips and techniques for getting back to your thoughtful self? If so, we'd like to hear from you! Feel free to post your thoughts as comments or continue the conversation on the forums.