Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Ewance
Sign in
Cover image for Find the Dead Code Hiding in a Python Monorepo
Code

Find the Dead Code Hiding in a Python Monorepo

FreeVerified credential2 weeksAdvanced

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-...

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

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.

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

One more thing

You can put a credential on your CV by Friday.