My Craftsman Exchange in Sweden

Article summary

At Atomic Object, we have a history of establishing craftsman exchanges with a Swedish company, Citerus. This relationship dates back to before either AO or Citerus were founded: when Carl was a professor at Uppsala in Sweden.

The purpose is fairly straightforward: one employee is sent over the Atlantic to the other company and spends a week immersed in the other’s culture and business. Through sharing our knowledge, experience, and perspectives, we both benefit.

Very recently, I was the most recent participant in this program. While I was in Sweden, my time was roughly divided into three parts:

Part 1

I learned that Citerus normally integrates directly into their clients organizations. In particular, they look for clients who are not only in need of quality developers to help them meet their business goals, but also who can benefit from their expertise on the process of delivering quality software.

I spent (almost) my whole week with a particular client of Citerus. A few employees of Citerus have been integrated into different areas of this client’s organization, spanning at least a few distinct development teams.

For my first two days, I spent time working on a team that developed some of the internals of the system that powers their entire business. This team uses Erlang, and it was an awesome opportunity to see how this relatively functional and robust language could be leveraged at a large scale. The social scale was also new for me, as there were many distinct teams that each maintained their own special domains of expertise and ownership of the code. I enjoyed observing how the teams had grown relationships with each other for sharing and communicating their knowledge. Having such a large number of developers presents some unique and interesting problems.

This was also a great chance to see how a company that had established themselves around a core technology service functions and organizes itself. It happens to be that, internally, this client’s teams are self-organized, and I found this to be a wonderful opportunity to learn about this concept in practice.

Part 2

I spent my next two days working at another team in this organization. This time, I worked with a team that was working on a web app that was used by other internal employees to help manage their customers. As it happened, this team was looking away from their traditional Rails application and toward how they could proceed in the future with a single-page application structure.

I felt happy to be able to provide some useful information here, given that I have some significant experience with Ember.js.

During this time, I also took appreciation for some of the infrastructure that had been built up for monitoring their software in production.

Part 3

The final day of my exchange was participating in Citerus Day. For this, Citerus recalls all of their employees back to their main office. The focus is on internal learning and planning for the future.

I attended a few interesting presentations during the day, from a broad range that spanned technology and business. Afterward, there was dinner and socializing. It reminded me of a mix of AO’s SpinDown and Atomic Con events, rolled together into one day.


While I was in Sweden, I met and worked with some excellent people. Through working together and making friendships, I gained a lot of fresh perspectives on various aspects of both business and software. It was also an incredible life experience to be so immersed in another culture, and broaden my understanding of the world. I’m really thankful for Atomic Object and Citerus to recognize this value and have made it possible.