Friday, March 22, 2013

My 3 cents on 33rd Degree 2013 Conference

Last week I attended, for the third time, the 33rd Degree Conference. This time I had an opportunity to give a talk by myself, so I was able to take another look at the event. I met some old friends and some new people too. I listened to inspiring talks and to couple of boring too. We also had some great talk till the late night at the first day. This was a good event. I only lack some party, like the one, that for example, usually during Java Developers Day takes place.


As the year ago, I decided to give some subjective marks for each presentation. And by subjective I mean, that notes were taken only be me, according to my perception, my knowledge and my sense only. There was nothing personal in them, so please treat them appropriately. :)


The first day

The very first talk was given by Sven Peters from Atlassian. He started with many truisms (money do not motivate, etc.) and I was afraid, that he will continue in that manner. Fortunately, he depicted seven ideas how to improve software teams and even rated them in scale of feasibility and awesomeness. After all I decided to start with the middle mark: 3/5.

The next talk was from Dan North and I was very eager to see him in action. Dan gave very interesting presentation about... "It depends" :). He was showing some possibilities and their alternatives - like for example - when to use TDD, or when not to, or design monolith application, or component-based. He was very clear about circumstances when use particular concepts that he mentioned. His main point was "get more options", which I fully support. That is why I decided to give it the best mark: 5/5.

The third talk that day was given by Ted Neward and he was talking about iconoclasm. He gave some examples when people were losing with machines and then stated that most of our jobs will be replaced by computers. That is why we need to look from different perspectives - be the man with an idea. From my point of view, Ted was repeating himself and his talk was extended a little bit, so some people came out ahead of time for lunch. The one cool thing from his talk was that each and every software architecture can be depicted as a box next to another box and next to cylinder, and whenever somebody introduces another box, or cylinder, it messes up with people's minds. That is exactly what I can see, when I talk about CQRS for instance. Anyway, there were some good and some bad things in that talk, so I decided to give it 3/5.

And then was the lunch... The food was really tasty, but for heaven's sake - why this band started to sing so loudly? I couldn't hear my friend, who was sitting right next to me... And they tried to make us clap during the meal... And they didn't want to stop when there was absolutely no response. I appreciate the idea of music during the lunch, but next time, please choose the repertoire and volume more carefully...

After the lunch, the schedule was separated into six tracks. I chose to see Steffen Krause's talk about Amazon Web Services (AWS). At the beginning he started with some resources charts. He also tried to give us the impression, that almost each great company uses AWS, by showing a lot of logos and spending too much time on them, in my opinion. It could work well on managers, but I didn't take it. The second part was more interesting and Steffen showed some AWS availabilities, like scaling, replicating against many datacenters, Elastic Beanstalk, or Elastic Black Store. After all I decided to give it the mark 3/5.

The next talk, I attended, was again from Dan North and this one was about patterns of effective delivery. The very first thing, that Dan outlined was that patterns work only in a context. Then he presented (among others) such patterns as "light saber", which is about building something known from scratch, or "burning ships", which is about creating deadlines artificially. He also said that learning is the best when it is needs-driven. I really enjoyed his talk, but it was less inspiring than previous one, so my mark was 4/5.

After short break I decided to see Sławek Sobótka's talk about tests. As always, Sławek prepared great presentation, which was very carefully structured and he touched many topics, like software patterns, Domain-Driven Design and architecture. I had a feeling, that sometimes there was too many topics mentioned and some people were left behind. On the other hand, it allowed to look from different angle at testing - in more holistic way. The most important thing that I took from this talk, was that tests structure should be in correlation to system architecture. In the end it was 4/5.

This was the last presentation in regular time - there was also one timeslot reserved for BOF (buffer overflow) talks. I was hoping to attend one of the presentations, but then the beer arrived and I started to talk with some of my friends. And so we talked and talked and we finished at 2am at night... Great evening. :)

The second day

The very first talk I chose was again about delivery. Baruch Sadogursky was talking about developing for multi component environment. At the begining he started with some frameworks and then he moved to talk about configuration and integration management, which can be run by Chef. Then on a higher level there can be used Vagrant, which uses Oracle's Virtual Box, and then on an even higher level there should be some Continues Integration tool, like Jenkins to run all of it. He stated that environment should be stored in source control system. Since, for me, it was really low level topic, I decided to start that day with 3/5.

The second talk I attended was again from Sławek Sobótka. This time he was talking about modelling techniques taken from Domain-Driven Design. I always can learn something new from Sławek, so despite I know something about DDD, I decided to listen to him, and I wasn't disappointed. Sławek showed some tools for finding the useful model. The most important thing for me was that if a single domain expert knows pretty much everyting, then this might be a smell. I learned something useful, so mark couldn't be different than 5/5.

The third talk was very boring and I had to leave it. I decided to go on the side and polish my talk.

Then, after lunch (without the band) there was Venkat Subramaniam's talk about lambdas in Java 8. I have heard some time ago a funny sentence that lambdas got so popular thanks to Java, because this is the only modern language, that doesn't support them. And this is sadly true. In Java 8 this will change. There are java.util.function.* and java.util.stream.* packages that will introduce lambdas and utils for them. Venkat was showing basics of them by writing the imperative code at the begining and then in a very nice way, step by step, was changing it into functional. I really enjoyed his presentation, but the topic wasn't conceptually new for me, so I decided to give it 4/5.

The next talk was from Oliver Gierke from Spring and he was talking about Spring Data. I knew already about the project, and I used it succesfully. I even coined the term "Convention over implementation" some time ago. I just wanted to see what other cool stuff is in the project. Oliver showed basics of repositories with some running code, but unfortunately I knew about most of it. The only new thing was the Eclipse's plugin, which allows for easier interfaces declaration and validation using Spring Data. In the end I had to give the mark 3/5.

After short break I attended Henrik Engström's Akka presentation. I was interested in the topic, because Akka's actors model can be used as a tool for modeling Domain-Driven Design's Aggregates. An actor encapsulates state, behavior and message queue, so it should fit quite well. Unfortunately I attended Henrik's talk during the last ScalaCamp in Kraków, so I saw this presentation from Scala point of view. I wanted to see differences between Scala's and Java's Akka implementation. There are not so many, so it was basically the same presentation. That is why I decided to give it 3/5.

The next talk was from Katrin Hippler and the abstract looked quite interesting. It was about freelancing and entrepreneurship in general. The topic was cool, but unfortunately the talk was just a sponsored speech, and it was not very illuminating nor entertaining. I decided to give it a mark 2/5.

The last talk that day was given by me, and it was about DDD/CQRS/ES in practice with Axon Framework. For the first time I saw so many people that heard about Domain-Driven Design, Command Query Responsibility Segregation and Event Sourcing in one room. That was pretty amazing. Thanks for everybody who came, listened and gave me some feedback (positive and negative, both). Because of that I will be able to polish my talk and my skills. Thanks again. :)

In the evening I was invited to the speakers dinner. I enjoyed it, but I am a little affraid about Java future, since I heard when some of our Java trendsetters started to rhapsodize about Powermock... ;)

The third day

The third day started with Michał Bartyzel's talk about X-Driven Design and Y-Driven Development and why those "mental frameworks" won't change anything. I must admit, that I was sharpening my claws for this talk, since the abstract clearly shown that the presentation is going to abolish, among others, DDD (actually in the abstract that was on the first place). I listened carefully to Michał during presentation, and I must admit - he was right in stating, that we must concentrate on solving business problems and we must develop ourselves to gain necessary experience. Big plus for that. Really. But... there was other side of the coin - Michał was talking a lot about things, that in my opinion, he didn't understand, or at least understood only partially. This is a common issue with DDD - you get the Building Blocks part and then you think you get the whole DDD concept. Bam! You forget about bigger picute, and Strategic Design for instance. Don't get me wrong - there is no problem with that - this is a normal part of learning DDD, but... that is ok until you start to criticize it in public. The funny thing was that, what Michał was proposing as opposite to DDD, was in similar way described by Eric Evans in his book - but again, as they say - The Blue Book needs to be read at least three times to get it right. ;) I don't blame Michał, there were a lot of clever thoughts in his talk which I applaud, but you cannot speak in public without understanding what you are criticizing - that is because people will listen to you and follow those wrong paths. I would like to give a higher note, but I can't, so here it goes: 1/5.

After that I chose to listen to Oliver Gierke again and this time he was talking about architecture and why it decays after some time. The main thing that he stated was, that we are slicing our architecture always into 3 horizontal layers, which is purely technical approach. Instead we should try to slice it into vertical slices, which should respond to business concepts, and then slice each of them separately into 3 horizontal technical layers. This is similar to what DDD is about, so I really enjoyed the talk. I decided to give the talk a mark of 5/5.

That was the end of the multi-track part of the conference. The two following presentations were given for all attendees. The first was from Venkat Subramaniam and he was talking about rises and falls of empires. He was talking about some historical facts, and he was showing the analogies to software industry. He stated that right now we have a renaissance of programming languages. He was talking about big changes in history and big changes in software development world. His talk was really inspiring and two main statements were to be remembered. The first one was directed to young developers: learn where you came from, and the second one was directed to experienced developers: check to see if we haven't turned into resisters already. I really ejoyed this talk, and in my opinion it should be the last talk of the conference. Totally 5/5.

Unfortunately it wasn't... The last talk was from Hadi Hariri, and his talk was titled Developers: the Prima Donna's of the 21st century. I have never heard Hadi before, but I think I will not be eager to see him again. Sorry. His talk was just boring. He talked about too many things, that were loosely coupled. He stated many times that we, as developers, are loosing focus. Well... I think, that Hadi lost his focus at the very begining of his talk. And in the end - how many times we can analyze bit by bit The Agile Manifesto? Come on... The closing talk of the 33rd Degree conference got mark 1/5.

Summary

The average mark of presentations was 3,37/5, so lower than the last year. The good part was that there were many people, which I talked to, between presentations and in the evenings. It was a real pleasure to meet all of you. :)

The venue was much bigger, and there were more space for socializing. I also should mention the food, which was delicious. Whole organization of the event was perfect and there were no problems with anything, so I want to thank organizers for their work. Thank you. 

We should meet next year.

2 comments:

  1. Ouch:) Thanks for the constructive feedback.

    ReplyDelete
    Replies
    1. :)

      No problem - remember, that there were two sides of the coin - I did like majority of your talk. ;)

      Delete