|Gearing up for getting down.|
I was exhausted after submitting Clojurians as my entry for the 2013 Clojure Cup. I figured that people who say "I could write that in a weekend" were full of crap, but now I know it for sure. Keeping up the energy level and sustained focus over a weekend of hard-core coding is tough stuff, even for a simple site like mine. There are so many little things that go into building even the simplest functional web app. Despite some sore eyes, it was a fantastic experience.
Here are my thoughts on doing a 48 hour programming competition:
BreaksThe importance of breaks cannot be overstated. Taking periodic breaks, moving around, and drinking fluids is a must. When I say break, I mean away from the computer. It is very easy to check the clock and realize you've spent the last 2 hours staring at the monitor typing away. It happened to me a couple of times. A timer might not have been a bad idea. Not taking breaks away from the computer made seemingly simple problems that cropped up harder to deal with, especially as it got later into the evenings.
SupportIf you have a family, having a supportive one is a must. I was an MIA husband and father for much of this weekend, although we went out on Saturday afternoon to eat some St. Louis pizza (I don't care what Jimmy Kimmel thinks). I'm lucky to have a family that allowed me to hole-up in the kitchen and let me work peacefully. They were great and I owe them something fun.
ComraderieEngaging with the folks in the #clojurecup irc channel was worth it, especially for a team of one. I liked seeing how helpful everyone was towards one another. It was also fun watching the live feed on the Clojure Cup page. Seeing other Clojurian's setups was cool--people from all over the world were tweeting pics.
48 hours is not a lot of timeAlthough I prepared on paper quite a bit for the competition, I had to cut features as time started running out. Time went from adequate to scarce very quickly. In this competition you had to set up a VPS from scratch in addition to writing your web app. I'm lucky that my setup and install went smoothly.
Knowing the toolsI put off learning some tools (particularly ClojureScript and Pedestal) because I didn't think there would be enough time to learn them beforehand and be useful in them when it mattered. Not being 100% comfortable with Clojure and some of the libraries I used cost me some time, so this was a good choice. I struggled with a few things that would not have been a problem for experienced Clojure programmers. Having said that, I learned a lot in a very compressed amount of time.
Tero ParviainenI want to give a huge thanks to Tero Parviainen and the Clojure Cup organizers. Tero put a great face on the competition and was quick to help out anyone with questions or problems. The amount of work required to pull something like this off must be huge. He handled it admirably.
All in all, I had a blast and I'm proud to have been a part of Clojure Cup 2013. What a rewarding experience. Good luck to everyone who finished! See you next year?
If you're a Clojure developer, go check out my app Clojurians and register yourself! If you find it useful, vote for me when voting opens on Tuesday!
Update: Clojurians now has a permanent home at http://clojurians.org. The source is available at GitHub.