Software Engineering
Backend Engineer
If you like the kind of work a Backend Engineer does, every challenge here gives you a chance to do that work on a real industry brief.
- CodeIntermediateNew
Design a Race-Free Cache for a Read-Heavy Service
Implement a thread-safe LRU-bounded cache in Java (or Go — your choice, defend it) with: read-write lock or copy-on-write semantics, get-or-load pattern with single-flight to de…
- Concurrent Data Structures
- Race Conditions
- Single Flight
Concurrent and Parallel Programming - CodeAdvancedNew
Build an Indexer for an On-Chain DeFi Analytics Product
Receive the 6 protocols' ABIs + the team's required event coverage spec (around 40 event types). Build a TypeScript indexer using viem + Postgres: subscribe to new blocks via We…
- Blockchain Indexing
- Typescript
- Ethereum
Blockchain and Decentralized Systems Engineering - CodeExpertNew
Design a Lock-Free Concurrent Skip List for a Time-Series Database
Implement Fraser's lock-free skip list in Rust with marked pointers for logical deletion. Validate under loom for all interleavings up to 4 threads (or use shuttle if loom can't…
- Lock Free
- Concurrent Data Structures
- Rust Programming
Parallel and Distributed Algorithms - CodeIntermediateNew
Structured Logging Migration for a Healthcare SaaS Monolith
Receive the current Lograge-flavored Rails logger and 3 sample log files (anonymized PHI). Design: a structured-log JSON schema (request_id, user_id, route, status, duration_ms,…
- Structured Logging
- Loki
- Phi Redaction
Software Observability Practice your coursework on real scenarios.
Every challenge is shaped from real industry context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodeAdvancedNew
Build a GraphQL Federation Schema for an E-Commerce Platform
Receive the existing 22 REST endpoints' OpenAPI specs and a list of 5 priority subgraphs. Design a federated GraphQL schema using Apollo Federation v2 directives (@key, @externa…
- Graphql
- Graphql Federation
- Api Design
API Design and GraphQL - CodeAdvancedNew
Add Idempotency Keys to a Payment Webhook System
Read the current Go webhook-sender code and 30 days of duplicate-delivery incident logs. Design the idempotency scheme: server-generated key per event (UUID v7 — time-ordered), …
- Api Design
- Idempotency
- Webhooks
API Design and GraphQL - CodeAdvancedNew
Design a Saga Orchestrator for a Cross-Border Payments Flow
Model the payment flow as a saga: 6 forward steps + their compensations. Choose between orchestration (Temporal) and choreography (event-driven via Kafka) and defend the choice.…
- Saga Pattern
- Temporal Workflow
- Compensation Logic
Event-Driven Architecture - CodeBeginnerNew
Parallelize an Image-Processing Pipeline with Data Parallelism
Receive the current pipeline (Python 3.12, ~600 lines, uses Pillow + ffmpeg), a representative batch (1,000 images averaging 3MB each), and host specs (16 cores, 32GB RAM). Rewr…
- Data Parallelism
- Python
- Multiprocessing
Concurrent and Parallel Programming - 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.
- CodeIntermediateNew
Diagnose and Fix a Deadlock in a Multi-Threaded Payments Service
Receive the service source (Java 21 + Spring Boot, around 30,000 lines), 4 thread dumps from production deadlocks, and a load harness that reproduces the bug roughly 1 in 50 run…
- Deadlock Analysis
- Locks And Monitors
- Java
Concurrent and Parallel Programming - CodeAdvancedNew
Strangler-Fig Modernization of a Healthcare Reporting Service
Audit the report categories (around 14) and pick operating-theater utilization for the pilot extraction (high volume, moderate complexity, low regulatory blast-radius). Design t…
- Strangler Fig
- Legacy Systems
- Feature Flags
Software Evolution and Maintenance - CodeAdvancedNew
Stand Up Contract Testing for a Microservices Backend
Inventory the 18 services and pick the 6 producer-consumer pairs with the most staging breakages in the last 90 days. Stand up a Pact broker (self-hosted or PactFlow trial). For…
- Contract Testing
- Pact
- Microservices
Software Testing and Quality Assurance - CodeExpertNew
Implement Raft Consensus for a Self-Hosted Feature-Flag Service
Implement the core Raft algorithm (leader election, log replication, snapshotting) from the original Ongaro & Ousterhout paper. Use an embedded key-value store (BoltDB or sled) …
- Raft Consensus
- Go Programming
- Grpc
Distributed Systems 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
- CodeAdvancedNew
Implement a Persistent Immutable List for a Collaborative-Editing Startup
Implement in Python (or TypeScript / Kotlin). Build a persistent immutable list with operations: get, set, append, pop, slice, concat. Use structural sharing (32-way vector trie…
- Data Abstraction
- Recursion
- Persistent Data Structures
Programming Abstractions - CodeAdvancedNew
Build an Event-Sourced Inventory System for a Warehouse
Design the event model: 12-15 events covering the warehouse lifecycle. Implement using EventStoreDB (or Kafka + a snapshotting projection layer) in Go or C#. Build at least 3 re…
- Event Sourcing
- Cqrs
- Eventstoredb
Event-Driven Architecture - CodeAdvancedNew
Multi-Tenant SaaS Backend with Postgres Row Security
Design the multi-tenant schema: shared tables with a tenant_id column, indexed appropriately. Write a forward + backward migration (using Drizzle or Prisma). Implement Postgres …
- Multi Tenant Architecture
- Postgresql
- Row Level Security
Web Application Development - CodeBeginnerNew
Rule-Based Intent Classifier for a Customer-Support Triage Bot
Build a rule-based classifier in Python that runs ordered rules (regex + keyword + simple heuristics) against ticket subject + body. Use a hierarchical rule structure (high-prec…
- Knowledge Representation
- Rule Based Systems
- Python Programming
Introduction to Artificial Intelligence (CS Elective) - CodeAdvancedNew
Parallelize a Monte Carlo Risk Engine for a Quant Hedge Fund
Profile the existing engine (C++17, single-threaded). Identify the parallelism axis (per-path independence is the obvious one — but watch for the global RNG bottleneck). Impleme…
- Parallel Algorithms
- Shared Memory
- Work Stealing
Parallel and Distributed Algorithms - CodeAdvancedNew
Apply Hexagonal Architecture to a Payments Microservice
Design the settlement domain in pure Kotlin (no Spring imports, no framework annotations). Define ports for: payment-network adapter (one inbound per network — SEPA, Faster Paym…
- Hexagonal Architecture
- Ports And Adapters
- Kotlin Programming
Domain-Driven Design - CodeBeginnerNew
Replace a Naive List with a Heap in a Delivery Dispatcher
Read the current dispatcher source (around 400 lines of Python). Identify the linear scan and the operations that touch it (insert, decrease-key on a re-scored courier, extract-…
- Heap Data Structure
- Complexity Analysis
- Python
Data Structures - CodeAdvancedNew
Randomized Sketch Algorithm for Stream Cardinality
Read the HLL paper (Flajolet et al., 2007) and a sample of 30 minutes of customer trace IDs (around 80M events). Implement HLL from scratch in Go (no library imports). Run bench…
- Randomized Algorithms
- Sketching
- Algorithm Analysis
Advanced Algorithms - CodeIntermediateNew
Refactor a Node.js Service into Scala with Effect Systems
Take the existing Node.js price-normalization code (provided). Rewrite in Scala 3 using ZIO (or Cats Effect) — model every effect explicitly (IO for side effects, Either or type…
- Scala Programming
- Zio Effects
- Cats Effect
Functional Programming - CodeAdvancedNew
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 - CodeIntermediateNew
Build an Embedding-Based Semantic Search for a Legal-Document Corpus
Embed the 380k-document corpus using a multilingual sentence-transformer (e.g. multilingual MPNet or LaBSE). Store embeddings in FAISS or pgvector. Build a search service that r…
- Deep Learning
- Ml Applications
- Python Programming
Machine Learning (CS Elective) - CodeIntermediateNew
Churn-Prediction Model for a B2B Vertical SaaS
Use 18 months of anonymized data (provided) covering: usage events, login frequency, support tickets, NPS responses, billing health, feature adoption, practice firmographics. De…
- Supervised Learning
- Python Programming
- Ml Applications
Machine Learning (CS Elective) - CodeAdvancedNew
Forecasting Model for Online-Game Daily Active Users
Build forecasts at 14-day horizon per region using: (1) classical baseline — SARIMA or Prophet; (2) ML approach — gradient-boosted regressor on engineered features (day-of-week,…
- Supervised Learning
- Time Series Forecasting
- Python Programming
Machine Learning (CS Elective) - CodeAdvancedNew
Implement Bulk Synchronous Parallel PageRank on a 1.5B-Edge Graph
Choose either Apache Spark + GraphX (Pregel API) or a vanilla MPI + C++ implementation. Run 25 iterations of PageRank on the 1.5B-edge graph (graph file format provided: CSR par…
- Parallel Algorithms
- Bsp
- Graph Algorithms
Parallel and Distributed Algorithms - CodeBeginnerNew
Optimize a Slow Search Function for a Recipe Marketplace
Receive the current Python function (nested loop over (recipe_title, ingredient_list) pairs), the 400k-row dataset (CSV), and 20 representative queries. Step 1: write up the cur…
- Algorithm Analysis
- Big O
- Data Structures
Algorithm Design and Analysis - CodeAdvancedNew
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 - CodeAdvancedNew
Debug a Race Condition in a Real-Time Collaboration Service
Build a deterministic load-test harness (k6 or Playwright) that reproduces the corruption within 3 attempts on a clean local stack. Capture traces with OpenTelemetry to localize…
- Debugging
- Concurrency
- Load Testing
Software Construction - CodeIntermediateNew
Build a Bounded Concurrent Queue for a Microservice Worker Pool
Implement a bounded concurrent queue in Go (no third-party queue libraries; standard library + sync primitives only) that supports: Put(item) blocks when full, TryPut(item, time…
- Concurrent Data Structures
- Mutex And Condvar
- Go
Concurrent and Parallel Programming - CodeAdvancedNew
Implement Federated Learning for a Government Statistics Office
Use Flower as the FL framework. Simulate 8 municipalities each with a partition of a synthetic wage dataset (provided, 1M rows, EU-Labour-Force-Survey schema). Train a gradient-…
- Federated Learning
- Differential Privacy
- Python Programming
Privacy-Enhancing Technologies - CodeAdvancedNew
Build a BM25 + Embeddings Hybrid Search for a Legal-Tech Document Portal
Stand up an OpenSearch cluster with BM25 indexing on the 2.4M-document corpus. Generate dense embeddings (you choose the model; justify cost and quality trade-offs) and index th…
- Information Retrieval
- Bm25
- Vector Search
Data Mining and Information Retrieval - CodeIntermediateNew
Implement Authentication and Access Control for a Civic Portal
Receive the current Next.js + Express prototype, the data model (residents, requests, documents, audit log), and the 4 staff roles (resident, clerk, supervisor, auditor) with th…
- Authentication
- Authorization
- Rbac
Introduction to Computer Security - CodeExpertNew
Design a Raft-Based Consensus Layer for a Multi-Region Database
Implement Raft in Go per the original Ongaro-Ousterhout paper: leader election, log replication with the safety property, snapshotting at 10K-entry granularity, and joint-consen…
- Distributed Consensus
- Raft
- Fault Tolerance
Parallel and Distributed Algorithms - CodeAdvancedNew
Property-Based Testing for a SEPA Payments Library
Read the SEPA Pain.001 XSD (XML Schema Definition) and pick 5 invariants the parser MUST preserve (e.g., 'sum of transactions equals control sum', 'IBAN passes mod-97 check', 'c…
- Property Based Testing
- Fuzz Testing
- Go
Software Testing and Quality Assurance - CodeAdvancedNew
Build a User-Space File System with FUSE for a Storage Startup
Build a FUSE driver (your choice of Rust + fuser crate or Go + bazil/fuse) that proxies POSIX operations to the startup's existing S3-compatible REST API (mock provided). Suppor…
- File Systems
- Fuse
- Rust Programming
Operating Systems - CodeAdvancedNew
Multi-Tenant Schema Migration for a Series-B HR SaaS
Design a 4-phase migration: (1) add new columns + tables, dual-write on every workflow mutation, (2) backfill 3.4 TB in chunks of around 50k rows per minute with throttling and …
- Multi Tenant Architecture
- Schema Migration
- Dual Write
Engineering Software as a Service - CodeAdvancedNew
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
Knowledge-Graph Recommender for a Niche Online Bookstore
Model the catalog as a knowledge graph (nodes: books, authors, genres, themes, eras, awards; edges: wrote, in-genre, has-theme, won, similar-to). Use Neo4j or a simple Python in…
- Knowledge Representation
- Knowledge Graphs
- Python Programming
Introduction to Artificial Intelligence (CS Elective) - CodeAdvancedNew
Bloom Filter Cache to Cut Origin Load at a CDN Edge
Given a target false-positive rate of 1 percent at 200 million keys per shard, compute the optimal bit-array size (m) and hash-function count (k) using the canonical formulas. I…
- Bloom Filters
- Probabilistic Data Structures
- Hash Functions
Randomized Algorithms - CodeExpertNew
HyperLogLog Cardinality for Real-Time Ad-Auction Analytics
Implement HyperLogLog with precision parameter p in {12, 14, 16} (4KB, 16KB, 64KB sketches) and benchmark relative error on a replayed 3-hour production trace (around 13 billion…
- Hyperloglog
- Probabilistic Data Structures
- Streaming Systems
Randomized Algorithms - CodeExpertNew
Abstract-Interpretation-Based Configuration Validator for a SaaS Platform
Define an abstract domain capturing relations between configuration fields (e.g. 'if billing.plan = enterprise then features.audit_log = true'). Implement an abstract-interpreta…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Program Analysis - CodeAdvancedNew
Build a Real-Time Fraud-Detection Stream for a Card Issuer
Design the stream topology: authorization events in, customer-feature state (30-day rolling) maintained in state store, scoring function applied per event, fraud-score emitted t…
- Apache Flink
- Kafka Streams
- Stream Processing
Event-Driven Architecture - CodeAdvancedNew
Design a Change-Data-Capture Pipeline for an E-Commerce Reseller
Receive the MySQL schema (220 tables), 7 days of binlog samples, and the data team's freshness + correctness requirements. Design the CDC pipeline: Debezium for MySQL binlog cap…
- Change Data Capture
- Debezium
- Kafka
Big Data and Data-Intensive Systems - CodeAdvancedNew
Design a Lock-Free Concurrent Queue for an Event Bus
Implement an MPSC (multi-producer single-consumer) ring-buffer queue in Go using atomic operations only — no mutexes. Prove correctness with the Go race detector across 8 produc…
- Concurrent Data Structures
- Lock Free Programming
- Go
Data Structures - CodeExpertNew
Build a Real-Time Cascade Detection Pipeline for a Trading Platform
Receive 6 months of anonymized trade events (timestamp, ticker, side, volume, account_segment) plus a static follower graph among 50k 'top trader' accounts. Build a streaming pi…
- Streaming
- Network Science
- Graph Analysis
Network Science and Computational Social Science - CodeIntermediateNew
Build a Reliable Transport Layer Over UDP
Implement in Go: connection establishment (3-way handshake), sequenced and acknowledged data segments, retransmission timer with exponential backoff, fast retransmit on triple d…
- Tcp Ip
- Reliable Transport
- Udp
Computer Networks - CodeAdvancedNew
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 - CodeAdvancedNew
Build a Streaming Pipeline for Real-Time Fraud Detection
Receive 30 days of anonymized card-transaction events (around 240M events total), the team's existing batch features (cardholder behavior summaries), and a pre-trained fraud-sco…
- Stream Processing
- Kafka
- Flink
Big Data and Data-Intensive Systems - CodeAdvancedNew
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
Software Construction
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.
Related roles you may want to explore
Browse all roles →Software Engineering
Frontend Engineer
Software Engineering
Full-Stack Engineer
Software Engineering
Mobile Engineer
Software Engineering
Software Engineer
US$163,883
Builds the software products and platforms a company runs on — ships code, debugs production, mentors junior engineers, and pushes back on bad specs.
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.
Skills and disciplines shown on this page are derived from the Ewance challenge catalogue. When the median annual salary is available for this role via Adzuna, it will be shown above with the sample size and country.



















































































