Full Stack Europe 2019

A little later than I would have liked but I’ve finally found the time to summarise my experience at Full Stack Europe.

About the conference

This is the first year that Full Stack Europe has been arranged and was held at the Hilton Antwerp Old Town hotel in the center of Antwerp. The location was fairly convenient with a reasonable train ride from Brussels Airport.

The format of the conference was a two day single track conference preceded by a day of workshops. As mentioned in previous conference summaries I’m a fan of single track conferences, which is what brought this one onto my radar.

It appears that the team arranging the conference have done their homework and taken inspiration from other conferences that are highly regarded, multiple people commented that if this is what they can achieve in the first year, there are bound to be good things in the future, but for now a quick summary of my experience.

Workshop : DDD Modelling vs Implementation by By Mathias Verraes

As mentioned above the day before the conference there was a day of workshops that it was possible to attend. I chose to go with this DDD workshop with Mathias. I don’t really consider myself a stranger to DDD concepts as I’ve worked on multiple projects that had a strong DDD focus, but have been missing this on my current project so was looking to this to refresh my memory and hopefully get some motivation to try introducing some usage on my current project.

I’ll start off with the negative, the workshop description has a long list of bullet points that sounded interesting, some points weren’t really covered, others were only hinted at, the majority of the time was spent working on Value Objects. Whether this was a conscious scoping to match the level of the attendees or a multiple day workshop compressed into one was unclear to me.

That said the focus on reinforcing the importance of Value Objects was in itself enlightening. If your time isn’t spent heavily on Value Objects then you’re probably not placing your domain logic the right place.

I’ve always been a little nervous in Java of being accused of over-engineering things due to the amount of boilerplate needed but with Kotlin and my experimenting with other languages such as Elm it’s becoming a lot more natural to write small objects that wrap primitives and something I should think about a lot more.

Conference Highlights

In chronological order, here are the talks from the conference that I have most motivation to follow up on.

Write Less JS by Caleb Porzio

The first day started off with a presentation of Livewire a framework for Laravel for creating rich frontend applications that rely on retrieving HTML fragments from a backend application instead of having completely separate tech stacks on the frontend and backend.

The value proposition here is;

  1. you only need to learn one framework to implement your whole application
  2. testing is easier as the HTML fragments can be completely tested backend, no more frontend tests passing, backend tests passing, but the API is subtly misunderstood on one end leading to runtime failures

This is inspired by the techniques used by GitHub, and the Phoenix web framework for Elixir.

While I’m unlikely to start using PHP again, this talk did give me a good reminder that I have an Elixir book on the shelf waiting to be read and it’s high time to prioritise it.

One little side-note, Caleb used a beautiful font in his editor, a quick peek at his twitter profile reveals that it is Dank Mono.

Next.js: The React Framework by Tim Neutkens

The next talk that really inspired me was a talk about Next.js which has been on my radar of things to look into for a while. I’ve even gone as far as paying for Remy’s video course but not got around to watching it.

If I understood correctly Next.js is react on steroids. It provides an interesting strategy for routing, support for generating static sites, server side rendering, Google AMP support, frontend code splitting, framework and tools for developing serverless API code and the tooling to deploy trivially to ZEIT now or with a little more effort to the cloud provider of your choice. Sure you can do all of these things yourself but Next.js gives you everything you need so you can focus on actually writing your app/site instead of configuring the build tools.

You might not need _blank_ by Konstantin Kudryashov

Konstantin provided the closing keynote of the first day. Any summary I write here will not do the talk justice, even though I will try, if the video is published, I’ll edit to add a link.

Using the example of the manufacturing industry attempting to replicate Black & Decker’s success with Material Requirements Planning, Konstantin makes the point that any technology/tool you add to your business should be there to provide measurable change to something that is holding you back.

This point then gets extrapolated further to ensure the tools are giving the most value compared to maintenance effort. For as much as possible if there is a SaaS solution to what you need, use it. If you need a CMS find an existing headless CMS that suits your needs instead of installing and maintaining a standalone product, if you need to host some custom code use Heroku, ZEIT now or similar “zero configuration” solutions instead of spinning up and maintaining your own kubernetes cluster and deploy pipelines. Once you’ve found something you need that isn’t already a SaaS offering this could be a good heuristic that you’ve found your core domain.

Honourable mentions

I could provide positive feedback on most of the talks, I enjoyed most of them, but for the sake of brevity I’ll just comment on two more for now.

Caching the uncachable in Varnish by Thijs Feryn

Well polished talk, on a heavy theme due to the custom config language but this one wins the prize for most amusing slide, when discussing that some have the luxury to just throw money at performance problems.

Resilience Design Patterns by Indu Alagarsamy

I’ve recently watched a talk on Storytelling so it was interesting to see the technique used effectively in the start of this talk with the story about losing grip while climbing.

This talk also wins the most shocking fact of the conference, Notre-Dame had a fancy fire detection system, but due to the unclear alert it took 30 minutes for guards to locate the fire and raise the alarm.

Summary

This was a conference with well curated talks, that were for the most part interesting or useful. Antwerp itself was easy to get to and an interesting destination to spend a few days. Will I go back the the sequel next year? I’m not sure, lots of conferences around this time of year, both time away from family and money needs to be budgeted. I have a suspicion I’ll skip next year but keep a close eye on what they’re doing for a return trip later.