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

  1. Read course website for course structure
  2. Get access to:
    1. 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
    2. GitHub for code, issues, and code reviews
    3. Google Drive for documentation
  3. Clone your project's repo
  4. 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"
  5. Reading any onboarding documents for your project.
    • Check GitLab
    • Check Google Docs folder
  6. Install necessary tools; build project.
  7. 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)

Onboarding