@jekinney I haven't taken it quite that far myself, but I can imagine that would be even better, especially when working on multiple projects and wanting to reuse modules. :)
In which case would I prefer to work with jobs? I kept those for things that needs to work on schedules.
Personally I'm happy using Jobs synchronously too. I like thinking of Jobs as "actions" that my application can take, and I like using them in combination with Events. This seems like a tidy way to organise my project. I have an overview of the significant actions that can be taken by looking in a module's Jobs folder.
I know they are "supposed" to be used mainly for queued tasks, but I don't see why I should care. Maybe if you are working with a sufficiently sophisticated project there might be some downside in architectural purity. But that doesn't affect me at the moment.
Of course, you can go overkill with "Jobs for everything". I do often use Jobs to extract "DB update"-type logic from a controller, but not when it's just two lines of code. ;-)
You could equally well use service classes instead of Jobs. Indeed I use a combination of both (and sometimes a Job will invoke a service class). I just find that dispatching a Job from a controller is often more readable.