Apply SOLID to a Java Reporting Service for a Renewable Energy Startup
Overview
What this challenge is about.
Apply SOLID to a Java Reporting Service for a Renewable Energy Startup. Intermediate challenge in code. Writing production code that solves real engineering ...
The Brief
What you'll do, and what you'll demonstrate.
Refactor a Java reporting service applying SOLID principles to enable plugin-style addition of new report types without modifying the core.
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
- Apply each of the 5 SOLID principles on a real codebase
- Use dependency injection to invert control of report dependencies
- Extract interfaces that consumers actually need
- Validate a refactor with fixture-based parity testing
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Object-Oriented Programming and Design
Bachelor · Programming Languages
Strong alignment
This challenge maps to Object-Oriented Programming and Design at the Bachelor 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.
- Java
Apply java to solve real industry problems and demonstrate production-level capability.
- Solid Principles
Apply solid principles 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.
- Oo Design
Apply oo design to solve real industry problems and demonstrate production-level capability.
- Interfaces
Apply interfaces 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: