# Contributing to Tech Interview Roadmap

FAANG Job Roadmap

Thank you for your interest in contributing! Your contributions help thousands of candidates prepare for interviews at any tech company — from FAANG to startups. --- ## 📋 Table of Contents - [Code of Conduct](#-code-of-conduct) - [How Can I Contribute?](#-how-can-i-contribute) - [Development Setup](#-development-setup) - [Contribution Guidelines](#-contribution-guidelines) - [Pull Request Process](#-pull-request-process) - [What We Need Most](#-what-we-need-most) --- ## 📜 Code of Conduct - Be respectful and inclusive - No discrimination, harassment, or exclusionary language - Disagree on ideas, not people - Assume good intent - Celebrate effort, not just "brilliance" --- ## 🤝 How Can I Contribute? ### 1. 🐛 Report Issues Found a bug or outdated information? [Open an issue](https://github.com/swadhinbiswas/FAANG-Playbook/issues/new) with: - **Title:** Clear description of the issue - **Description:** What you found and why it's a problem - **Suggested Fix:** (Optional) How to resolve it **Examples of issues to report:** - Broken links - Outdated company interview processes - Factual errors - Unclear explanations ### 2. 📝 Add Your Interview Experience We want **authentic stories** from real candidates! **Create a file:** `08-Company-Specific-Notes/EXPERIENCES/--.md` **Example filename:** `google-backend-feb2026.md` **Use this template:** ```markdown # [Company] - [Role] - [Date] **Contributor:** [Your name or "Anonymous"] **Role Applied:** [e.g., "Backend Engineer (L4)"] **Date Interviewed:** [Month/Year] **Outcome:** [Hired / Rejected / Offer declined] ## Interview Loop ### Round 1: [Type] — [Duration] - **Topic:** [What was asked] - **Your approach:** [How you tackled it] - **Result:** [Pass / Weak pass / Fail] ### Round 2: [Type] — [Duration] [Same format...] ## What Surprised Me - [Unexpected difficulty or insight] ## What I'd Do Differently - [Lessons learned] ## Advice for Next Candidates 1. [Tip 1] 2. [Tip 2] 3. [Tip 3] ``` ### 3. 📚 Improve Documentation Help make our guides clearer and more actionable: 1. Fork the repository 2. Create a branch: `git checkout -b improve/dsa-roadmap` 3. Make your changes 4. Submit a Pull Request **What we look for:** - ✅ Accuracy (cite sources or your experience) - ✅ Clarity (can a junior understand this?) - ✅ Actionable advice (not vague tips) - ✅ Real examples and templates ### 4. 🏢 Add Company-Specific Content Have experience with a company not yet covered? **Create:** `08-Company-Specific-Notes/-specific.md` **Include:** - Company's hiring philosophy - Typical interview loop structure - Common question patterns - What they value (throughput vs quality? etc.) - Salary/leveling typical ranges - Time-to-decision benchmarks ### 5. 💻 Contribute to the Website The website is built with [Astro](https://astro.build/). See [Development Setup](#-development-setup) below. **Ways to contribute:** - Fix bugs or styling issues - Add new features - Improve accessibility - Optimize performance ### 6. 📊 Add LeetCode Data Have company-tagged LeetCode problems to add? 1. Create a CSV file in `leetcode Question/` folder 2. Format: `id,title,acceptance,difficulty,frequency,url` 3. Run the database builder script --- ## 🛠️ Development Setup ### Prerequisites - [Node.js](https://nodejs.org/) 18+ or [Bun](https://bun.sh/) (recommended) - Git - A code editor (VS Code recommended) ### Setup Steps ```bash # 1. Fork the repository on GitHub # 2. Clone your fork git clone https://github.com/YOUR-USERNAME/FAANG-Playbook.git cd FAANG-Playbook # 3. Add upstream remote git remote add upstream https://github.com/swadhinbiswas/FAANG-Playbook.git # 4. Navigate to website directory cd website # 5. Install dependencies bun install # or npm install # 6. Start development server bun run dev # or npm run dev # 7. Open http://localhost:4321 ``` ### Project Structure ``` website/ ├── src/ │ ├── components/ # Reusable UI components │ ├── content/ # Markdown documentation │ │ └── docs/ # All guide content │ ├── layouts/ # Page layouts │ ├── lib/ # Utilities and helpers │ ├── pages/ # Route pages │ │ ├── docs/ # Documentation routes │ │ └── leetcode/ # LeetCode section │ └── styles/ # Global CSS ├── public/ # Static assets ├── scripts/ # Build scripts └── astro.config.mjs # Astro configuration ``` ### Useful Commands ```bash # Development bun run dev # Start dev server bun run build # Build for production bun run preview # Preview production build # Database (LeetCode) bun run scripts/build-leetcode-db.ts # Rebuild LeetCode database ``` --- ## 📝 Contribution Guidelines ### Writing Style - **Be direct:** No marketing fluff. Assume the reader is preparing for a real interview. - **Use evidence:** Cite sources, real quotes, or your experience. - **Be specific:** - ❌ "Interviewers value clarity" - ✅ "Interviewers dock points if you code for 10 minutes before explaining your approach" - **Use examples:** Templates, checklists, and real code are 10× more useful than bullet points. ### Content Standards | ❌ Don't | ✅ Do | | ----------------------------------------- | ----------------------------- | | Copy official company pages word-for-word | Synthesize in your own words | | Include proprietary interview questions | Share patterns and principles | | Make claims without backing | Link to official sources | | Write AI-generated fluff | Provide actionable advice | ### Formatting - Use Markdown (.md) files - Organize with headers (`## H2`, `### H3`) - Keep paragraphs short - Use tables and bullet lists - Use relative paths for internal links: `[DSA Roadmap](../01-Foundations/01-DSA-and-Coding.md)` ### Commit Messages Follow conventional commits: ``` feat: add Google L5 interview experience fix: broken link in system design guide docs: improve behavioral interview examples style: format code blocks consistently ``` --- ## 🔄 Pull Request Process ### 1. Before Submitting - [ ] Test your changes locally - [ ] Check for broken links - [ ] Run the build: `bun run build` - [ ] Update any affected documentation ### 2. Creating the PR 1. Push your branch to your fork 2. Open a Pull Request against `main` 3. Fill out the PR template: - **Title:** Clear, specific description - **Description:** What and why - **Screenshots:** If applicable ### 3. Review Process 1. Maintainers will review within 1 week 2. Address any requested changes 3. Once approved, your PR will be merged 4. You'll be credited as a contributor! --- ## 🎯 What We Need Most **Priority contributions (in order):** 1. **📝 Real interview experiences** — Your actual interview transcript, what went well/poorly 2. **🏢 Company-specific hiring loops** — Detailed, recent experiences at FAANG companies 3. **🏗️ System design examples** — Deep dive solutions with diagrams 4. **👥 Role-specific guides** — Frontend, Platform, Mobile, etc. 5. **💰 Salary/leveling data** — Anonymized offer data 6. **❌ Failure case studies** — "I failed because..." + lessons learned --- ## ❓ Questions? - Open a [GitHub Discussion](https://github.com/swadhinbiswas/FAANG-Playbook/discussions) - Create an [Issue](https://github.com/swadhinbiswas/FAANG-Playbook/issues) ---

Thank you for making this roadmap better for everyone! 🎯