Convert an Imperative Recommendation Service to Pure Functional Style
Overview
What this challenge is about.
Convert an Imperative Recommendation Service to Pure Functional Style. Intermediate challenge in code. Writing production code that solves real engineering p...
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.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
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: