Sunny Tech 2018 - #SeaTechAndSun
On June 28th and 29th, in Montpellier, took place the first edition of the Sunny Tech conference.
First day (personal) notes
The day started by an opening keynote after some welcome words by François Teychene, Arnaud Lemaire took the floor for a keynote about technical debt. Through his talk, Arnaud provided us good insights on why so many projects are failing. He emphasizes on how we generate unwanted complexity, how we sometimes over-engineer things. He also underlined how technical debt is completely decoupled from the usage of new frameworks: doing shit in any new framework remains doing shit. His talk showed some examples from a real work situation, where, indeed, by lack of specification, we, developers struggle to not do too much over engineering. In the end, he invites us to explicitly say to the marketing teams what is really happening when we implement a feature in the quick and dirty way: the price will be to redo it at some point.
After this keynote and a short break, I followed Jean-Baptiste Pettit in his talk called "Data science driving scalability: throttling rtb bid requests". After some explanations on how advertising works on the web, he introduces a real world use case to show how Mathematics (ie Statistics, Data Engineering, Machine Learning) can make a big difference in cost reduction. In this talk, it is about reducing the amount of outgoing traffic by analyzing probabilities of reply. It was interesting to see how this system is able to make Teads save money by reducing its outgoing traffic bill and at the same time offer pertinent content to partners, and to also let them save money on their incomming/outgoing trafic. The main point of this talk was to show that data science may be used almost everywhere, and that it does not always mean deep learning, neuronal networks but that sometimes simple linear regressions (and the like) may help you.
Then it was time for some Domain Driven Design with Jérome Avoustin. I found in this presentation a great follow-up of the opening keynote: it was about questioning ourselves on how to better design applications and to find ways to answer typical questions which are raised when starting a microservices project: what's the size of a service, should we share a database, what common communication protocol/broker should we use, for example. Some concepts emerge from this talk: bounded context & event storming. I wasn't familiar with them and I learned that the success of a microservice approach mostly resides in the ability to get the whole organization talk about their domain, and to identify the languages used by the experts. A quick example is the term "Product" which has different meaning, depending on how talk about it. Support team will not have the same usage of product than the billing team. In the end, it is not about microservices, but instead, on how to better reflect the domain(s), and structure the application in decoupled way to build not only microservices, but also great monoliths.
After a lunchbreak under the hot sun of Montpellier, I went to see Gautier Mechling talk about Android things and home automation. It was a refreshing talk which showed how to remote control your home using google assistant, web hooks and simple code.
Then it was time for me to relax and prepare for my own talk: Functional programming with Arrow. It was my first time on stage, and if it did not go as well as I expected, I think it wasn't that bad. I have tons of things to improve, for sure, but it was an incredible experience and I can't thank the Sunny Tech Guards enough for choosing my talk and giving a chance to a rookie like me. By the way, my slides are here.
The last talk I attended that day was Kotlin Parsec by Didier Plaindoux. Like in most of his talks, he completely blew my mind (he even did live research paper browsing !). With live coding, he demonstrated a lot of strengths of Kotlin for Functional Programming. With a step by step approach, he highlighted how things just combine in a generic way in a functional programming approach. If it was easy to get lost at some point, don't worry, here is the code to do it yourself, along with the slides. I think the most important point of the talk was the way of thinking and approaching problem in FP.
Last highlight of the day was the meet and greet evening at the bar. I had a great time talking to my fellows from Toulouse, other speakers, attendees, and staff members. It was relaxed atmosphere and good vibes all along !
Second day (personal) notes
After the partying on the Thursday night, it was pretty hard to be on time for the first session of the day about istio by Laurent Grangeau. This presentation was about high level of architecture. The thing I will remember from this presentation is that istio takes care of a lot of things, from monitoring to security and load balancing. It enables to do A/B testing easily and helps to create a service mesh. It plays well with Kubernetes. The presentation ended with a demo of a microservice style application with services written with different technologies.
After the morning break, and a lot of coffee, I went to see Alessio Coltellacci for his talk about Data Oriented design and performance. The title was a bit misleading for those who attended the Domain driven design talk the day before, as it was about data structures and low level optimizations. One point of the talk was to highlight how sequential memory reads improves performance. A lot. It was also about using the CPU caches at their best. It was a nice session, including some assembly language.
Last session before lunch by Fabrice Sznajderman was about Lagom, the framework built on top of akka and play. The goal of Lagom is to ease the development of microservices applications in Scala and Java. After an overview of the framework, we saw how it behaves in a live coding session. I was a bit disappointed by Lagom, truth be told, as the only added value I saw, compared to raw Akka/play combo, is the integration of sbt tasks, and some glue code. I may have missed something though...
Between 1pm and 2pm, I attended two quickies. The first one, by Julie Artis about happiness at work, was interesting in the sense that it put in evidence the fact that, we, developers, want some attention in the enterprise and that foosball /ping pong table is just not what will make us happy at work in the long run. Adding a Chief Happiness Officer does not auto-magically makes developers happy, and Julies explains it very well, saying that happiness comes with the empowerment given to the developers and above all, with the sincerity of the approach. In this framework, the CHO is here to leverage individual initiatives to the whole organization, and not to impose things. It was nice to have this non-technical session, to bring back ideas, willingness for our employers. Oh, and her slides are here
The second one was about scaling technical teams and was given by Charles Desneuf. Again, it was a very interesting quickie. I think the slides talk a bit by themselves, and I was particularly interested in this subject. It boils down to 5 points. And most of them are not technical at all. To sum it up, Evaneos (the company where Charles is working) managed to grow thanks to careful hirings, knowledge sharing and a spirit where developers can freely present the result of their investigations, interests of the moment. The technical aspect to scale teams, is mainly about automation and Domain Driven Design to get multi-skilled teams work independently. In the end, it was a very inspiring talk.
Then, I attended a session about Stream Processing by Bruno Bonnin. After an introduction asking the pertinent question of "do you really need the whole Kafka/Spark/you name it/... just to mimic the GAFAs ?" . Then, it was mostly about... SQL ! Grandpa is back, and Bruno shows us how the modern streaming frameworks are resurrecting SQL to provide a common language to query streams.
See you next year
In the end, it was 2 awesome days ! First, the staff : the Sunny Guards were everywhere and ready to help and chat: they did an amazing work and it paid off. The #SeaTechAndSun could not have been more accurate: Sea the weekend after the conference, heavy Tech in two days and Sun all along !
On a personal note, it was my first time as a speaker, and again, I can't thank the staff enough for their help. I learned things, got the will to dig new stuffs. I met with a lot of people, a bunch from Toulouse, with whom we talked about FP, Kotlin, Scala, and much more, with the good vibes of the event and around some good beers.
Now, I can't wait for next year, to come back, and, fingers crossed give a better talk.
Credits for the top picture are for the official photographers of the event, sorry, I could not find their names, if they read me...
Thanks Arnaud Bos for his review