Great post, we follow a similar convention and even wrote a small gem to make things easier. You can check it out here
Basically, you are able to set what you expect to be passed in and what you expect to be returned in each
This serves both as documentation for you and other devs as well as providing a quick check to ensure that you are not missing params.
Before I started working for this company I had never used service objects, or as we call them `interactions` before, but now that I have been introduced to them I can’t see myself going back.
I find the that for a new dev coming to the code base for the first time service objects make things much easier to reason about without having to jump all over the code base.