Keyword of the day: Variety
So this is my first time at Javazone. I had high expectations from everything I’ve heard about it, but I did not expect death metal for the opening show at 08:45
Having been given a decent wake-up by this music, and added to that a cup of coffee, I was ready for a long day of back-to-back talks. Javazone is pretty intense in that regard with a total of eight 50-minute talks spread evenly throughout the day with 20 minutes break between each. Just enough to plan your next talk after one is finished (if you hadn’t already – my planning ended with noon). Each session gave six talks to choose from, in addition to a seventh lightning talk track.
I ended up chosing a mix of talks on real-world experience anectodes, hands-on Java coding tips and more high-level software architecture and coding tips.
Talks before lunch
First out was our brothers at Finn.no with a talk on how the architecture on the flight booking service which integrates and aggregates data from 25 different providers. Quite a challenging task which must have been fun to work at. Their technology choices of Groovy for XML/Json parsing and transformation seemed to be effective, coupled with Camel for message routing. The talk was interesting and taught me a couple of things about Groovy that can come handy also for an Android developer.
Next was a very hands-on lecture named “33 things you want to do better” (as a Java programmer) by Tom Bujok from Poland. After a bit slow start, the talk had me taking notes furiously from 20 minutes in to the end. There was a bunch of neat libraries and tools a Java developer should know about to work effectively, many which were unfamiliar to me. I’ll definitely bring elements of this talk back to my daily work at VG.
The third talk was on microservices by Sam Newman. He showed a great insight and experience in building large systems composed of small services. He listed 14 concrete tips – I’ll recap a few here:
- Never expsose the underlying implementation/data model
- Never let multiple databases share the same database
- Think of a uniform way of monitoring after deploying your services
- Never allow for a single point of failure for multiple services – like shared connetion pools.
He’ll be out with a book about Microserviecs on O’Reilly soon which I would recommend to if you’re going to architect a solution of this kind.
Javazone is known for its good food. Well actually, it’s the stands of the attending companies that provide the food, so I guess they should have the praise. Everything from Indian to Turkish, Spanish, German (sausages, right?) and Ice Cream was present.
A good transition from food to technology was handled well by Nat Pryce in his talk on “Building on SOLID principles”. We’ve all heard of spaghetti code. Nat introduced us to ravioli-, lasagna and noodle-code. He pointed out how the industry have neglected the “middle tier” of software design – the things between the SOLID principles at the bottom, and high-level architecture principles such as microservies, REST or SOA at the top. Related to that he pushed on for more use of Domain Specific Languages (DSL), by using Java. Basically “just” write code that is so readable that you can show it to a manager and he’ll get it. He showed a few good examples to illustrate how that is possible.
Still the talk that stood out for me after lunch was Kent Beck’s “Software Design: Why, When and How”. This experienced and renowned speaker was tired of people talking about “What”, and focused therefore on the three other questions. This is the kind of birds-eye-perspective development talk that I really appreciate. This is wisdom relevant for any programmer, no matter which language or platform you’re working on. I can’t do his talk justice in three lines of text, but basically he talked about when to design and when not to do design. The drivers for design – the economy behind design: What is the value and cost of design. Finally how to approach a badly design code base to make it better. Redesign in small steps or do a full rewrite?
Both Nat and Kents talks gave good food for thought and are the kind of talks I look for at conferences. Talks on new techonolgies can be interesting as well, but you can most often just as easily get the same knowledge by reading a blog. I guess that’s what Kent meant by the “what”-talks. Still, the 33-tips-talk from Tom gave me really good tips for everyday Java programming, so I’m taking that with me as well.
I opened with the keyword “variety”. Variety in talks and variety in food. I believe Javazone has got something for everyone. I was slightly skeptical when seeing the list of topics that I wouldn’t find enough interesting talk, being an Android developer. That hasn’t been an issue. In addition to the software architecture talks I’ve been to, there’s also quite a few dev-ops talks here that seemed interesting, which I haven’t had the opportunity to prioritize. I’m hearing Docker everywhere.
Looking forward to day two!