Milen Dyankov

Software Engineer, Consultant, Developer Advocate

Recent Posts

  • August 30, 2020

    Data classes in Java

    I recently joined AxonIQ to help them evolve their Developer Relations to the next level. One of the things I am currently evaluating is the steepness of the adoption curve of Axon Framework and Axon Server. One of the things that catch my attention was that, in almost all examples and demos, the classes representing events, commands and queries are written as Kotlin data classes (here is an example).

    It got me thinking and last week I put this poll on Twitter

    The tweet received some comments and suggestions about solutions and approaches I wasn’t aware of. I thought that may be the case for other people too. So in this post I’ll talk about the options one has to implement a data classes in Java (and JVM languages). I hope it’ll help readers pick the right approach for their own use case.

  • December 14, 2019

    Mind the involuntary observational learning

    Today I want to talk about something that has been bothering me for quite a while now - the side effects of how we teach people to use frameworks, libraries, tools, …

    It’s an issue I’ve observed a lot over the years. To the point I have somehow trained myself to immediately notice it when I see it. It’s present in conference talks, blogs, articles, video tutorials, code samples, … virtually any type of learning material that shows Java classes in packages. A lot of those materials are created by people whose knowledge and intentions are unquestionable. I’m full of respect for the great work those folks do. Yet I can’t help but notice how many of them involuntary introduce to young developers a very bad practice.

  • December 02, 2019

    Conference Tracker

    I try hard to keep track of conferences around the world. Mainly in a Google spreadsheet but also in a calendar shared with my team. I always thought that if all the DevRel folks were to share and merge their spreadsheets (or whatever else they use) into one single place, it would literally save days of work.

    As Liferay Portal (the product I mainly work with) transitions more and more into headless backend for React, Angular, Vue.js, … based application, I felt it’s time to get out of my Java comfort zone. I thought it would be nice to build a SPA that is more complex than “Hallo World”, simple enough to be build in days rather than weeks, relatively good looking (for a non-designer like me) and ideally useful to someone.

    And then something happened … Love at first sight normally occurs to souls, but this time it enamored two ideas!

  • November 12, 2019

    Would you attend one of those talks?

    After several years of traveling around the world to speak at conferences, I needed a break. I have no idea what people like Venkat Subramaniam or Josh Long or Philipp Krenn are made of, but the assembly line that made me, certainly didn’t use the same material. Luckily 2019 offered me that break and allowed me to focus on other things. It was great time but also kind of sad as I like to share the little things I know with other people and I like even more to learn from the people I meet. So I’m planning to be back on the road in 2020.

    But before that I need a little help from you in the form of your honest feedback.

  • November 24, 2018

    Fire alarm at software conference

    I guess if you do something often and long enough, you get to experience all possible scenarios eventually. Leaving the conference venue due to fire alarm going on, was not necessarily on my bucket list but now I can both add it and scratch it off at the same time. It happened last week in Malmö, Sweden.