Engineering task library · Version 5 Work that feels like work. Design a system. Diagnose tail latency. Ship a migration. Recover a failed rollout. Pick a focused ticket or follow a project through its delivery phases.
1380 tickets · 138 projects · 26 engineering fields · Four difficulty levels
Practice briefs Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included. Completing a ticket does not issue a credential.
AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Pattern topics identify design choices to practice. Read the ticket's acceptance criteria and justify the simplest suitable approach. Tags are not capability or ownership evidence; an untagged ticket has no curated pattern topic assigned.
Field counts and the engineering field filter use each project's primary field. Estimated ticket labels can span multiple fields.
Backend 60 Data engineering 50 Platform engineering 50 Security 50 Frontend 60 Mobile 50 Developer tooling 50 Quality engineering 50 Applied AI 50 Integrations 60 Real-time systems 50 Accessibility 50 System design 60 Performance engineering 50 Database engineering 50 Distributed systems 60 Site reliability 50 Cloud infrastructure 50 Networking 50 API design 50 Storage systems 50 Compiler and language tooling 60 Embedded and edge 50 Privacy engineering 50 Systems programming 60 DevOps 60 CTIMER-103 Task Intermediate
Long cache refreshes cause catch-up bursts because scheduling alternates between fixed-rate and fixed-delay behavior. Choose fixed-delay for this job class.
A deterministic edge-job scheduler emulatorCTIMER-104 Bug Advanced
A cancelled timer callback runs after a replacement job is registered. Bind callbacks to registration generation.
A deterministic edge-job scheduler emulatorCTIMER-105 Task Advanced
Cache refresh and cleanup run simultaneously and contend for the same fixture directory. Add scoped single-flight admission.
Estimated field mix
Embedded and edge 70% Performance engineering 30% A deterministic edge-job scheduler emulatorCTIMER-106 Story Intermediate
A failed maintenance job retries forever and hides the original error. Add attempt limits and a terminal visible outcome.
Estimated field mix
Embedded and edge 70% Site reliability 30% A deterministic edge-job scheduler emulatorCTIMER-107 Bug Expert
Restarting after a long pause runs every missed interval at once. Persist minimal schedule state and coalesce missed runs.
Estimated field mix
Embedded and edge 70% Storage systems 30% A deterministic edge-job scheduler emulatorCTIMER-108 Task Advanced
Frequent urgent cache checks prevent cleanup from ever running. Add bounded fairness to the ready queue.
Estimated field mix
Embedded and edge 60% Performance engineering 40% A deterministic edge-job scheduler emulatorCTIMER-109 Chore Intermediate
A slow-started job is blamed on execution time because metrics combine queue delay and work duration. Separate them.
Estimated field mix
Embedded and edge 50% Performance engineering 30% Site reliability 20% A deterministic edge-job scheduler emulatorCTIMER-110 Story Intermediate
Engineers cannot explain why a job was skipped after restart. Export bounded state transitions without running jobs.
Estimated field mix
Developer tooling 50% Embedded and edge 50% A deterministic edge-job scheduler emulatorCJOUR-101 Task Foundational
The byte-array stub permits writes that real flash-like storage would reject. Declare and enforce the chosen emulator model.
Estimated field mix
Embedded and edge 60% Storage systems 40% A power-loss-tolerant edge event journalCJOUR-102 Task Foundational
Truncated synthetic records are indistinguishable from valid short payloads. Add explicit length and integrity fields.
Estimated field mix
Embedded and edge 50% Storage systems 50% A power-loss-tolerant edge event journalCJOUR-103 Bug Intermediate
Retried uploads mint new event IDs and duplicate accepted readings. Persist identity with the original record.
Estimated field mix
Embedded and edge 50% Distributed systems 30% Storage systems 20% A power-loss-tolerant edge event journalCJOUR-104 Task Advanced
A record appears readable before its body finishes writing. Introduce a commit-marker protocol compatible with the emulator.
Estimated field mix
Storage systems 60% Embedded and edge 40% A power-loss-tolerant edge event journalCFRAME / Embedded and edge Decode bounded byte streams and recover serial-link framing errors in software.
CTIMER / Embedded and edge Schedule noncritical local maintenance jobs across clock changes, cancellation and restart.
CJOUR / Embedded and edge Persist synthetic gateway events in a bounded software flash emulator.
CUPDATE / Embedded and edge Stage, validate and switch synthetic software images in an A/B slot emulator.
CCONFIG / Embedded and edge Deliver and acknowledge bounded synthetic configuration changes through a local gateway emulator.
Take the brief into your own workflow. For engineers Practice scoped changes, keep a portable implementation and verification record, and learn to explain operational tradeoffs. Choose a ticket whose prerequisites you can provide.
For companies Use realistic work to structure onboarding, internal practice, and conversations about engineering decisions. Each project names the delivery benefit. Agree scope and compensation before requesting company-specific work.
CSV contains one row per ticket. Map fields and issue types in your tracker; project grouping and dependency keys are descriptive. JSON preserves the complete project structure. These downloads do not synchronize with Jira.