Overview
What this challenge is about.
Refactor a fintech notification system with SOLID principles, add a Slack DM channel, and earn a verifiable certificate.
The scenario
The neobank (Series-B at USD 45M raised, premium-tier launching this quarter) needs Slack DMs for premium users in 4 weeks, but the current Notifier cannot accept another channel without breaking existing ones.
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.
Software Design and Design Patterns
Master · Software Engineering
Strong alignment
This challenge maps to Software Design and Design Patterns at the Master level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Solid Principles
Apply solid principles to solve real industry problems and demonstrate production-level capability.
- Design Patterns
Apply design patterns to solve real industry problems and demonstrate production-level capability.
- Refactoring
Apply refactoring to solve real industry problems and demonstrate production-level capability.
- Dependency Injection
Apply dependency injection to solve real industry problems and demonstrate production-level capability.
- Feature Flags
Apply feature flags to solve real industry problems and demonstrate production-level capability.
- Characterization Testing
Apply characterization testing to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: