Mentor Guidelines
Guidelines and responsibilities for mentors participating in ProjectDiscovery’s Google Summer of Code program.
Mentor Role & Responsibilities
Time Commitment
Expected: 5-6 hours per week during coding period
Breakdown:
- 1-2 hours: Check-ins and meetings with contributor
- 2-3 hours: Code review and technical guidance
- 1 hour: Communication, planning, documentation
- 1 hour: Coordination with other mentors/admins
Core Responsibilities
- Guide the contributor through their project
- Review code regularly and provide constructive feedback
- Communicate at least twice weekly with contributor
- Track progress against project timeline
- Evaluate at midterm and final checkpoints
- Escalate issues to organization admins when needed
- Document important decisions and changes
Pre-Program Phase
Proposal Review (April)
Tasks:
- Review all proposals for your project area
- Score proposals using evaluation criteria
- Provide feedback on technical approaches
- Participate in selection discussions
- Help rank top candidates
Evaluation Focus:
- Technical merit and feasibility
- Contributor’s understanding of the problem
- Realistic timeline and planning
- Prior community engagement
- Communication quality
Contributor Selection (Late April - Early May)
Tasks:
- Review top-ranked proposals in detail
- Check contributor’s prior contributions
- Verify technical capabilities
- Confirm availability and commitment
- Make final selection recommendations
Important: Once selections are made, mentors are committed to supporting their contributor(s) for the entire program duration.
Goals for This Phase
Help your contributor prepare for success:
- Build relationship: Get to know each other
- Finalize plan: Create detailed week-by-week schedule
- Setup environment: Ensure dev environment is ready
- Set expectations: Clarify communication norms
- Review code: Familiarize with relevant codebase areas
Initial Meeting Agenda
Cover these topics in your first meeting:
- Introductions: Background, experience, interests
- Project review: Confirm understanding of goals
- Timeline refinement: Adjust milestones if needed
- Communication plan: When and how to check in
- Tools setup: Development environment, access
- Questions: Address any concerns
Communication Norms to Establish
Agree on:
- Check-in schedule: Days and times for regular meetings
- Communication channels: Discord, email, video calls
- Response time expectations: How quickly to respond
- Progress updates: How often and in what format
- Blocker escalation: How to handle issues
Coding Period (May 27 - Aug 31)
Weekly Routine
Minimum twice per week:
- Technical check-ins (synchronous or async)
- Code reviews
- Progress tracking
- Blocker identification
Recommended structure:
- Monday: Week planning, milestone review
- Wednesday/Thursday: Mid-week check-in, code review
- Friday: Week wrap-up, next week preview
Code Review Best Practices
What to Review:
- Code quality and style
- Test coverage
- Documentation
- Performance considerations
- Security implications
- Integration with existing code
How to Provide Feedback:
✅ Be constructive and educational
✅ Explain “why”, not just “what”
✅ Suggest improvements with examples
✅ Acknowledge good work
✅ Be timely (review within 24-48 hours)
❌ Don’t be overly critical or harsh
❌ Don’t just point out problems without guidance
❌ Don’t let PRs sit for days without feedback
Example Feedback:
❌ "This code is bad, rewrite it."
✅ "This approach works, but we can improve efficiency.
Currently O(n²) due to nested loops. Consider using
a hashmap for O(n) lookup. Here's an example: [code]
Also great job on the comprehensive test coverage!"
Tracking Progress
Weekly:
- Review commits and PRs
- Check milestone completion
- Update project tracker
- Identify any delays or blockers
Indicators of Good Progress:
✅ Regular commits (3-5+ per week)
✅ Milestones completed on time
✅ Responsive to feedback
✅ Proactive communication
✅ Quality code with tests
Warning Signs:
⚠️ No commits for 3+ days
⚠️ Not responding to messages
⚠️ Missing milestones
⚠️ Rushed code without tests
⚠️ Avoiding difficult parts
Handling Blockers
When contributor gets stuck:
- Understand the problem: Ask questions to clarify
- Guide don’t solve: Help them find the solution
- Provide resources: Documentation, examples, references
- Pair if needed: Screen share to work through issues
- Adjust if necessary: Rescope if blocker is major
Escalate to admins if:
- Contributor becomes unresponsive (3+ days)
- Technical blocker requires org-level decision
- Scope needs significant adjustment
- Personal issues affecting participation
Evaluation Periods
Midterm Evaluation (July 7-14)
What to Assess:
- Progress: 40-50% of project completed?
- Code quality: Well-tested and documented?
- Communication: Regular and responsive?
- Trajectory: On track to complete?
Pass Criteria:
✅ Completed core milestones for first half
✅ Code quality meets standards
✅ Communicates regularly
✅ Demonstrates problem-solving ability
✅ Responsive to feedback
Fail Criteria:
❌ < 30% progress with no clear path forward
❌ Unresponsive to communication (7+ days)
❌ Poor code quality despite feedback
❌ Hasn’t made meaningful contributions
❌ Unable to work independently
Before failing: Discuss with org admins. Failing ends the contributor’s participation.
Final Evaluation (Sept 1-8)
What to Assess:
- Completion: Core deliverables finished?
- Quality: Production-ready code?
- Documentation: Comprehensive and clear?
- Tests: Good coverage and passing?
- Overall: Successful project?
Pass Criteria:
✅ All core deliverables completed
✅ Code merged or mergeable
✅ Comprehensive documentation
✅ Good test coverage (70-80%+)
✅ Positive collaboration throughout
Evaluation Form:
Google provides a form covering:
- Work product quality
- Communication
- Evaluation recommendation (pass/fail)
- Narrative feedback
Best Practices
Communication
Be available:
- Respond within 24 hours
- Set up regular check-ins
- Be present in Discord
- Make yourself reachable
Be proactive:
- Check in even if contributor doesn’t
- Ask about progress regularly
- Notice warning signs early
- Celebrate wins and milestones
Technical Guidance
Teach, don’t just tell:
- Explain reasoning behind suggestions
- Share resources for learning
- Encourage exploration
- Guide problem-solving process
Balance support and independence:
- Let them struggle a bit (learning opportunity)
- Step in when truly stuck
- Encourage asking for help
- Build confidence through success
Motivation
Keep contributors engaged:
- Recognize achievements
- Provide positive reinforcement
- Show real-world impact of their work
- Connect them with the community
Address issues early:
- Notice declining engagement
- Check in on blockers
- Adjust expectations if needed
- Provide encouragement
When to Escalate
Contact organization admins if:
- ⚠️ Contributor unresponsive for 3+ days
- ⚠️ Major scope changes needed
- ⚠️ Technical decisions requiring org input
- ⚠️ Considering failing an evaluation
- ⚠️ Interpersonal conflicts
- ⚠️ You’re unable to fulfill mentor duties
Resources for Mentors
Official GSoC Resources:
ProjectDiscovery Resources:
- Mentor Resources - Best practices and tips
- Discord #mentors channel (private)
- Weekly mentor sync meetings
Contact:
- Organization admins: [To be specified]
- Discord: #mentors channel
- Emergency: [To be specified]
Mentor Checklist
Coding Period
Evaluations
Thank you for mentoring with ProjectDiscovery! Your guidance makes GSoC successful. 🙏