The GOTO Berlin Conference, otherwise known as Gotober, takes place in November. There’s an ticket open to move it to October, but it won’t make it into the 2017 release. Tech debt can be hard to pay off!
Aside from this massive missed opportunity, GOTO Berlin was a great conference. The venue was conveniently located and easy to navigate, the sponsors were open and offered a more than reasonable selection of swag, and most importantly, there was a stand run from baristas from The Barn making excellent coffee.
The lack of a concrete technology focus seemed a bit surprising at first, but it cleared the floor for numerous conceptual talks, each of which kept standards high. I particularly enjoyed John Wilke’s talk on cluster management at Google.
The talk presented the concept of cluster management and the many fascinating problems that result an understandable way, while still diving into the details enough to keep the audience engaged. For instance:
- How can machine time be used for both Google and for customers?
- How can user programs be distributed so as to efficiently use both a physical machine’s CPU and memory?
- What does it mean to guarantee a certain amount of CPU power? How can reserved, but unused resources be utilized without breaking promises to users?
These are questions I’d never personally considered, but Wilke did an excellent job making immediately clear why these questions are essential and presenting Google’s current thinking on the subject. Moreover, Wilke is a great public speaker, and was able to mix Google’s status and and near-mystique seamlessly into his talk to entertain as much as he educated. (There’s even an open-source version of Google’s cluster management – Kubernetes.)
Any trend-focused software conference wouldn’t be complete without discussions of microservices, containerization, DevOps and cloud computing. It’s been fascinating to me to see how the way these subjects are presented has changed over just the past few years. At WJAX 2014 there was a panel where opponents of microservice architecture vehemently decried microservices and stressed the advantages of application servers; two short years later, microservices are so established that conference attendees get bored when watching yet another talk about how a large company is gradually phasing out their monoliths.
The more time passes, the more developers have the opportunities to try modern architecture styles out, after which it’s difficult to go back to the old ways. It turns out it’s not just fun to learn and play with Terraform and Docker, but these technologies really do make our lives easier and stand on their own merits. (Yes, monoliths are still sometimes appropriate.)
That said, Zalando’s talk about their microservice architecture made me wonder how the concept of microservices will evolve in the future. Zalando apparently has 800+ microservices and is planning to have 1700+ next year. This results, unsurprisingly, in a service landscape where developers have a hard time knowing whether a given service they need has already been implemented or not. Zalando’s solution to this is apparently to pack the API’s of each service into an elasticsearch index that developers can search through via a Swagger-like UI ¯\_(ツ)_/¯
What made GOTO Berlin stand out for me, though, was its intent focus on what are typically derided as “soft” issues. Diversity in the workplace, dealing with different perspectives, and ethics in software engineering are given lip service at conferences, but rarely properly focused on. At a typical conference, it can be easy to forget how complicated the personal landscapes of software engineering can be. But GOTO Berlin didn’t shy away from discussing controversial issues, and moreover, from presenting them in depth and with rigor. With a dedicated track to “soft” issues each day - “IT and Society” on Monday, and “Herding Cats: the Human Factor” on Tuesday - the GOTO managed to engage conference goers incredibly well. The discussions over coffee between talks were, as a result, more engaged than any I’d ever before encountered at a conference.
The last keynote in particular was incredibly powerful. It addressed “Inadvertent Algorithmic Cruelty”, or the ways in which software engineering, even with good intentions, can result in extremely negative results for the end user and society.
Unprecedented amounts of user data are passing through our hands, and it’s easy to not take the time to think about what consequences can result, or, more accurately, what kind of havoc we can inadvertently wreak. For instance -
- Facebook’s “On This Day” memory feature shows you people and events from previous years. This is cool until it shows you, say, pictures of your daughter that just died.
- Twitter will keep shoving stalkers into your “recommend people to follow” feed.
- ಠ_ಠ Uber keeps track of the number of one night stands its users have ಠ_ಠ
- Google shows much fewer tech job ads to users it has identified as female.
- Target identifies its customers as pregnant based on what they purchase and sends them targeted ads. Aside from being creepy, this is a less than ideal way to discover that your teenage daughter is pregnant. It’s also not cool to get baby clothing ads if you’ve just miscarried. Yes, that happened.
- Etc etc etc
Don’t be evil, everyone. (Especially you, Google!)
Overall, GOTO Berlin was lots of fun, and to be highly recommended. I’m looking forward to see what new trends will be presented in the coming year.