Since Corey and I became friends we enjoyed solving problems, and saw the web as the greatest medium to do so. The problem was we worked full time and didn’t get to tackle a lot of the solutions that we talked about. A few years ago we decided to start our own development company. We had one simple rule, only work on projects we believe in. This is a lot easier said then done. We had to turn down offer after offer, because we weren’t passionate about them. However, we were fortunate enough to work on some really cool projects, and get the company going. One day we started working on beyond the whiteboard, because we got insanely passionate about CrossFit. I’m not going to go into the story of how beyond the whiteboard got started, but if you would like to read about it check out the about us page from beyondthewhiteboard.com.
Over the years we have noticed how CrossFit started to effect our work style. The more we CrossFit, the better code we write. Weird huh? Well, a lot has to with us being passionate about our project. I spend most of my day either working on the site or discussing/arguing about features with the rest of our team. However, something else has happened; CrossFit changed our mentality.
1. We take it a day(WOD) at a time. We don’t think too much into the future or worry about the past. We get together and try to do as much as we can that day. Our WOD programming is “Update the user profile for time”.
2. We measure our performance, and make the results open to the rest of the team. From to-do list to milestone completions. We don’t micro manage each other. Everyone knows what to do and they get it done.
3. We are comfortable with being uncomfortable(I think this is a paraphrase of something Speil said). When we run into bugs in our code we don’t go crazy and just give up. We take a small breather, and get back at it.
4. We perfect our form. Yes, form. There are good programming practices, but to us it’s “form”. When one of us writes sloppy code they are called out for it. The idea is to create features in the shortest amount of time, but not sacrifice form. Why? In CrossFit bad form on a lift well eventually catch up with you when the load/weight is heavy enough. In programming, bad form will eventually catch up with you when you have to update some of your code. In both cases, as the “load” gets heavier bad form shows, and hurts you, more.
5. We never settle for good enough. Like CrossFit, our work is a lifestyle choice. Our intention isn’t to build a site and let it sit there. We actively try to make it better day by day. Just as you don’t see yourself giving up CrossFit, we can’t see ourselves giving up working on the site. It’s something we love doing, something that makes our life better.
6. It’s okay to throw up sometimes. Somedays you are going to suck. I mean suck. You will sandbag a workout and be mad at yourself. What do you do? Brush it off and make it up tomorrow.
Personally, I think the CrossFit mentality should be used in different aspects of your life, from fitness to programming(code). The question is, do you go into work and tell yourself you are going to set a PR that day? If you don’t, it may be time to question why.