14 January 2023

Countdown 101: How I Become a Book Author

I started working on the book almost a year ago and now it’s done! The book is published, all minor tasks are solved and the current state? I’m looking forward to my hardcopies!

Img.1.:: Packt:Practical Designe Pattern for Java Developers cover

Now I’m trying to figure out how to properly share how much thoughts I put into creating something that every developer will potentially appreciate on his daily job. Something that could kick her/him back on the trail during being in the local minimum. Maybe not only her/him but also to me just to refresh some points and to keep all knowledge fresh. I was thinking that maybe even my kids will appreciate it when they grow up, haha.

Design patterns are a very engaging topic, similar to math. Technologies may change, hardware may change, and we can not stop evolution or time but math remains, similar to the design patterns. They may be adopted differently due to the technology jump but they will be there. The book begins by introducing the Java platform in enough detail to shape the context to understand the value of using patterns. Insights are automatically revealed during usage of preseted programming concepts while implementing patterns.

I’ve used neutral examples in the book by using vehicle manufacturing abstractions to drive the reader through the entire book as we all love vehicles. This setup allowed connecting all dots between different design pattern approaches and implementations and to create a flow where the reader may identify himself or herself with the chapter. With all the great Java API’s and all the newly added Java platform enhancements I was inspired to not use additional frameworks, just pure Java and command-line. I hope the reader appreciates it similarly to me :). In my eyes this allows the reader to stay fully concentrated on the particular topic and apply it across different scenarios. I’ll let it upon the reader how successfully I did it.

The book contains many standard terms used across the application designers community which makes the book valuable reading material not only for developers but maybe also for project managers to assimilate a similar terminology used across the different types of meetings in different stages of application development. Let’s see, it was one of my secret wishes ;) Anyhow, after many years of working with multiple languages running on the Java Virtual Machine, my biggest pleasure was always with Java language as the most effective tool to create byte-code.

I want to thank my beloved wife, my beautiful kids for giving me energy to step over difficulties and continue my work on this book till the successful end.

It was a great pleasure to work with the Packt team, reviewers that helped me through this amazing journey. My special thanks goes to Bruno Souza for writing such a beautiful foreword! Thank you guys: @Bruno, @Sonia, @Sathya, @Prajakta, @Rohit, @Werner and many others. It was my big pleasure to make this book happen.

I can not forget my peers from the @OpenValue family. We have been discussing and sharing work experiences in various teams and technologies running not only on Java Virtual Machine. It made me think and confirmed many times that the chosen approach would work ;) and really help the current and new generation of application designers to move the work forward and produce reliable software.

Thank you Everyone!
Sincerely yours

Used build

  • OpenJDK 17 and 19


  1. Packt: Interview with Miroslav Wengner
  2. Amazon: Practical Design Pattern for Java Developers

Miro Wengner

Miro is a member of the JCP program for very long time. He contributes actively to the OpenJDK, Java Mission Control/Flight Recorder project. His focus is on java performance and maintainability. Miro has also contributed/is contributing to various another open-source project such as OpenTracing, Pi4J and etc. He is also co-author of Robo4j project which has been awarded by DukeChoice Award 2017. Miro has been recognized as JavaChampion, RockStar speaker. Aside of his daily duties as a Principal Engineer at OpenValue he shares his knowledge over conferences (JavaOne, CodeOne, Devoxx, GeeCON etc.) and blogging. Miro has been Elected to Java Community Process (JCP) - Executive Committee to help guide the evolution of Java technologies.