Information Technology Challenges
Explore information technology challenges on Ewance to develop skills companies are actively hiring for. Work on briefs covering cloud, infrastructure, security, and platform engineering.
Most Popular
- CodeSeniorNew
Detect Use-After-Free with Pointer Analysis in a C++ Codebase
Build the codebase with compilation database (compile_commands.json). Write a custom Clang static-analyzer checker (or extend an existing one) that flags resource-handle uses af…
- Pointer Analysis
- Static Analysis
- Use After Free
Program Analysis - CodeIntermediateNew
Build a Dataflow-Based Dead-Code Detector for a Python Monorepo
Build a Python tool using libcst (or ast + jedi) that constructs a call graph across the monorepo. Account for indirect references (entry points in setup.py / pyproject.toml, dy…
- Dataflow Analysis
- Ast
- Call Graph
Program Analysis - CodeSeniorNew
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 - CodeBeginnerNew
Refactor a Legacy Reporting Script for a Renewable-Energy Startup
Read the existing script and identify 5-7 distinct responsibilities tangled together. Refactor into 3 layers: data loaders (CSV, REST API), transformers (pure functions over row…
- Abstraction
- Higher Order Functions
- Refactoring
Programming Abstractions Develop in-demand professional skills.
Each challenge names the skills it strengthens. Over time, your profile fills with the competences a hiring manager would actually look for.
Why Ewance
- CodeBeginnerNew
Implement an Expression Evaluator Using Recursion and Higher-Order Functions
Implement in Python (or TypeScript). Build a tokenizer, a recursive-descent parser producing an abstract syntax tree (AST), and a tree-walking evaluator. Use higher-order functi…
- Recursion
- Higher Order Functions
- Parsing
Programming Abstractions - CodeBeginnerNew
Build a Functional Image-Filter Pipeline for a Photography SaaS
Design a Filter as a function from (pixel matrix → pixel matrix). Build a compose helper that takes a list of filters and returns a single composed filter (function composition)…
- Higher Order Functions
- Function Composition
- Abstraction
Programming Abstractions - CodeIntermediateNew
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 - DesignIntermediateNew
Design a Small Domain-Specific Language for Invoice Rules
Design a DSL grammar (BNF) covering: boolean conditions (and / or / not), comparison operators, customer-attribute references, line-attribute references, and action expressions …
- Abstraction
- Recursion
- Domain Specific Language
Programming Abstractions - Browse challenges
Explore role
Strategy Analyst
Frame the business question, model the options, build the recommendation. From market sizing to competitive analysis, this role is where strategy consulting meets in-house decision-making.
- CodeIntermediateNew
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 - CodeIntermediateNew
MinHash Similarity Sketch for a Job-Board Deduplication Pipeline
Implement a MinHash signature generator (128 permutations) over shingled job-posting text (5-gram word shingles). Build an LSH banding index (16 bands of 8 hashes each) tuned fo…
- Minhash
- Locality Sensitive Hashing
- Probabilistic Data Structures
Randomized Algorithms - CodeSeniorNew
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 - AnalysisIntermediateNew
Randomized Load Balancer with the Power of Two Choices
Simulate four placement policies on a 24-hour anonymized connection-establishment trace (around 4.1 billion events): (1) random-1, (2) round-robin, (3) P2C with instantaneous lo…
- Power Of Two Choices
- Load Balancing
- Randomized Algorithms
Randomized Algorithms Get recognized by recruiters and employers.
Credentials are blockchain-anchored via LearnCoin — tamper-evident, portable, link-shareable on LinkedIn and beyond.
Why Ewance
- CodeIntermediateNew
Reservoir Sampling for a Privacy-Preserving Telemetry Pipeline
Implement Vitter's Algorithm R (and the faster Algorithm L for bonus credit) producing a 90M-event uniform sample per day from a stream of 18B. Add per-key stratification (so lo…
- Reservoir Sampling
- Randomized Algorithms
- Streaming Systems
Randomized Algorithms - CodeIntermediateNew
Apply the Mikado Method to Untangle a Tax-Engine Class
Starting from the live codebase (Java 17, 73 percent line coverage), write a failing test that asserts the desired end state ('TaxCalculator is decomposed into per-country strat…
- Mikado Method
- Refactoring
- Strategy Pattern
Refactoring and Code Smell Detection - CodeBeginnerNew
Characterization Tests for an Untested Pricing Engine
Drive the pricing engine with around 800 representative input vectors generated from anonymized production quotes (provided). For each vector, capture the current output as the …
- Characterization Tests
- Approval Testing
- Legacy Code
Refactoring and Code Smell Detection - CodeIntermediateNew
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 - AnalysisBeginnerNew
Code-Smell Triage Workshop for a Hiring-Platform Backend
Run static analysis (SonarQube + a custom ruleset for domain-specific smells) on the four most-touched services. Score each smell on the 22-item Fowler catalog by occurrence cou…
- Code Smells
- Static Analysis
- Refactoring Prioritization
Refactoring and Code Smell Detection - StrategyBeginnerNew
IDE-Assisted Refactoring Bootcamp for a Junior Backend Team
Design a 5-day curriculum centered on 10 katas chosen for refactoring-pattern coverage (e.g., Gilded Rose for replace-conditional-with-polymorphism, Tennis kata for extract-meth…
- Refactoring
- Katas
- Ide Tooling
Refactoring and Code Smell Detection - ResearchBeginnerNew
Stakeholder Interviews for a Hospital EHR Replacement
Run 38 structured interviews (45 min each) using a question protocol covering daily workflows, top-3 pain points, and red-line constraints (e.g., 'must not add clicks per chart'…
- Stakeholder Mapping
- Requirements Elicitation
- User Interviews
Requirements Engineering - DesignBeginnerNew
Use-Case Specification for a Marketplace Disputes Workflow
Identify 5 primary use cases (e.g., 'Buyer opens dispute within 7-day window', 'Seller counters with evidence', 'Operations escalates to refund'). For each: actors, precondition…
- Use Cases
- Cockburn Template
- Requirements Specification
Requirements Engineering - DesignSeniorNew
Formal Specification of a Rate-Limit Service in TLA+
Specify the rate-limit service's lease-renewal protocol in TLA+ (PlusCal acceptable for readability). Model 3 invariants: (1) at most one node holds a lease for a tenant at any …
- Tla Plus
- Formal Specification
- Model Checking
Requirements Engineering - PresentationBeginnerNew
Requirements Validation Workshop for a Government Permits Portal
Convert the 12 main flows in the requirements document into concrete executable scenarios (think Gherkin: Given / When / Then) with realistic data (anonymized real permits). Wal…
- Requirements Validation
- Executable Scenarios
- Gherkin
Requirements Engineering - StrategyIntermediateNew
Requirements Management for a 2-Year Banking Core Migration
Pick a requirements-management tool (Jama Connect, Polarion, or a Confluence + Jira pattern) and justify the choice against the bank's audit + compliance needs. Define a metamod…
- Requirements Management
- Traceability
- Governance
Requirements Engineering - CodeIntermediateNew
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
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.
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.



















































































