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.aiso 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#
- [ ] Intern: Carefully study all the documents in
the must-read list
- [ ] General rules of collaboration
- [ ] Coding style guide
- [ ] How to write unit tests
- [ ] How to run unit tests
- [ ] Creating a Jupyter Notebook
- [ ] What to do before opening a PR
- [ ] Code review process
- [ ] Git workflows and best practices
- [ ] GitHub organization
- [ ] Tips for writing documentation
- They will help you get up to speed with our practices and development style
- Read them carefully one by one
- Ask questions
- Memorize / internalize all the information
- Take notes
- Mark the reading as done
- Open a GH issue/PR to propose improvements to the documentation
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