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
The first day
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.
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.
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...
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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. :)
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
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.
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.
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.
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.
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. :)
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.