Overview
What this challenge is about.
Find the Dead Code Hiding in a Python Monorepo. Advanced challenge in code. Writing production code that solves real engineering problems, earn a blockchain-...
The Brief
What you'll do, and what you'll demonstrate.
Build a static dead-code detector that reaches above 80 percent precision on its top 50 findings while correctly excluding code that is only reached through indirect references.
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
- Construct a whole-program call graph for Python by parsing source into abstract syntax trees and resolving names across modules
- Identify and correctly attribute indirect references that defeat naive reachability analysis (entry points, dynamic attribute lookups, web routes, task registration)
- Reason about static-analysis precision and recall, and measure precision honestly against hand-validated ground truth
- Translate analysis findings into a safe, reviewable refactoring plan that respects pull-request size limits
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.
- Dataflow Analysis
Apply dataflow analysis to solve real industry problems and demonstrate production-level capability.
- Ast
Apply ast to solve real industry problems and demonstrate production-level capability.
- Call Graph
Apply call graph to solve real industry problems and demonstrate production-level capability.
- Python Programming
Apply python programming to solve real industry problems and demonstrate production-level capability.
- Static Analysis
Apply static analysis to solve real industry problems and demonstrate production-level capability.
- Refactoring
Apply refactoring 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:
Software Engineer (Developer Tooling)
Engineers who build internal tooling routinely write analyzers over large codebases. This challenge mirrors that work end to end: parsing source into abstract syntax trees, building a call graph, and turning findings into changes teammates can safely review and merge.
This challenge sharpens
- ast
- call-graph
- python-programming
Static Analysis Engineer
Static-analysis roles demand precise reachability reasoning and honest precision measurement. Here you confront the exact failure mode that breaks naive tools — indirect references — and must quantify how well your analysis performs against hand-checked ground truth.
This challenge sharpens
- dataflow-analysis
- static-analysis
- call-graph
Platform / Codebase Health Engineer
Platform teams own the health of large shared repositories. This challenge bridges directly to that work: you diagnose accumulated dead code and produce a staged, low-risk refactoring plan that keeps a monorepo maintainable as the company scales.
This challenge sharpens
- refactoring
- static-analysis
- python-programming