Skip to main content

Tech Concept Learning

The core concepts behind how the team designs, builds, tests, and documents software.

Domain-Driven Design​

In acceptance of Conway’s Law, the team has adopted Domain Driven Design to produce systems that align better with the company and are easier to build and maintain.

tip

Domain-Driven Design is neither a framework nor a library — but rather an approach to software development that fundamentally changes how you approach problems as a software developer.

Domain Driven Design Resources​

Videos

Books


Atomic Design​

An approach used to help structure concepts in UI development.

Atomic Design Resources​

Websites


General Architecture Concepts​

Event Types​

TypeWhen it's usedExampleNaming convention
Document EventsTriggered when a field in a payload has been updatedApplicant’s last name is updatedNouns → available-pizza-toppings
Business EventsTriggered when a business fact has occurredCase Worker approves Pathways ApplicationPast Tense Verb → pizza-delivered
CommandsWhen an external system expects the system to perform a particular action—Verb → order-pizza
Synchronous RequestsWhen an external system connects, sends a message, and waits for an immediate response—Verb prefixed with request → request-order-pizza

Testing​


BDD — Behavior Driven Development​

OneNote

Please also refer to the OneNote document in: CXA-UX and Dev → Standards → BDD


TDD — Test Driven Development​

OneNote

Please refer to the OneNote document in: CXA-UX and Dev → Standards → TDD


Documentation Concepts​