The second part of Devoxx consists of 3 Conference Days. The talks during the Conference Days are shorter then those of the University Days. Also during the Conference Days “Quickies” are organised in between sessions; Quickies are even shorter talks (15 mins) on a very specific subject.
Day 1: Methodology and Lambda expressions
- It's flowtime: discussed the problem with productivity when interrupted ..
- Feed your brain: visit conferences, take part in coding sessions, organize brown bags, ... I would like to add: become an active participant of a JUG.
- Say: well done: on the importance of (public) appreciation.
- Report robot: measure everything and make sure reports are generated automatically.
- Eat your own dog food: Use the software you have built, before shipping it to the customer.
- Do a special day: 1 day to do less pleasant things, such as documentation.
- Experimentation days: At Atlassian they experiment during ShipIt Day, 20% time and innovation week.
int sum = blocks.filter(b -> b.getColor() == BLUE) .map(b -> b.getWeight()) .sum();
Day 2: Testing and anti-patterns
Day 2 started with a Google Keynote, where they illustrated their current “hot” technologies: Maps, Android, Authentication and Chrome. Google presented some impressive demos (eg. live webcam editing in HTML5) and illustrated they really are on top of the game. After the keynote, I opted for the talk on Unitils For Enterprise Applications by Smalls. I had used Unitils before in different projects, so I didn’t really learn a lot of new things. I did like their explanation of the module system (eg. WebDriver module, Database module, Mail module, ..) and they also provided some explanation on the difference between unit, integration and system tests.
After Unitils, I attended a brilliant talk on Modern Software Development Anti-Patterns by Martijn Verbrug (‘the Diabolical Developer’) and Ben Evans. In the ironical style so typical for Martijn, they actually had a very good point to make: think carefully about the choices you make regarding:
- technology: don't follow all the hypes.
- methodology: find one that works for your specific use case.
- architecture: design what you need, but don't "over-design".
Martijn did a somewhat similar talk last year at Devoxx that is also worth checking out on Parleys.
Other talks I attended were: JSR353: Java API for JSON and Android Developers’ Tools. I was impressed with the evolution of the ADT. It has been a couple of years since I last did Android Development, but the talk made me want to get started again.
Day 3: Java FX and Java EE
Day 3 started with Annotation Features in JDK8 by Joel Borggren-franck. The biggest addition was JSR308: Type Annotations. The examples were concise and clear. After this talk on language changes, I moved on the Building Amazing Applications with Java FX by Richard Bair and Jasper Potts. Using a scheduling application (for Java One and Devoxx) as an example they explained features of the available Java FX tools. The Scene Builder definitely was impressive. For the first time I had the impression Java FX was really worth looking into. Previous demos were less impressive, but the current tooling and possibilities have evolved nicely. Also fun to see, their demo application was running fine on a Raspberry Pi.
Last talk of the day was Real World Java EE by Adam Bien. Most of the talk was Adam live coding a “Slides” application, using different Java EE6 features. I was very impressed by the ease of development of JEE6. Adam combined the coding with tips on which design patterns are useful in a JEE6 context and which should (probably) be avoided. He also advised a ‘sane approach’ regarding modularity. This combination of JEE6 use and a pragmatic approach regarding design patterns really appealed to me. Thus, after the session, I wanted to buy his book: Real World Java EE patterns from the Devoxx bookstore, but unfortunately they weren’t selling it yet (it was released 8 weeks ago) so I will have to order it from Amazon. Adam has a blog that is also worth checking.