Side Effects by Bassem Fayed
Software craft, learned the hard way

Side effects may include a barking cat.

Short games about the decisions that make code good or bad. Each choice runs. Choose badly and the code does exactly what you wrote, and you get to watch.

Play SOLIDNo account needed. Sign in later to keep your progress.

Now playing

Live · 10 stops

SOLID

Ten design decisions in a badly built zoo. Light up all five letters.

The cat barks. It has started fetching the newspaper.

SOLID
00 / 10 stops

In the workshop

6 games in progress
Coming

Design Patterns

Creational, structural and behavioral patterns, one decision at a time.

Every singleton is a different singleton.

Coming

Architectures

Monolith, hexagonal, DDD, TDD and where each one hurts.

The domain model now imports the database driver.

Coming

Testing

Unit, integration, mocks and end-to-end, and what each one actually proves.

All tests pass. Nothing works.

Coming

HTTP Status Codes

2xx to 5xx, sorted under pressure.

The error page returns 200 OK.

Coming

RESTful APIs

Resources, verbs and the endpoints you'll regret.

POST /deleteUserButOnlyOnTuesdays

Coming

TypeScript

Types that catch the bug before your users do.

Type 'any' is assignable to everything, including regret.