Design a Lock-Free Concurrent Skip List for a Time-Series Database
Overview
What this challenge is about.
Design a Lock-Free Concurrent Skip List for a Time-Series Database. Expert-level challenge in design. Designing real products under real constraints, earn a ...
The Brief
What you'll do, and what you'll demonstrate.
Replace a mutex-protected in-memory skip list with a lock-free, CAS-based design that is proven correct under model checking and demonstrably faster than the baseline under concurrent writers.
This is not a design exercise. It is the work a product designer does between a brief and a shipped interface. That distinction matters to every hiring manager who has seen candidates redesign Spotify's homepage and none who have worked under real product 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
- Design a lock-free ordered data structure using compare-and-swap and marked pointers for logical deletion
- Reason about safe memory reclamation in a concurrent setting and explain how epoch-based reclamation prevents the ABA problem
- Use a model checker (loom/shuttle) to exhaustively verify concurrent correctness within bounded interleavings
- Design and run a fair throughput benchmark against a baseline and interpret where and why a lock-free design wins or loses
- Communicate concurrency design trade-offs honestly in a written proposal aimed at an engineering team
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.
- Lock Free
Apply lock free to solve real industry problems and demonstrate production-level capability.
- Concurrent Data Structures
Apply concurrent data structures to solve real industry problems and demonstrate production-level capability.
- Rust Programming
Apply rust programming to solve real industry problems and demonstrate production-level capability.
- Model Checking
Apply model checking to solve real industry problems and demonstrate production-level capability.
- Benchmarking
Apply benchmarking to solve real industry problems and demonstrate production-level capability.
- Parallel Algorithms
Apply parallel algorithms 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:
Backend / Systems Engineer
Designing a verified lock-free index mirrors the daily work of database and storage-engine teams: removing serialization bottlenecks on hot paths while proving correctness. You leave able to defend a concurrent data-structure design to senior engineers.
This challenge sharpens
- lock-free
- concurrent-data-structures
- rust-programming
Database / Storage Engine Engineer
Time-series and OLAP engines live or die on ingest throughput. This challenge puts you inside that problem — replacing a mutex with a CAS-based structure and benchmarking it honestly — exactly what storage-engine interviews and on-the-job design reviews demand.
This challenge sharpens
- concurrent-data-structures
- benchmarking
- parallel-algorithms
Performance Engineer
Performance roles require turning a profiling finding into a measured improvement. Here you quantify a write-path bottleneck against a baseline, build the fix, and report where it regresses — the full evidence-driven loop a performance engineer owns.
This challenge sharpens
- benchmarking
- parallel-algorithms
- rust-programming