Skip to content

Intern.onboarding checklist.reference

Intern onboarding checklist#

Intern onboarding vs. full onboarding#

  • The onboarding process documented here is intended for people who have not become permanent members of the team yet, i.e., interns
  • Upon completing this onboarding, the intern will be able to develop in our common environment, open GitHub issues and PRs, use our extensive coding toolchain
  • However, some of the steps of the full onboarding process (like creating a company email) are postponed until the intern "graduates" to a permanent position

Checklist#

Org#

  • [ ] HiringMeister: File an issue with this checklist

    • The title is "Onboarding {{Name}}"
    • Copy-and-paste the whole checklist starting from here
    • The issue should be assigned to the intern
  • [ ] Intern: Join the Telegram channel - https://t.me/+DXZXsWoEHR1mNWIx

  • [ ] HiringMeister: Establish contact by email or Telegram with the intern with a few words about the next steps

  • [ ] Intern: Post your laptop's OS (Windows, Linux, Mac) in the comments of this issue

    • Our dev environment is only adapted for Linux and Mac. Windows users have to install dual boot or a VM with Linux (Ubuntu)
  • [ ] Intern: Confirm access to the public GH repos

  • [ ] HiringMeister: Give the intern write access to the current Intern-focused project on GH

  • [ ] IT: @Shayawnn Add the intern to the mailing group contributors@causify.ai so that they can send morning TODO emails

    • The intern's personal e-mail address can be found in the corresponding Asana task in the Hiring project
  • [ ] HiringMeister: Update the Access Tracker spreadsheet

    • Put "Yes" in the columns that the intern now has access to

IT setup#

  • [ ] Intern: Set up the development environment following instructions in intern.set_up_development_on_laptop.how_to_guide.md
    • We expect the intern to independently solve all the problems they encounter through trial and error, googling and ChatGPT-ing
    • If you cannot solve some problem no matter how hard you try:
      • Check if the problem has already been reported and discussed in one of the existing issues
      • If not, create a new issue and provide a full report
        • Describe your problem in detail, including the full context to reproduce (e.g., copy-and-paste the command you ran and the output you got; do not use screenshots)
        • Describe what you have already tried to fix it and what was the result
        • Tag the hiring team
    • After the problem is resolved, then, if applicable, do a PR to fix the bug / add a description of the problem and the solution to the docs
    • See also Collaboration for problem solving

Must-read#

Final checks#

  • [ ] Intern: Exercise all the important parts of the systems
    • [ ] Create a GitHub issue
    • [ ] Check out and pull the latest version of the repo code
    • [ ] Create a branch
    • [ ] Run regressions (i run_fast_tests)
    • [ ] Run Linter (i lint --files="...")
    • [ ] Start a Docker container (i docker_bash)
    • [ ] Start a Jupyter server (i docker_jupyter)
    • [ ] Do a PR
  • Tip: a good approach to the "final checks" is to perform all the steps (opening an issue, creating a branch, filing a PR) for something very small but useful -- like fixing a typo in the docs.
  • To get used to our process, for the first couple of PRs post the PR checklist in a comment and check the boxes when the requirements are met