Refactoring
If you like applying Refactoring, every challenge here gives you a chance to practice it on a real industry brief.
- CodeIntermediateNew
Strangler-Fig Migration of a Monolithic Order Service
Stand up an HTTP facade in front of the monolith (Nginx or a small Go proxy) that routes by URL pattern. Slice 1: extract the order-status read endpoint, dual-write nothing, rou…
- Strangler Fig Pattern
- Refactoring
- Legacy Modernization
Refactoring and Code Smell Detection - CodeIntermediateNew
Specification-First Refactor of a Payments Module
Read the module, the last 12 months of incidents touching it, and the existing tests. Write a 6-page specification using a precondition / postcondition / invariant format per pu…
- Specifications
- Refactoring
- Characterization Testing
Open coursework - DesignIntermediateNew
Rate and Reduce Technical Debt in a Telecom OSS Codebase
Design a SQALE-based technical-debt rating and improvement proposal for Lumera Telekom's OSS. Using only the static-analysis findings export, the module inventory and rating gri…
- Sqale Method
- Technical Debt
- Code Quality
Open coursework - CodeIntermediateNew
Find the Dead Code Hiding in a Python Monorepo
Build a dataflow- and call-graph-based dead-code detector in Python (using libcst, or the standard ast module together with jedi) and prove it on the materials provided. Run it …
- Dataflow Analysis
- Ast
- Call Graph
Open coursework Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodeIntermediateNew
Refactor a Big-Ball-of-Mud Java Servlet Application
Week 1: install JUnit 5 + Testcontainers harness, write characterization tests for the 2 target workflows (PolicyIssue + ClaimSubmit) reaching at least 80 percent branch coverag…
- Refactoring
- Characterization Testing
- Legacy Systems
Software Evolution and Maintenance - CodeIntermediateNew
Apply the Mikado Method to Untangle a Tax-Engine Class
Starting from the live codebase (Java 17, 73 percent line coverage), write a failing test that asserts the desired end state ('TaxCalculator is decomposed into per-country strat…
- Mikado Method
- Refactoring
- Strategy Pattern
Refactoring and Code Smell Detection - CodeBeginnerNew
Case File: Smart-Pointer Refactor of a Game-Engine Module
Work only from the four supplied items: the representative entity-component-system module slice, the before-refactor heaptrack leak readout, the de-identified incident log, and …
- Cpp Programming
- Manual Memory Management
- Pointers
Open coursework - AnalysisIntermediateNew
Build a Technical Debt Register for a Legacy Banking Monolith
Run 8 structured 45-minute engineer interviews (template provided) capturing one debt item per pain point with reproducible evidence. Run SonarQube against the monolith for a qu…
- Technical Debt
- Debt Quadrant
- Code Quality
Technical Debt Management - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeBeginnerNew
Refactor a Tangled Java Pricing Engine With Design Patterns
Start from a provided Java 21 codebase with the legacy PricingEngine class, 38 example fixtures (input cart, expected price), and one failing test demonstrating a bug from last …
- Java
- Design Patterns
- Refactoring
Open coursework - CodeBeginnerNew
Apply SOLID Principles to a Notifications Subsystem
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…
- Solid Principles
- Design Patterns
- Refactoring
Software Design and Design Patterns - CodeIntermediateNew
Refactor the Untouchable ReturnsProcessor Class Safely
Start from the representative ReturnsProcessor module extract and the behavior contract supplied in the provided materials, and use the change-and-incident history to decide whe…
- Refactoring
- Mikado Method
- Characterization Testing
Open coursework - CodeIntermediateNew
Repository + Unit-of-Work Refactor on an EF Core Codebase
Read the data-access patterns across the 5 bounded contexts (Payroll, Timesheets, Benefits, Org, Reporting) and tag the 12 worst N+1 incidents from the last quarter's traces. Au…
- Repository Pattern
- Unit Of Work
- Design Patterns
Software Design and Design Patterns Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodeBeginnerNew
Refactor a Legacy Reporting Script for a Renewable-Energy Startup
Read the existing script and identify 5-7 distinct responsibilities tangled together. Refactor into 3 layers: data loaders (CSV, REST API), transformers (pure functions over row…
- Abstraction
- Higher Order Functions
- Refactoring
Programming Abstractions - CodeIntermediateNew
Refactor a God-Object Order Service with Strategy + Command
Read OrderService and the last 18 months of bug tickets touching it. Author a 5-page design document showing the current class diagram, the target Strategy-per-order-type + Comm…
- Design Patterns
- Refactoring
- Strategy Pattern
Software Design and Design Patterns - CodeIntermediateNew
Code Review and Refactoring of a Legacy E-Commerce Module
You are given a codebase (Java/Spring Boot) of the order module. Perform a static analysis, document issues (e.g., god classes, tight coupling), and write a refactoring proposal…
- Code Review
- Refactoring
- Java
Open coursework - CodeBeginnerNew
Apply SOLID to a Java Reporting Service for a Renewable Energy Startup
Receive the legacy ReportService, 4 sample report templates (Daily Output, Monthly P&L, Annual Availability, Curtailment), and 22 fixtures (input dataset, expected report). Refa…
- Java
- Solid Principles
- Refactoring
Object-Oriented Programming and Design - StrategyBeginnerNew
Introduce XP Practices to a Legacy E-Commerce Codebase
Run a 6-week intervention with the 7-person checkout team. Week 1: baseline (current test coverage, defect-escape rate, story cycle time). Weeks 2-5: introduce TDD on all new co…
- Extreme Programming
- Test Driven Development
- Pair Programming
Agile Methods and Practices - StrategyBeginnerNew
IDE-Assisted Refactoring Bootcamp for a Junior Backend Team
Design a 5-day curriculum centered on 10 katas chosen for refactoring-pattern coverage (e.g., Gilded Rose for replace-conditional-with-polymorphism, Tennis kata for extract-meth…
- Refactoring
- Katas
- Ide Tooling
Refactoring and Code Smell Detection - CodeBeginnerNew
Characterization Tests for an Untested Pricing Engine
Drive the pricing engine with around 800 representative input vectors generated from anonymized production quotes (provided). For each vector, capture the current output as the …
- Characterization Tests
- Approval Testing
- Legacy Code
Refactoring and Code Smell Detection
How it works
From brief to credential, in six steps.
Step 01
Browse challenges aligned to your studies.
Step 02
Accept the one that fits your goals.
Step 03
Work through it with AI Copilot guidance.
Step 04
Submit for structured evaluation.
Step 05
Earn a verified credential.
Step 06
Add it to LinkedIn with one click.
Industry teams behind a decade of practitioner briefs
Hiring from this pool?
Sponsor a challenge and meet candidates through actual work.
Industry teams can shape briefs around the skills they hire for, then evaluate students on rubric-scored deliverables — not resumes.



















































































