Event Sourcing has been growing in popularity for the last decade as an alternative to Create Read Update Delete (CRUD) to help wrangle complexity in challenging domains. Yet we occasionally hear stories of the inverse happening. Where complexity is increased, development speed and confidence drops, and deadlines are missed. Why is this? More often than not it's because fundamental principles and warning signs are ignored or are simply just not known to the team. This talk will briefly recap these paradigms and then dive into what ensures success for systems that strive for resiliency, traceability, idempotency, and tend to be data-intensive.