Overview
What this challenge is about.
Read Notifier and the last 6 months of incidents touching it. Write a 4-page design document mapping each of the 5 SOLID principles to a specific change in the subsystem (Single Responsibility → split per concern, Open/Closed → channel as plugin, Liskov → channel-interface contract, Interface Segregation → channel-specific config interfaces, Dependency Inversion → channel registry injected). Implement the refactored module behind a feature flag with parity tests for the existing 5 channels, then add Slack DM as a new channel — should be 1 new file plus a registry entry. Deliver the design document, the feature-flagged module, the Slack DM channel as a separate PR, and a 1-page after-action covering complexity and PR-touch metrics.
The Brief
What you'll do, and what you'll demonstrate.
Refactor a 5-channel Notifier applying SOLID principles and prove the design by adding a sixth channel with minimal file-touch.
Earning criteria — what you'll demonstrate
- Apply each of the 5 SOLID principles to a real subsystem
- Design a plugin-style channel registry with dependency injection
- Prove a refactor's value by showing the cost of adding a new feature on top
- Sequence the refactor behind a feature flag with parity tests
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.