Overview
What this challenge is about.
Refactor the Untouchable ReturnsProcessor Class Safely. Advanced challenge in code. Writing production code that solves real engineering problems, earn a blo...
The Brief
What you'll do, and what you'll demonstrate.
Make a 4,000-line accidentally-grown PHP class safe to modify by refactoring it incrementally over four weeks, without changing its observable behavior or pausing the team's feature delivery.
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
- Build a behavior-pinning safety net with characterization and approval testing before changing any structure
- Plan and execute structural change incrementally using the Mikado method's attempt-revert-record loop
- Decide between in-place refactoring and a strangler-pattern replacement based on risk and coupling
- Keep changes shippable in tiny, independently revertable steps that never freeze feature work
- Communicate a repeatable refactoring technique clearly enough for a peer to apply it unsupervised
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.
- Refactoring
Apply refactoring to solve real industry problems and demonstrate production-level capability.
- Mikado Method
Apply mikado method 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.
- Technical Debt
Apply technical debt to solve real industry problems and demonstrate production-level capability.
- Code Quality
Apply code quality to solve real industry problems and demonstrate production-level capability.
- Strangler Pattern
Apply strangler pattern 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:
Senior Software Engineer
Owning a high-risk legacy hotspot end to end mirrors the senior engineer's mandate: make scary code safe to change. The work proves you can refactor under production pressure using disciplined, reversible steps rather than risky rewrites.
This challenge sharpens
- refactoring
- mikado-method
- technical-debt
Software Engineer in Test
Building a behavior-pinning safety net before any change is the core craft of an engineer in test. You demonstrate that you can characterize untrusted code, raise coverage on its public surface, and turn tests into a license to refactor safely.
This challenge sharpens
- characterization-testing
- code-quality
- refactoring
Staff / Modernization Engineer
Replacing a load-bearing class incrementally without freezing the roadmap is exactly how modernization engineers retire legacy systems. The strangler-pattern decision and the reusable playbook show you can lead long-lived migrations across a team.
This challenge sharpens
- strangler-pattern
- technical-debt
- mikado-method