Convert an Imperative Recommendation Service to Pure Functional Style
Overview
What this challenge is about.
Rewrite a Python ranking module in Scala 3 using pure functions and the Reader pattern, then deliver mock-free tests. Get a verifiable certificate.
The scenario
The startup (around EUR 5M ARR, 280k MAU) has a recommendation team that ships changes 3x slower than the rest of engineering, attributable to the test-double maintenance burden in the Python codebase.
The Brief
What you'll do, and what you'll demonstrate.
Rewrite a recommendation-ranking module from imperative Python to pure-functional Scala with mock-free tests, demonstrating the functional-core/imperative-shell pattern.
Earning criteria — what you'll demonstrate
- Separate a pure functional core from imperative shell
- Apply the Reader pattern for dependency injection without DI frameworks
- Write a test suite that needs no mocks because the code has no hidden dependencies
- Communicate refactor patterns clearly to a Python-native team
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Scala Programming
Apply scala programming to solve real industry problems and demonstrate production-level capability.
- Pure Functions
Apply pure functions to solve real industry problems and demonstrate production-level capability.
- Functional Core Imperative Shell
Apply functional core imperative shell to solve real industry problems and demonstrate production-level capability.
- Immutable Data
Apply immutable data to solve real industry problems and demonstrate production-level capability.
- Reader Pattern
Apply reader pattern 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.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: