Level 10 / Project 12 - Onboarding Accelerator System¶
Home: README
Learn Your Way¶
| Read | Build | Watch | Test | Review | Visualize | Try |
|---|---|---|---|---|---|---|
| Concept | This project | — | Quiz | Flashcards | — | — |
Focus¶
- Builder pattern for composing personalized onboarding plans
- Role-based templates with priority-ordered tasks
- Task dependency tracking and completion progress
- Customizable plans with buddy assignments
Why this project exists¶
New-hire onboarding is expensive and inconsistent when done ad-hoc. This project codifies role-specific checklists so every engineer gets the same high-quality start. The builder pattern allows customization without a combinatorial explosion of plan variants.
Run (copy/paste)¶
Expected terminal output¶
{
"employee": "Alice Chen",
"role": "backend",
"buddy": "Bob Smith",
"total_tasks": 11,
"completion": "18%",
...
}
Alter it (required)¶
- Add a
data_engineer_templatewith tasks specific to data engineering (SQL, ETL, Spark). - Add task dependency enforcement — a task cannot be completed if its
depends_ontasks are not done. - Add an estimated duration field to each task and compute total onboarding time.
Break it (required)¶
- Try building a plan with an unknown role — observe the
ValueError. - Complete a non-existent task ID and verify it returns
False. - Create circular task dependencies and see how the system handles it.
Fix it (required)¶
- Add validation that
depends_onreferences only valid task IDs within the same plan. - Add a
block_taskmethod that marks a task as BLOCKED and explains why. - Test both fixes.
Explain it (teach-back)¶
- How does the Builder pattern differ from just using a constructor with many parameters?
- Why are tasks organized by priority (DAY_ONE, FIRST_WEEK, etc.) instead of a flat list?
- How does the buddy assignment integrate with the onboarding workflow?
- How would you extend this to generate actual scripts (e.g., shell scripts for tool setup)?
Mastery check¶
You can move on when you can:
- create a custom onboarding plan using the builder,
- add a new role template with appropriate tasks,
- track completion progress and identify blocked tasks,
- explain why the builder returns self to enable method chaining.
Related Concepts¶
| ← Prev | Home | Next → |
|---|---|---|