I really like conference driven development, where you choose an interesting subject, submit it to a conference and you are forced (in a good way) to get a much deeper understanding of the topic to make it into a interesting session. I presented ‘Scala for Java Developers’ at DevSum 2018 which is based on my journey into Scala from C# that started when I joined SpeedLedger about one and a half years ago. Now when I’ve gotten more Scala experience I’m thinking about new interesting topics that I can share. Before, I’ve always had purely technical sessions but I’m thinking of changing that. We are starting a new initiative where we are going to work more like a startup. This is to create a much faster delivery pace of many small MVP’s that we will try out with our customers and then keep developing the ideas that show potential. This will affect both technology choices and process. If you went to a conference would you have visited a session about this?
I’m already trying to get into the right mindset by gaging interest in idea before investing more time in making an abstract and preparing a conference talk. I believe we’re about to engage in a very interesting and rewarding journey over the coming years.
I had the unique opportunity to attend µCPH 2018 in the wonderful city of Copenhagen this year.
The relatively small community conference was a great mix of high-level and hands-on talks.
Hosting a single track of talks did not jeopardised me to pick from a variety of presentation titles. Instead it felt like the order of talks was perfectly aligned to guide you from the eagle’s perspective (keynote on coupling by Michael Nygard) to Microservices and patterns of Domain Driven Design, down to the hands-on experiences of an actual move to a dockerized system of Financial Times, closing with some great remarks of a framework for breaking up the UI monolith (mosaic from Zalando).
One of my favorite presentations: _Microservices: Patterns and Antipatterns_ by Stefan Tilkov (slide deck, video). Many talks take the motivation for microservices either for granted or put scalablity, fault-tolerance and moving agile through independent release cycles upfront. In this talk however, Tilkov focuses on actual problems and how they have been solved in the past without the label micro service and how you shoot yourself in the foot by blindly applying conference-motivated architecture.
Another great talk by Dmitriy Kubyshkin explained how Zalando deals with a micro-service infrastructure and their front-end (slides, video). Many times micro-services talks are about back-end systems, and left the front-end out of discussion. At speedledger we also have the problem, that we somehow have to combine UI components with their back-end counterparts that are served through micro-services. Mosaic – the framework that Zalando developed has some great inspirations on that topic.
Ben Stopford with his talk on Kafka Streams (video, slides) gave some great ideas how you can turn services inside out and use advanced Kafka features to distribute the state of your system to avoid letting services turning into a database with a REST interface.
µCPH was a very well organised conference with a great schedule that gave plenty of time between the sessions to exchange with other attendants and to network.
I highly recommend to attend µCPH, if you have the chance to do so 🙂
The first day most of the sessions were on a very high level and there was a lot of talk about Free Monads, Tagless final and category theory. Upcoming news about Scalaz 8 and cats and what they have learnt along the way there. It was obvious that you should already be familiar with monads, monoids, applicatives and the monadic laws to get the most out of the advanced sessions.
The second day the sessions were more focused on how you can apply beautiful functional concepts to improve your code with state monads and cats validation.
Good discussions on what can be learnt and applied from other languages. It feels like the Scala community has matured and started experimenting with more advanced things now that there are more people familiar with the language.
I felt that my workshop on Scala for Java developers was well received. The attendees had a little or no experience of Scala since before but all of them saw opportunities to use it at work. I get the feeling that Scala is becoming more popular and accepted even in enterprise environments where Java has been the only choice before.
It’s great to see that my feeling that functional programming languages is getting more popular is also reflected in surveys. The industry is slowly going towards less null reference exceptions and code that is easier to parallelise.
Putting the finishing touches on my “Scala for Java developers” workshop for the FlatMap Oslo conference. It will be my second year speaking there. Last year the conference was fantastic. Good speakers, well organised but I was still a little bit nervous when heading off for the conference. I’ve been speaking at developer conferences for close to 10 years but it’s been .Net focused conferences where I have known many of the attending speakers. Going to a conference around functional programming and not knowing anyone there, using Scala that is fairly new to me felt like a big challenge. I got a very warm welcoming by my fellow speakers and the organisers and felt right at home. My presentation went well and I felt really encouraged. I submitted a few more abstracts and got to speak at Scala.IO in Lyon later that year. This time around I know many of the speakers. I’m looking forward to meeting all my new friends and getting an inspiration boost from the conference.
Are you curious about Scala but you haven’t had the chance to play around with it yet or have you experienced all the benefits and you want to sell it to your colleagues than you should join the workshop . It will do a quick comparison between Scala and Java and also get you familiar with the Scala syntax and some basic functional concepts.
I started at SpeedLedger about a year ago and I feel that I have grown by learning so many new things, getting to know new people and speaking at conferences. I started here because I wanted to work with functional programming and I’ve had a great journey. We are hiring and if you are interested in Scala, live and Gothenburg and want to know more, give me a shout.
At ScalaIO 2017 in Lyon I gave a presentation about “Scala for Java developers”. The slides can be found at https://mharlin.github.io/ScalaForJavaDevelopers/. I got the feeling that the presentation was well received by the audience. When all the videos from this years conference are ready they will be published on ScalaIO FR’s youtube channel. At the time of writing this they have not yet been published. Last year they published the videos about a week after the conference.
It’s been very interesting to think about my own Scala journey when preparing for this talk. I realized how much I’ve learned in the past year since I started working with Scala. It’s good with some reflection to see what you have accomplished and to set new and exciting goals for yourself.
I had my talk early the first day and after that I could relax more and enjoy the rest of the conference. There were many takes on how to use the type system effectively. One of the ones I liked the most was by Markus Hauck, Let the compiler help you: How to make the most of Scala’s type system. It’s great to get inspiration from all the presentations. For me the most valuable part is sharing experiences with all the people you meet. It’s extra interesting to share war stories with your programming heroes.
Functional programming is getting more popular. More people are using it in their day to day work and several new conferences around functional programming have been popping up during the last years. There are plenty of opportunities to get accepted as a speaker at conferences and share the message of how functional programming has solved problems for you. I’m very happy that SpeedLedger encourages me to go out and speak. I want more colleagues that love functional programming and if you like presenting it’s even better. Than we can share the great message of functional programming