I'm a java spring boot microservices developer who's more or less comfortable with multi-threading/parallel and asynchronous programming although never had the opportunity to really master it. Same with messaging services like JMS or Rabbit MQ.
I'm about to start my journey into two completely separate programming paradigms which are totally new to me.
- Domain-driven design and event-driven architecture with CQRS
- Reactive programming
My question is do I need to have an absolutely perfect grasp of multi-threading/parallel and asynchronous programming in order to learn and understand reactive programming better and the same for messaging (especially asynchronous messaging) to have a good understanding of event-driven architecture with CQRS?
I understand it's a very subjective question so just looking for general opinions, suggestions, and recommendations.