_private/qwestly-private-docs/HR/Personnel/cohen/Internship Learning Plan - Cohen Russell (shareable).md
Table of Contents
Cohen Russell - Summer Backend Engineering Internship
Welcome to Qwestly!
This 5-week program is designed to take you from JavaScript fundamentals to contributing meaningfully to our backend systems. You'll learn modern web development while working on real projects that impact our AI-powered hiring platform.
Week 1: JavaScript Foundations & Node.js
What You'll Learn
- Modern JavaScript (ES6+) and asynchronous programming
- Node.js basics and the npm ecosystem
- File system operations and data processing
- Development environment setup
Daily Breakdown
Days 1-2: JavaScript Deep Dive
- Study: JavaScript.info - Focus on variables, functions, objects, arrays, promises, async/await
- Practice: Build scripts that process data, work with files, and handle async operations
- Goal: Master the fundamentals of modern JavaScript
Days 3-4: Node.js Development
- Study: Node.js Documentation and npm basics
- Project: Build a command-line tool that processes files and outputs results
- Learn: How to create, run, and package Node.js applications
Day 5: Development Setup
- Set up VS Code with Node.js extensions
- Learn Git workflow and clone Qwestly repositories
- Explore our project structure and development tools
Week Goal: Build and deploy a CLI tool that demonstrates JavaScript and Node.js proficiency
Week 2: APIs & Databases
What You'll Learn
- REST API concepts and HTTP methods
- Database design principles and MongoDB
- API development with Express.js
- Data validation and error handling
Daily Breakdown
Days 1-2: API Development
- Study: Express.js Guide and REST API principles
- Project: Build a REST API with CRUD operations
- Focus: HTTP status codes, middleware, routing, and request validation
Days 3-4: Database Operations
- Study: MongoDB Manual and database design
- Project: Design schemas and build API endpoints that interact with MongoDB
- Learn: Queries, indexing, aggregation, and optimization basics
Day 5: Putting It Together
- Connect your API to MongoDB
- Add proper error handling and validation
- Test your endpoints and debug issues
Week Goal: Complete API with database integration for a domain like task management or user profiles
Week 3: Python Backend & Real Contributions
What You'll Learn
- Python for backend development
- FastAPI framework (what Qwestly uses)
- Our existing backend architecture
- Contributing to real issues in our codebase
Daily Breakdown
Days 1-2: Python & FastAPI
- Study: Python Tutorial and FastAPI Tutorial
- Project: Convert your Express API to FastAPI
- Learn: Python type hints, Pydantic models, and API documentation
Days 3-4: Qwestly Backend Exploration
- Set up our api-python development environment
- Study existing FastAPI routes and data models
- Understand our document processing pipeline
- Review authentication and validation patterns
Day 5: First Real Contribution
- Pick up a GitHub issue (like LinkedIn profile URL sanitization)
- Implement, test, and submit your first pull request
- Go through code review process with the team
Week Goal: Successfully merge a pull request that fixes a real backend issue
Week 4: Advanced Backend Systems
What You'll Learn
- Logging and monitoring systems
- Cloud services (AWS S3, CloudWatch)
- Performance optimization techniques
- Working with larger, more complex systems
Daily Breakdown
Days 1-2: Logging & Monitoring
- Study our Vercel log drain system
- Learn about structured logging and log aggregation
- Project: Build improvements to our log processing pipeline
- Understand AWS CloudWatch and monitoring best practices
Days 3-4: Cloud Services & File Processing
- Study: AWS SDK Documentation and Supabase docs
- Learn S3 file operations and our document processing workflow
- Explore vector databases and embedding systems
- Understand how our AI features work behind the scenes
Day 5: Major Feature Work
- Take on a substantial backend improvement project
- Could be: enhanced logging, file processing optimization, or new API endpoints
- Plan implementation and start building
Week Goal: Significant backend improvement that enhances system performance or capabilities
Week 5: Full-Stack Integration & AI Systems
What You'll Learn
- How frontend and backend systems integrate
- AI/ML integration patterns with LangChain
- Document processing and RAG (Retrieval-Augmented Generation)
- Advanced system design concepts
Daily Breakdown
Days 1-2: Full-Stack Understanding
- Learn how Next.js communicates with our backend APIs
- Study authentication flows and security patterns
- Understand CORS, API protection, and data flow
- See how your backend work impacts the user experience
Days 3-4: AI Integration
- Explore LangChain patterns in our codebase
- Learn about prompt engineering and AI workflows
- Understand document chunking, embeddings, and vector search
- Project: Build a document analysis API endpoint with AI integration
Day 5: Capstone Project
- Design a substantial backend project based on what you've learned
- Create technical documentation for your approach
- Begin implementation with guidance from the team
- Present your work and learning journey
Week Goal: Complete technical design and initial implementation of a major backend project
Technologies You'll Master
Backend Focus (Primary)
- Python & FastAPI - Modern API development
- MongoDB - Document database operations
- AWS Services - Cloud storage and monitoring
- LangChain - AI/ML integration framework
- Authentication & Security - Data protection practices
Full-Stack Understanding
- JavaScript/TypeScript - Frontend communication
- Next.js - How APIs connect to user interfaces
- REST API Design - Building scalable web services
- Git & GitHub - Professional development workflow
What Makes This Different
Real Impact
You'll work on actual features and fixes that improve Qwestly's platform. Your code will help hiring managers and job seekers have better experiences.
Cutting-Edge Tech
You'll learn the same technologies used by top tech companies, including AI integration that's becoming increasingly important.
Mentorship
Direct guidance from experienced engineers who want to see you succeed and grow.
Career Preparation
By the end, you'll have real open-source contributions, a portfolio of projects, and hands-on experience with professional development practices.
Daily Schedule
Typical Day Structure (12 PM - 5 PM Pacific)
- Early Afternoon (12 PM - 2:30 PM): Learning and studying new concepts
- Mid Afternoon (2:30 PM - 4:30 PM): Hands-on project work and coding
- End of Day (4:30 PM - 5 PM): Quick check-in with progress and questions
Weekly Rhythm
- Mondays: Week planning and goal setting with Dominick
- Wednesdays: Mid-week check-in and problem-solving session
- Fridays: Progress review and preparation for next week
Support System
- Slack/Discord: Quick questions throughout the day
- Code Reviews: Feedback on your GitHub submissions
- Pair Programming: Work together on challenging problems
Success Metrics
Technical Growth
- Write clean, working Python and JavaScript code
- Build and maintain REST APIs independently
- Design efficient database schemas and queries
- Debug and troubleshoot issues methodically
- Understand how complex systems work together
Professional Skills
- Communicate technical concepts clearly
- Ask thoughtful questions when stuck
- Work independently on defined tasks
- Learn new technologies quickly
- Write careful, well-tested code
Real Contributions
- Successfully merge pull requests to production
- Improve system performance or capabilities
- Add new features that users interact with
- Help solve actual business problems with code
Projects You'll Build
Week 1: CLI Data Processing Tool
A command-line application that reads files, processes data, and outputs results - demonstrating JavaScript and Node.js fundamentals.
Week 2: Full-Stack API Application
A complete REST API with database integration, showcasing API design and database operations.
Week 3: LinkedIn Profile Sanitizer
Real contribution to Qwestly's codebase that cleans and validates user profile data.
Week 4: Log Processing System Enhancement
Improvement to our monitoring infrastructure that helps us understand system performance better.
Week 5: AI-Powered Document Analysis
Integration with our AI systems to process and analyze uploaded documents.
Learning Resources
Essential Reading
- JavaScript.info - Comprehensive JavaScript tutorial
- FastAPI Documentation - Our primary backend framework
- MongoDB Manual - Database operations and design
- Python Official Tutorial - Core language fundamentals
Project Inspiration
- GitHub Repositories - Study well-written open source projects
- AWS Documentation - Cloud services we use
- LangChain Docs - AI integration patterns
Qwestly-Specific
- Internal Documentation - Our engineering practices and patterns
- Codebase Exploration - Learn from existing implementations
- Team Knowledge - Direct access to experienced engineers
Getting Started
Before You Begin
-
Install Development Tools:
- VS Code (recommended editor)
- Node.js 18+ and pnpm package manager
- Python 3.9+ and pip
- Git with SSH keys configured
-
Create Accounts:
- GitHub account with 2FA enabled
- Request access to Qwestly repositories
-
Set Up Workspace:
- Create a dedicated folder for your projects
- Configure VS Code with recommended extensions
- Test that you can run basic Node.js and Python scripts
First Day Goals
- Meet with Dominick for orientation and questions
- Review this learning plan together and adjust if needed
- Set up your first JavaScript project
- Schedule regular check-in meetings
- Join team communication channels
Questions to Ask
- What specific projects are highest priority for the team?
- How can my work best contribute to Qwestly's mission?
- What are the most important things to focus on learning?
- How should I communicate progress and ask for help?
Why This Matters
For Your Future
Backend engineering is one of the most in-demand skills in tech. You'll learn technologies used by companies like Google, Netflix, and Airbnb.
For Qwestly
Your contributions will directly improve our platform that helps people find better jobs and companies hire more effectively.
For Your Growth
You'll develop both technical skills and professional practices that will serve you well in computer science studies and future career opportunities.
Ready to dive in? This internship is designed to be challenging but achievable, with plenty of support along the way. By the end of five weeks, you'll have real engineering experience and a portfolio of work you can be proud of.
Questions? Don't hesitate to reach out to Dominick anytime - great engineers are always learning and asking questions!