My name is Mihai and I am a Java developer with a Bachelor’s degree in Computer Science. I’m contributing to opensource and writing this blog because I find it a good way of learning new things and keeping my knowledge updated.

I am interested not only in the quality of my own code, but also in the quality of the tools that I am using. I like to deeply understand the technologies I’m working with, follow their development and (lately) also contribute to them myself. I also strongly believe that any company which wants to remain relevant on the market should invest in opensource.

I write a new article about once a month on topics concerning mostly Object-Oriented Programming but also Unit and Integration testing, REST apis or CI/CD automations. Here are the articles most interesting to read:

  • Selenium and JUnit, the right way!
    • UI automation tests should be agnostic of the used automation tool. The Selenium part should be completely encapsulated into fluent objects. It is a form of POM pattern, but much more object oriented.
  • Test Driven Rest
    • Using tests and the same principle of abstraction and encapsulation as in the Selenium article, we can make sure that our RESTful API is truly navigable. In the end, ideally, we should have a single set of tests for both the UI Automation and the RESTful API, and also a Java client library which could be delivered to any 3rd party who wants to integrate with our web services.
  • Dolls and Maquettes
    • A visual metaphor about what proper objects should look like.
  • Logic Should Hide In Plain Sight
    • An article in which I explained where should the “business logic” find its place in an object-oriented codebase.
  • Jakarta EE 8: JsonCollectors And The OOP Alternative
    • This is a very specific article about JSON-P 1.1. However, it reveals the most important principle I’ve learned about OOP: never try to transform object A into B, but rather add a new implementation of B based on A.
  • Java API For Docker
    • Another targeted article, but which explains the difference between an SDK and an API.

Follow me to see my latest activity and subscribe to my RSS feed in order to be notified about the newest articles. You can also find some of my articles on

Follow @amihaiemil