Reading time: 7 minutes
One of the essential parts of our continuos learning process is to go to software conferences from time to time. The choices are quite scarce in this part of the world so we were extremely pleased to hear about CraftConf 2014 Budapest.Actually it was a wondering tweet, retweeted many times, before we finally saw it. However, opening the attached link was a big surprise. As we browsed the list of speakers a strange feeling started to settle in. Half of the famous writers from the mini-library we have at work would be there: Gerard Meszaros, Dan North, Eric Evens, Nat Pryce and Michael Feathers to mention only a few of them. So the Syneto dev team decided to go. Unfortunately not all of us could attend, but at least four musketeers were there.
Day ZeroAs CraftConf’s date approached more and more news appeared. The panel was brilliant and the talks were promising. A few days before the event we were announced that meetup events will be held throughout the city, that is Budapest, and we are all invited to participate for free. Each meetup was oriented toward a specific technological topic and that is how I ended up at Bruce Eckel’s talk about “Reinventing Business”. As I was enjoying his talk, it struck me how unpredictable the future is. I started reading Clayton Christensen’s “The Innovator’s Dilemma” a couple or so months ago and it redefined my view on businesses, their evolution and lifecycles. It also offered me sufficient knowledge to ask Bruce Eckel some really interesting business questions and to chat with him for a few minutes after the meetup. So, no matter what you read, there will be a time to talk with others about your experience, knowledge, and dilemmas.
Day OneThere is no impression like the first one. Ours was “This is huge!”. As soon as we arrived to the Balna, the venue for the conference, we realized that there are a lot of attendees. And based on the official numbers by the organizers, we were more than 900. I never saw so many programmers in one place in my life. The morning atmosphere was pretty sleepy, but all 900 of us were fed with breakfast and brought back to the ground by delicious and strong espresso coffee. But coffee is never enough to wake up 900 software developers. We needed an inspiring talk, in an inspiring environment. There was a few minutes welcome speech in the main room, followed by the conference’s first key note presented by Bodil Stokke: “Programming, Only Better”. And she also had too little coffee for the morning. The speech started in a sleepy manner, her having a bored and hoarse voice. Fortunately as the slides went on she started to worm up and when we reached this slide, we woke up instantaneously. This just made my day. The image also illustrates the sheer size of the room and the displays. The centre one was about 10 meters in diagonal and the image was projected by a beamer of impressive sizes. The two “smaller” screens ware also quite big, and it was impossible for me to fit in the picture the other two displays on which the live twitter feed for #CraftConf was continuously scrolling. The technology was impressive. And not only the high definition images but also the WiFi facilities. Even though sometimes their DNS server failed to assign an IP address, or the leases expired too quickly and reconnect was necessary, they still managed to accommodate more than 900 programmers that probably means more than 2000 devices. The WiFi coverage was good over the whole surface of the venue, regardless of your distance from the presentation rooms or the level you were on. And when you had a connection it worked pretty well. A Skype call or a VoIP call to a land-line worked reasonable well. Even updating some apps on my Android went on seamlessly.
“Mastery is capability in a context” said Dan North in his talk (top left image). It was one of the most inspiring and interesting presentations. P = p – i. I really liked how passionate he was about the whole concept and how well he was able to transmit that feeling to us. Well, Dan North may have had the most inspiring speech of the day, but the guy from Facebook (top right picture) had the most intriguing title: “Lessons from Facebook’s PHP Codebase”. I was expecting to find out quite a lot about cool PHP tricks, about how did they overcome some of the limitations of the language, how did they deal with concurrency, high load, and difficult architectures. Instead we were presented to the Hack programming language and the HipHop virtual machine. At the end we were left with the sad feeling that Facebook just reinvented PHP and wrote their own programming language instead of dealing with its problems. A very disappointing talk. At least Eric Evens raised the bar a little bit with his “Acknowledging CAP at the Root – in the Domain Model” (bottom left image). While I personally enjoyed the talk, the majority of the audience was lost after a few minutes. It was a pretty good talk, but you must have had some DDD knowledge to understand it. The last talk of the first day that I consider deserves to be mentioned is Testing the Hard Stuff and Staying Sane by John Hughes. I don’t particularly like or appreciate talks about tools or frameworks, but his testing framework looks very interesting. The premise is to generate somewhat random testing scenarios that can exercise a wide variety of paths through your application. A large enough number such tests will eventually test even the most unlikely scenarios and in time discover hidden and hard to understand or reproduce bugs. While I admire the premise of this tool, I am skeptical about its usefulness. But hey, QuickCheck is for free so we can test it and decide for ourselves.
Day TwoAfter such an interesting first day of conference, what could there be in the early morning to rise our interest? “Fucking Queues!” … or in other words a bonus talk by Theo Schlossnagle about architectures based on message queues, about what problems they had and how did they overcome them. It was a very inspiring and also pretty technical talk. Just perfect for second day wake-up. Following him was Gerard Meszaros. Yes, the writer of xUnit Test Patterns. This was probably the highlight of the whole conference. He rarely participates at conferences so meeting him in person was a great opportunity to learn more about testing. After his talk and at the end of the conference I had the chance to speak with him a little bit. This discussion resulted in a dinner, with all my colleagues, him and Eric Evens at a great restaurant in Budapest. I found Gerard a very open and humble person, always ready to help and interact with people interested in testing and software development in general. Making the most out of this opportunity, Syneto invited Gerard Meszaros to Timisoara so he could assist us for a couple of days with our project and to hold a speech for the local community. We will write about this in more detail in an upcoming blog post.
The rest of the day had a lot of various talks of which there were two that stood out. I was actually expecting “Building on SOLID Foundation” by Nat Pryce and Steve Freeman. I had a video of the talk bookmarked for months but I never got to see it, so I was thrilled to watch it live. Unfortunately the talk itself was quite disappointing. At least for me. I expected something totally different base on the title. It was still nice to see the legends who wrote Goos in person. On the other hand, the talk about continuos delivery by Simon Hildrew from The Guardian, entitled “Delivering Continuous Delivery Continuously” was much more than I expected. It presented continuous delivery tools and a live demo that deployed an update to The Guardian’s website in real time. Even though this type of systems are not particularly usable in many types of applications, for web delivered, online apps, it is a great infrastructure. While the article above represents my personal impressions, below are some quotes from my colleagues about CraftConf. Good job! for the organizers, it was a pleasure to attend.
One of the great benefits of going to a conference like this is that you get the chance to meet in person some of your mentors, people who in some way shaped your career. This way you get the change to validate your ideas, share your thoughts and experiences. CraftConf had all the ingredients of an unforgettable experience.
It was a great group therapy at CraftConf. Oh, and the ponies and unicorns. I also learned how to make (my) life difficult and the user’s life easier (UX).
Great people and a lot of talks that I to need to reflect on in the future. A programmers therapy that each programmer should attend.