We love making friends! For this time it's Automatiko that aims at building services and functions based on workflows! And Maciej Swiderski, the creator and our jLove speaker gave us a lovely interview! Enjoy!
Maciej is an independent software engineer at OpenEnterprise. Since 2007 he is in the business automation and workflow domain both from a development point of view and helping to adopt business automation in different sectors. The last several years he spent building and running workflows at scale utilizing various cloud-native solutions e.g. Kubernetes, KNative. He's passionate about open source and tries to promote it wherever possible. In his spare time, he enjoys a calm and relax life in countryside and travels.
What new countries have you “visited” thanks to the online format?
Quite a few but most recently it was Brazil and Asia in line.
If there are Java Champions, perhaps we should add Java Princesses and Java Dragons, too?
Personally I don't pay much attention to titles but more what people are doing so I don't have strong opinion on this one.
How has your programming style with Java evolved over the past couple of years? What are some of the things that led to the significant improvements?
Cloud deployments has impacted it the most I'd say. Especially that I care more about the things on top of the business logic way more than I used to. Things like monitoring and observability are on top of the list. Automation that spans across multiple environment is another thing and all of that is based on modern and quickly evolving java ecosystem.
Do you have any personal habits around development or self-care that you would like to share with our audience?
I like to take breaks here and there to take a walk, run, cycle to refresh my head and look at things from another angle. Sharing as much as possible (early as well even if that given thing is not yet finished) is another thing I enjoy doing and it helps me to find out things I haven’t thought about during development cycle. And that’s pretty much it.
Obviously, projects Valhalla, Loom and Amber have received a lot of buzzes, but there is a healthy level of skepticism about the projects. Do you have any thoughts you’d like to share?
I am waiting for it to be proven in real world scenarios. Of course I hope they will deliver to their promises as it will help everyone to make better software.
What is planned for Java after Java 17? How will it change the everyday life of a Java developer?
It all depends on what developers we are talking about. If we look at the "average enterprise developer" I don't think there will that big change to them as in many cases it's months if not years until they will be able to actually use it in production. I'd say more that Java developers should look at the language from their needs point of view. That being said avoid jumping on new and shiny features if they don't have corresponding need from business perspective.
There are Groovy, Scala, Kotlin, and many others in the family of JVM languages. What features do we miss in Java in comparison with other JVM languages? Elaborate.
I am mainly Java person and frankly speaking I have never had big pain points with Java so I am not the best candidate to this question :)
There are plenty of reasons why Java, being one of the older software programming languages, is still widely used. For one, the immense power one wields when using Java is enough to make it their staple—coupled with the possibility of using good Java frameworks that can reduce the turnaround time for big projects. Your favourite framework? What advantages and disadvantages it has?
I have spent quite some time recently on Quarkus and I'd have to say it's amazing. How it enabled Java to be ready for the cloud deployments is unbelievable and at the same time productivity of developers is increased as well. But there are also others like Micronaut or Spring which are bringing a lot of value as well. Personally I am really happy to see all these evolving and moving Java to the next level and I truly hope it will continue like that for many many years to come.
Are we going to use modules ever? When we create a module, we organize the code internally in packages, just like we previously did with any other project. So why are packages not enough?
Frankly speaking I am skeptical to that, it might be that I haven't found the real use for it, now making things smaller and smaller and packaged as containers it becomes less important I'd say but maybe I am completely off here and someone will convince me to change my mind.