My Craftsman Swap with Bendyworks

Last week I flew from Sweden to Madison, WI to work for a week together with the developers at Bendyworks, or as they call themselves, Bendyworkers.

After the 23 hour flight I was met by Stephen who didn’t hesitate for a moment to welcome me to Madison in the middle of the night on a Sunday. Over the week I’ve learned that a great talent for hospitality is something that all the Bendyworkers have in common. Even though it was late Stephen gave me a quick tour around the beautiful Capitol building located right next to Bendywork’s office.

Capitol building

Bendyworkers perform their craft in a rustic triangle-shaped building built before the 1900’s. The office is located right downtown and is surrounded by a bursting number of cafés, restaurants, and even a theatre. Inside I found that the rooms are all very open and people are moving naturally between desks and programming pairs. During Bendywork’s monthly “release valve” meeting I learned that not even the owners Stephen, Brad, and Jim take a dedicated office for granted. To me this illustrates well how flat and transparent the company structure is at Bendyworks.

I had the opportunity to work on two different projects over the week. On Monday I worked together with Chris on a CMS for Internet Week New York. The project was wrapping up, since all the major features already were delivered we got some time to spend on refactoring a few acceptance tests and have them execute faster. Tuesday through Thursday I paired up with Josh on work for SEOmoz. Josh has some serious shell and terminal vim skills going on, while I’m more of a mvim user depending a bit more on Mac OS X to do window handling for me. The SEOmoz work spanned across three different Rails-based applications with a very heavy emphasis on client side JavaScript.


Bendyworkers all have a genuine passion for their craft. When they don’t attend meetups they’re working on numerous open source projects or catching up with their self-assigned book club related homework. Lunches are spent preparing for the book club or sharing knowledge through more organized presentations, like when Joe had a great walkthrough of his blogpost on giving yourself a security makeover.

With all that time spent on perfecting their craft you’d think Bendyworkers wouldn’t know how to have fun. Well, you’re wrong. Ping-pong games, comedy clubs, taco-tuesdays, arcade halls, great food and drinks just to name a few of the activities Bendyworkers have treated me to over the week.

With that, I’d like to thank Bendyworks for a week full of fun, productive, and educational experiences!


Steve Jobs on what's important in the development of a product

You know, one of the things that really hurt Apple was after I left John Sculley got a very serious disease. It’s the disease of thinking that a really great idea is 90% of the work. And if you just tell all these other people “here’s this great idea,” then of course they can go off and make it happen.

And the problem with that is that there’s just a tremendous amount of craftsmanship in between a great idea and a great product. And as you evolve that great idea, it changes and grows. It never comes out like it starts because you learn a lot more as you get into the subtleties of it. And you also find there are tremendous tradeoffs that you have to make. There are just certain things you can’t make electrons do. There are certain things you can’t make plastic do. Or glass do. Or factories do. Or robots do.

Designing a product is keeping five thousand things in your brain and fitting them all together in new and different ways to get what you want. And every day you discover something new that is a new problem or a new opportunity to fit these things together a little differently.

And it’s that process that is the magic.

— Steve Jobs, Triumph of the Nerds

Via 37signals and CNN Fortune Tech


Fourth Day of Craftsmanship Swap

Steve Kim picked me up today again with his car. Only Doug Bradbury was in when we came to the office. A couple of minutes later came Justin Martin and we started to work on the same project as yesterday. At 10 we had the usual stand up meeting with the customer over Skype. We went through what we did yesterday and talked about today's stories. I got to work on a couple of stories on my own — I'm very happy to work on a well tested app. I was only going to add two fields to a model. When I was running all the test, two tests failed in another part of the application. I would never have know about this new bug I introduced if the test hadn't been there to save me. Thank you!


During lunch Angelique Martin helped me check out of the hotel while Justin Martin and Colin Jones were buying some tasty hamburgers — with extra everything. Loved it. What I noticed was that their French fries is made of real potatoes. In Sweden we have this artificial stuff. That's kind of funny since we in Sweden think we are so healthy compared to Americans.



After today's work Micah Martin invited me to stay at his place for the rest of the week. They live in a lovely neighborhood. Micah and Angelique served a very pleasant dinner outside. Perfect weather and food. It felt like a top-notch swedish summer night, but then some mosquitoes came and started to harass us a little bit so we went in to watch a movie. And yes, we also have a lot of mosquitoes in Sweden. I almost forgot to write about their cute son Luca who really doesn't like to take a shower — it was a hard struggle before he finally washed his hair. What finally did the trick was that he could stay up a little longer. Thanks for a pleasant evening.



I heard about the Elabs guys telling Eric Smith that I don't like pizza. That's not true. I'm just too vain to eat pizza for lunch — thinking about my curves or (I hope) lack of... so tomorrow we are going to eat some real American pizza. Looking forward to that.


Third Day of Craftsmanship Swap

A heavy rain rattling on the windowpanes woke me up at 6 o'clock at day three of the craftsmanship swap. After a big breakfast, Steve Kim picked me up and drove me to the office.


Day three - Pairing in Ruby and Java

The day started with some pairing with Doug Bradbury. We did some debugging and fixed a platform specific bug in Mac OS and did some TDD programming in Java using JUnit. It has been about five years since I last wrote any Java code. It was fun, even though I have some difficulties to admit it. Doug Branbury, Steve Kim and I went for lunch to an excellent Thai restaurant, where I ordered Pad Thai. It was so much food that I had to take a doggy bag - my first ever. After lunch I was back on the same project as yesterday with Justin Martin. It's kind of a regular Rails project apart from that they are using JRuby, having their own gem bundler thing and using Prototype and JQuery at the same time. So maybe it's not that regular when I think more about it. I'm also liking AgileZen, the project management tool that we use in this project, more and more.

Evening - The A-team takes over

At the end of the day Justin Martin invited me to join him and Eric Meyer to go to the movies and watch The A-Team. I'm actually the only one of us that is old enough to have followed the TV series during the eighties. It was one of my favorite series during that period. The A-Team movie was fun but if you ask if I can recommend it, the answer is no. After an action comedy you always feel the need to dissolve the experience with a couple of beers before hitting the sack. Steve Kim also came and joined us at the beer place.

At the hotel - Key problems

Steve Kim drove me back to the hotel around 11 pm. For some reason, in the evening when I get back to the hotel the key to the door always stops working. When I finally got into my room, it was time to write this blog post about todays experience.

Good night!


Second day at 8th Light's Office — The Craftsmanship Swap

Last night Micah Martin helped me check in to the Hampton Inn & Suites hotel next to 8th Light's office.


Thunder all through the night

The moment I opened the door to the hotel room a big thunderstorm moved in over Libertyville. The lightning and thunder came closer and closer. But for me, it felt very cosy to hear the storm outside while I was inside in my king sized bed trying to sleep after a wonderful day.

Day 2

Day two at 8th Light started with a delicious breakfast at the hotel followed by a 500 hundred meter car drive to the office. Today I had fun pairing with Justin Martin on a regular Rails project that is using JRuby instead of MRI. I'm probably going to work on that project for the rest of the week. In this project they use an interesting project management tool: AgileZen, a nice competitor to Pivotal Tracker.

Food and Smelly Clothes

After an iChat stand up with the customer and pairing, it was time for Mexican food. Justin and I drove and bought tasty Burritos. After lunch and more pairing with Justin - food again. Li-Hsuan Lung and Steve Kim took me to a nice Korean restaurant. I liked it a lot apart from having smelly clothes afterwards.


See you tomorrow

Thank you 8th Light for this day and see you again tomorrow.