JDD is a conference for Java Developers organized by the PROIDEA foundation. We supported the event by providing our voting machines which also meant that we took part in the conference. Here's what we think.
Jacek: It gets better at the end
While the conference itself was perfectly organized, I was a bit disappointed with the quality of the talks. And I had this feeling since the very beginning - the Akamai's keynote. What I expect from a keynote is either an in-depth technical talk or a thought-provoking, not-entirely-technical thing. But the JDD's keynote fit into neither of those - it was an overview of big data processing plus some details on how they do it at Akamai.
Tomek Łabuz gave an overview of concurrency support in Java SE and EE. The talk was not bad, but I expected to hear more about some sophisticated concurrency use cases withless XML descriptors on the slides.
"The Real Life Lambdas" was a nice summary of what to keep in mind when migrating to Java 8's streams and lambdas. But again, this was nothing new for someone who uses lambdas on a daily basis - I didn't learn anything new.
What I liked in the DDD talk by Piotr Wyczesany were the various approaches to adding DDD to an existing legacy codebase without changing it. As with all the DDD talks I've heard so far, here I also had an impression that DDD is presented as kind of a religion, telling you that all you have done before is wrong and here's the silver bullet.
What I heard in the two subsequent REST talks by Łukasz Wierzbicki and Jakub Kubryński matched our experience from a year with vBroker so it was nice to know that we didn't do it all-wrong :)
At the beginning of the second day came the second big disappointment - "Scala, approachable functional programming". I expected to polish my basic Scala skills there, but unfortunately the speaker lost the battle with his emacs environment and was therefore not able to cover all the promised topics.
And then came the good stuff! During the "Working with logs" talk by Krzysztof Otrębski I learned about an open-source log analyzing tool which he has been developing for 5 years now. The tool seems like it can be really useful in my daily job, so we definitely need to give it a try.
The Docker talk by Dominik Dorn was definitely the best one during the conference in my opinion. It was a well prepared introduction to Docker with basically the only live coding which actually did work. Kudos!
I also liked the continuous delivery talk by Szczepan Faber. The main takeway was the hint to distinguish the failing tests between those that fail due to bugs in the code and those that fail randomly, not because of the code, but e.g. because of a full moon. The latter could be retried during the test run in order not to break the build - we immediately started to implement this concept in our project.
Magda: a few gems in the greener grass
My general feelings about the conference were very good - I met passionate people, listened to some inspiring talks and spent two days surrounded by this unique atmosphere of learning and sharing knowledge. However, when I got home and opened my notes to see the points I wanted to follow up on, there weren't as many as I expected.
That may be my poor choice of talks (the grass is always greener in the other conference room), maybe I chose too many soft/craftsmanship lectures versus the technical ones, but sometimes I had the impression that I hear things that I already know, wrapped up nicely in a witty presentation.
However, there were definitely some good talks, and here are some that Jacek didn't mention:
Jarek Pałka talked passionately about the kinds of code you should never, ever, accept. If you have kids, you should face the fact that one day they will end up in this business and they will have to refactor the code that you wrote today - so for their sake, you cannot accept compromise. One simple rule to take away - the higher the layer in the system, the less complex the code should be. Not the other way round, where the UI has the most contrived logic!
Conversation patterns by Michał Bartyzel - a nice soft talk about the thing at which we software engineers so often fail spectacularly - talking to the business people or, as Michał puts it, "Geek meets man". A lot of advice on how to do it better, presented in a geek-friendly way, no beating around the bush (examples, graphs, ready-to-use algorithms for driving the conversation). The most important rule here - don't jump head first into estimations. Get the client to tell you their real need, and then you tell them how to achieve it. After all - you're the Expert. More on the topic.
Another useful talk was "JEE-ish development without hassle" by Jakub Marchwicki. He proved that even if you work at a corporate environment with the tried-and-true JEE stack, you should try to write some pieces of your system using smaller, lighter tools that do the job just as well. He showed some nice and quick examples of different combinations of a couple of more- or less-known smart tools like Jetty, RESTeasy, Sql2o, jOOQ and others. They're not only faster, they also do less "magic", so at the end of the day you get to know your core toolkit (HTTP, SQL, Java) better.
One final thought I have - it's a pity that most of the talks were in Polish. I think having them in English would spark up more interesting discussions in a wider group, including the non-Polish speakers and attendees.
Mirek: Kudos for the organizers
Being the only non-programmer from the SoftwareMill team, I took my time to take a look at the very organization and attractions at the conference. PROIDEA did a grand job, as usual, using Krakow's Galaxy Hotel as the venue and adding something extra so it didn't feel very formal.
The schedule was tight, the afterparty was well-placed (bowling +1) and they didn't go over the roof with goofiness as was the case with June's Bitspiration :)