The GOTO Berlin conference kicked off with a very moving keynote by Russ Olsen about the first moon landing. If you have an hour to spare, I can really recommend watching it. (It's a slightly older version, but it's essentially the same, it just misses Margaret Hamilton The morning keynote of the second day followed the space theme and talked about how projects don't necessarily fail because of technical problems but because of bad leadership, bad communication or bad management decisions.
Microservices were still a very hot topic with a full track dedicated to them on the first day. I was very interested in these topics because I just got out of a project where microservices were an ongoing point of discussion and change. Some recommendations from Russell Miles:
- Definition of a microservice: Loosely coupled services that can change. We don't know what we're doing and they don't know what they want. Therefore, we should build software accordingly, i.e. an architecture that embraces change.
- Start with a monolith when you start with a new domain. Make it better. Modularize. Split it up later if needed.
- Whether to go for microservices or not depends on your requirements. If you value stability, go for a monolith. If you value development speed or adaptability, don't.
- Analyse events in order to answer the question What goes into which micro service. Use event sourcing.
Several DevOps related talks were experience reports about moving to the cloud and scaling. It's always interesting to me to see that a) basically everyone has similar problems, no matter the scale, and, of course, b) how do other teams tackle and solve them. A common theme in all these talks was that you need to consider people, processes and technologies when introducing change. This was also mentioned in the closing keynote of the first day. It gave a summary of a study done by Puppet Labs showing that DevOps is not only good for IT performance but also for company performance overall.
I also got introduced to some testing libraries that I will look into e.g. randomized testing and REST Assured.
Overall I really enjoyed the conference. There were lots of good speakers, the atmosphere was nice and the topics not too broad and not too narrow.