Residing in the vibrant city of Montreal, Canada, Nicholas embodies the dual spirit of a business analyst and a seasoned software developer. He co-founded the Montreal Elixir meetup, led a specialized Elixir development studio, and has a profound enthusiasm for business modeling that complements his coding expertise.
Nicholas is deeply passionate about mentoring developers and is committed to accelerating their professional growth and guiding them through all aspects of the software development life cycle.
Nicholas actively tries to put all of his life into source control and reorganizes his bookmarks on a Friday night (only a couple of times a year, though).
Just as a chef organizes ingredients before cooking—mise en place—successful Elixir applications require organizing domain complexity before implementation. This talk introduces Business Rule Thinking, a disciplined approach to modeling rich domains in Ecto that goes far beyond simple belongs_to and has_many associations.
Drawing from the Business Rules Manifesto and domain modeling principles, you’ll learn three essential abilities:
Model the Domain as Facts: Using the 7W Framework, we’ll discover entities and relationships in your business domain, creating a Fact Model that captures concrete, verifiable statements about business activity—separate from implementation concerns.
Derive Business Rules from Facts: Learn to identify the five types of business rules that constrain relationships between entities, moving beyond process-focused thinking to rule-based domain design.
Transform Business Rules into Association Validations: Discover practical patterns for implementing business rules as association validations in Ecto, including the association changeset pattern and validation pipelines that ensure your domain logic remains explicit and maintainable.
Key Takeaways:
Target Audience: