90-Day Execution Plan
📖 Concept
This is your battle plan. Knowledge without execution is worthless. This 90-day plan turns the entire roadmap into a structured study and practice program.
Phase breakdown:
Days 1-30: Foundation (Deep Fundamentals)
Goal: Master JS/TS internals, React internals, and RN architecture.
| Week | Focus Area | Deliverables |
|---|---|---|
| Week 1 | JS Engine Internals (Phase 2) | Explain event loop, closures, prototype chain from memory. Write 10 code exercises. |
| Week 2 | React Internals (Phase 3) | Explain Fiber, reconciliation, hooks linked list. Profile a real app. |
| Week 3 | RN Architecture (Phase 4) | Explain Bridge vs JSI, Fabric, Hermes. Create a TurboModule. |
| Week 4 | Performance (Phase 5) | Optimize a real app — before/after metrics for startup, FlatList, re-renders. |
Daily routine (Days 1-30):
- 30 min: Read/study one topic from the current phase
- 45 min: Code exercises and experiments
- 15 min: Write notes in your own words (teaching yourself)
- 15 min: Practice 3 interview questions from the topic
Days 31-60: Architecture & Design (Staff-Level Thinking)
Goal: Design systems, make architectural decisions, build portfolio.
| Week | Focus Area | Deliverables |
|---|---|---|
| Week 5 | Architecture (Phase 6) + State Mgmt (Phase 7) | Write ADR for state management choice. Implement feature-based architecture. |
| Week 6 | Native Integration (Phase 8) | Create a native module. Implement push notifications + deep linking. |
| Week 7 | System Design (Phase 9) | Design 2 systems (chat app, e-commerce). Full architecture diagrams. |
| Week 8 | Debugging + Testing (Phase 10, 11) | Set up Sentry. Write test suite (unit + integration + E2E). |
Daily routine (Days 31-60):
- 30 min: Study architecture/design patterns
- 60 min: Build portfolio project features
- 15 min: System design practice (draw diagrams, discuss trade-offs)
- 15 min: Mock interview question practice
Days 61-90: Interview Preparation (Peak Readiness)
Goal: Interview-ready. Articulate, fast, and comprehensive.
| Week | Focus Area | Deliverables |
|---|---|---|
| Week 9 | Interview questions bank (Phase 12) | Complete all 50 RN questions with self-assessed scores. |
| Week 10 | Leadership + Communication (Phase 13) | Write an RFC, prepare 3 behavioral stories (STAR format). |
| Week 11 | Portfolio polish (Phase 14) | README, architecture docs, demo video. Deploy to TestFlight. |
| Week 12 | Mock interviews + review | 4 mock interviews (2 technical, 2 system design). Review weak areas. |
Daily routine (Days 61-90):
- 30 min: Review weak areas from self-assessment
- 45 min: Mock interview practice (answer out loud)
- 30 min: Polish portfolio project
- 15 min: Behavioral story practice (STAR format)
Weekly milestones checklist:
Week 1: ☐ Can explain event loop with code example ☐ Wrote 5 closure exercises Week 2: ☐ Can explain Fiber architecture ☐ Used React Profiler on a real app Week 3: ☐ Created a TurboModule ☐ Can explain Bridge vs JSI with diagrams Week 4: ☐ Before/after performance metrics documented ☐ Optimized a FlatList Week 5: ☐ ADR written ☐ Feature-based architecture implemented Week 6: ☐ Push notifications + deep linking working ☐ Native module created Week 7: ☐ 2 system designs documented with diagrams Week 8: ☐ Sentry integrated ☐ 80%+ test coverage on business logic Week 9: ☐ Completed 50 RN interview questions ☐ Scored >80% full marks Week 10: ☐ RFC written ☐ 3 behavioral stories prepared Week 11: ☐ Portfolio deployed ☐ Demo video recorded Week 12: ☐ 4 mock interviews completed ☐ All weak areas reviewed
💻 Code Example
1// === TRACKING SYSTEM ===23// Create a simple tracking spreadsheet or use this structure:4const studyTracker = {5 daily: {6 date: '2024-03-20',7 phase: 'Phase 2: JS/TS Mastery',8 topic: 'Event Loop & Microtasks',9 timeSpent: '1.5 hours',10 activities: [11 'Read topic explanation',12 'Coded 3 event loop exercises',13 'Practiced 3 interview questions',14 'Wrote summary notes',15 ],16 selfAssessment: {17 understanding: 4, // 1-518 canExplainToOthers: 3,19 canCodeFromMemory: 4,20 },21 weakAreas: ['Priority of microtask queue vs macrotask queue timing'],22 nextFocus: 'Memory management & garbage collection',23 },2425 weekly: {26 week: 2,27 focus: 'React Internals',28 milestones: {29 'Explain Fiber architecture': true,30 'Use React Profiler': true,31 'Understand hooks linked list': false, // Need more practice32 },33 mockInterviewScore: null, // Start in week 934 portfolioProgress: '15%',35 notesLink: 'notion.so/react-internals-notes',36 },37};3839// === BEHAVIORAL STORY FORMAT (STAR) ===4041const behavioralStories = {42 technicalDecision: {43 situation: 'Our app had 2% crash rate, team was demoralized by constant firefighting',44 task: 'Reduce crash rate to 0.5% and establish processes to prevent regression',45 action: [46 'Categorized all crashes by type (JS vs Native vs OOM)',47 'Prioritized top 5 crashes (covered 80% of occurrences)',48 'Implemented error boundaries on every screen',49 'Added runtime API response validation with Zod',50 'Set up crash rate monitoring in CI — blocked releases above threshold',51 'Created on-call runbook for crash investigations',52 ],53 result: [54 'Reduced crash rate from 2% to 0.3% in 6 weeks',55 'Team velocity increased 30% (less firefighting)',56 'Process adopted by 3 other mobile teams in the company',57 ],58 },5960 conflictResolution: {61 situation: 'Two senior engineers disagreed on state management approach (Redux vs Zustand)',62 task: 'Make a decision that both engineers could support',63 action: [64 'Organized a design review with both engineers presenting their case',65 'Created an evaluation matrix with weighted criteria (team expertise, performance, migration cost)',66 'Ran a time-boxed proof-of-concept with each approach (2 days each)',67 'Gathered quantitative data: bundle size, re-render counts, boilerplate LOC',68 'Wrote an ADR documenting the decision and rationale',69 ],70 result: [71 'Team chose Zustand for new features, agreed on incremental Redux migration',72 'Both engineers felt heard and supported the decision',73 'ADR became the template for all future technical decisions',74 ],75 },7677 leadership: {78 situation: 'New architecture migration needed but no one had capacity',79 task: 'Drive the migration while maintaining feature velocity',80 action: [81 'Created an RFC with phased migration plan (3 months)',82 'Mentored 2 mid-level engineers on the new architecture',83 'Each feature team migrated their own module (distributed ownership)',84 'Created a migration guide with step-by-step examples',85 'Set up weekly architecture office hours for questions',86 ],87 result: [88 'Migration completed in 10 weeks (ahead of schedule)',89 'Two mid-level engineers gained architecture skills (promoted to senior within 6 months)',90 'Build times reduced by 40% with new architecture',91 ],92 },93};
🏋️ Practice Exercise
Week 1 Action Items (start today):
- Set up your study tracking system (spreadsheet, Notion, or plain markdown)
- Study Phase 2, Topic 1 (Event Loop) — read, code, practice questions
- Create a new React Native project for your portfolio (use RN 0.76+ with New Architecture)
- Set up 3 recurring calendar blocks: morning study (30 min), evening coding (45 min), weekend review (2 hours)
- Find a study partner or mentor for weekly mock interviews (start in Week 9, but schedule NOW)
- Join the React Native Discord/Community for discussion and motivation
⚠️ Common Mistakes
Trying to study everything at once — follow the 90-day sequence; each phase builds on the previous
Only reading without coding — understanding comes from DOING; write code for every topic
Skipping the portfolio project — interview answers backed by real work are 10x more convincing
Not practicing verbal explanations — knowing the answer in your head ≠ articulating it clearly in an interview
Studying alone for 90 days without mock interviews — the interview format itself needs practice; start mocks by Week 9
Burning out with 4-hour study sessions — 90-120 minutes daily is sustainable and effective
💼 Interview Questions
🎤 Mock Interview
Mock interview is powered by AI for 90-Day Execution Plan. Login to unlock this feature.