Team Onboarding Checklist
Step-by-step onboarding process to ensure every team member writes consistent code
Team Onboarding Checklist
Overview
This checklist ensures every team member - from fresher to senior developer - understands and follows our standards to achieve "single author" code consistency. Follow these steps in order during your first week.
Mandatory: Complete each section before moving to the next. Your mentor will review your progress at each checkpoint.
Week 1: Foundation
Day 1: Understanding the Vision
Goal: Understand why consistency matters and our "single author" philosophy.
Read & Understand:
- This onboarding guide completely
- Project Structure - Understand folder organization
- Feature Implementation Decision Tree - Most Important!
Exercise:
Given these scenarios, determine where each code should go:
- A date formatting function used by checkout and profile features
- A new API endpoint for fetching user preferences
- A loading spinner used across the entire app
- A cart total calculation function
Check Your Answers
core/shared/utils/date.ts(used by 2 features, almost shared)core/domains/users/api.ts(user-related API)ui/foundation/LoadingSpinner/(atomic component, no business logic)features/cart/utils/calculateTotal.ts(cart-specific logic)
Checkpoint with Mentor:
- Explain the folder structure
- Demonstrate using the decision tree
Day 2: TypeScript & React Patterns
Goal: Master our exact coding patterns.
Read & Practice:
Coding Exercise:
Create a simple ProductCard component following ALL patterns:
Review Checklist:
- Imports in correct order
- Interface not type for props
- Function declaration not arrow function
- Styles in StyleSheet not inline
- Proper error handling for missing data
- File in correct location
Checkpoint with Mentor:
- Code review of ProductCard
- Fix any pattern violations
Day 3: State Management & Data Fetching
Goal: Understand when and how to manage different types of state.
Read:
- State Management Implementation Guide
- Server State Management Guide
- Review existing domain hooks in
core/domains/*/hooks.ts
Exercise:
Implement a product search feature:
- Create search input with debouncing
- Fetch results using React Query
- Display results with proper loading/error states
- Add filtering capabilities
Must Include:
- Debounced search (useDebounce hook)
- React Query for data fetching
- Proper error boundaries
- Loading skeletons
- Empty state handling
Common Mistakes to Avoid:
- ❌ Manual loading/error state management
- ❌ Fetching in components directly
- ❌ Global state for search results
- ✅ Domain hooks for data fetching
- ✅ Local state for UI-only data
Checkpoint with Mentor:
- Review state management choices
- Verify React Query usage
Day 4: Common Pitfalls Review
Goal: Learn from others' mistakes.
Study:
- Common Pitfalls & Solutions - Read thoroughly!
- Identify which pitfalls you've made before
Exercise - Fix the Code:
Your mentor will provide you with intentionally problematic code. Your task:
- Identify all issues
- Explain why each is wrong
- Fix following our patterns
Common issues to look for:
- Wrong file locations
- State mutations
- Missing error handling
- Performance problems
- TypeScript anti-patterns
Self-Assessment:
Rate your understanding (1-5) of:
- Where code belongs: ___
- State management choices: ___
- TypeScript patterns: ___
- Performance optimization: ___
- Error handling: ___
Checkpoint with Mentor:
- Review fixed code
- Discuss any scores below 4
Day 5: Real Feature Implementation
Goal: Implement a complete feature following all standards.
Your First Feature:
Implement a "Favorites" feature that allows users to:
- Mark products as favorites
- View list of favorite products
- Remove items from favorites
- Persist favorites locally
Required Deliverables:
Implementation Checklist:
- Used Feature Decision Tree for all code placement
- Created domain for business logic
- Used Zustand for client state
- Added proper TypeScript types
- Included error handling
- Added loading states
- Wrote tests
- No code duplication
Final Review:
- Run TypeScript check:
npx tsc --noEmit - All imports use @/ prefix
- No console warnings
- Code looks like our examples
Checkpoint with Mentor:
- Complete feature review
- Production readiness assessment
Week 2: Advanced Patterns
Advanced Topics to Master:
-
Performance Optimization
- Memoization strategies
- List rendering optimization
- Image optimization
-
Testing Patterns
- Component testing
- Hook testing
- Integration testing
-
Advanced TypeScript
- Generic components
- Type guards
- Utility types
-
Architecture Decisions
- When to create new domains
- Feature vs shared code
- Performance vs maintainability
For Mentors
Onboarding Review Checklist
Use this to track each developer's progress and identify areas needing more support.
Developer: _________________ Start Date: _________________
Day 1 Review:
- Understands folder structure
- Can use decision tree correctly
- Questions addressed: _________________
Day 2 Review:
- Component follows exact structure
- TypeScript usage correct
- Areas for improvement: _________________
Day 3 Review:
- State management choices appropriate
- React Query used correctly
- Understanding level: _________________
Day 4 Review:
- Identified all code issues
- Fixes follow patterns
- Weak areas: _________________
Day 5 Review:
- Feature is production-ready
- All standards followed
- Ready for independent work: Yes/No
Common Issues by Experience Level
Common Fresher Mistakes:
- Overwhelmed by structure → Start with decision tree
- Copy-paste without understanding → Explain the "why"
- Fear of asking questions → Encourage questions
- Skipping error handling → Show real consequences
Support Strategies:
- Pair programming for first features
- Daily check-ins first week
- Provide working examples
- Celebrate small wins
Continuous Learning
Weekly Team Practices
-
Code Review Sessions
- Review real PRs together
- Discuss pattern violations
- Share better approaches
-
Pattern of the Week
- Deep dive into one pattern
- Share examples
- Q&A session
-
Pitfall Sharing
- Share mistakes made
- How they were fixed
- Update documentation
Success Metrics
You're successfully onboarded when:
- PRs require minimal pattern corrections
- You help others with standards
- Code is indistinguishable from team style
- You contribute to documentation improvements
Quick Reference Links
Must Read Daily Until Memorized:
Reference When Needed:
Final Words
Remember: The goal isn't to restrict creativity, but to channel it within consistent patterns. When every developer follows these standards, we achieve:
- ✅ Faster onboarding
- ✅ Easier maintenance
- ✅ Better collaboration
- ✅ Higher quality code
- ✅ "Single author" consistency
Welcome to the team! 🎉
Decision Making Flow
When you receive a new feature request, follow this flow:
Key Decision Points
- Similar Feature Check: Always look for existing patterns first
- ADR Requirement: Significant architectural changes need documentation
- Test Coverage: Non-negotiable 90%+ requirement
- Documentation: Must be updated in the same PR