Onboarding
Getting Started
Now that you are part of a team, you're likely wondering "Where do I get started?" Here are some things you'll need to know in the first couple weeks:
- What are the expectations for how the team will interact?
- What are your expectations for yourself?
- What should you do, and when?
- How can I write code and run tests?
- Team's standard of work
- Agile mindset
- Project domain & terminology
Ho to get started? Here are some tips for the first iteration.
Personal Steps to Getting Started
- Read course website for course structure
- Get access to:
- Discord
- Join via link from Dr. Brian
- Set name on server to your first name (what you want to be called)
- Post a "Hello, my name is X" message in the general channel for your project; I'll add you to the dev-team for this semester
- GitHub for code, issues, and code reviews
- Google Drive for documentation
- Discord
- Clone your project's repo
- Configure Git with your name and SFU email on each computer you'll use.
git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "USERNAME@sfu.ca"
- Reading any onboarding documents for your project.
- Check GitLab
- Check Google Docs folder
- Install necessary tools; build project.
- Add your name to the project's contributors file; your first branch/commit/push!
Team Steps to Getting Started
- Team's Scum Master must lead the team to do two icebreaker activities, such as:
- Play Among Us, Fortnite, or other online game together as a team.
- Play online trivia game.
- Find 2 unusual things that each person has in common with another team member.
- Any shared activity that allows you to get to know each other better.
Team Skills
- Get to know your team!
- Speak up during early team meetings.
- Know everyone's name, recognize their face and voice.
- If you're not usually outgoing, commit to this being the team you form a strong connection with.
- Know agile development and Scrum.
Technical Skills
- Learn the tools
- Git / GitLab
- Docker
- Iteration 1 you should learn the technologies for your project (or part of), such as:
- Front-end: React, TypeScript
- Back-end: Python/Django? Node/TypeScript?, ...; Database
- Android: Kotlin, Android Studio
- DevOps: Docker, GitLab CI/CD
Each Week
Each week during the project you should try to:
- Pick a reasonable issue to work on (push project ahead each week)
- Commit code
- Merge code
- Do code reviews
- Participate in team discussions; share ideas; ask questions; answer questions
- Participate in meetings
- If stuck for more than 30 minutes, ask for help on Discord!
Project Specific
CRADLE
- Team members should pick an area to focus on and make sub-groups to build stronger relationships. Possible areas include:
- CRADLE Mobile App (Android, Kotlin)
- CRADLE Web App (React, TypeScript)
- CRADLE Backend (Python, Django)
- CRADLE SMS Relay (Android, Kotlin)