**_this is a fork of [a note](https://hackmd.io/@skoop/H100PRLH9) kindly compiled by [@skoop](https://hackmd.io/@skoop) when she left the company. it has been added to the team account just in case her copy is taken down in the future._** # Onboarding Internal Docs Needed Each of these docs should probably become a Trello card in the onboarding Trello ## All - Team Overview - Team Norms - Knowledge repo/Wikis - How we meet: - Stand (and async stand channel) - Tactical - Retro - IPM - Grooming? - The projects: Braintree and Northstar - JIRA Overview - Links to the BT and Northstar JIRA boards - JIRA estimation guidelines - Projects & pairs sheet - Assinging owner/member to tickets for pairs - Linking PR in comments - Overviews of the main epics and what they are used for - Overview of our grooming/sprint planning process - GitHub Overview - Setting up public GH account - Which repos do we work in most? - Android/iOS are entirely done in public repos - JS and server SDKs are actively developed by PP teams in a private repo, and public repos are what eventually gets released. - Branching strategy (off main/feature branches/next major version) - How to set up git duet locally and use it - PR review process, reviewers required, automated GitHub team reviewers requested - Merging (squash and merge) - Updating branches (merge commit vs rebase) - Handling GitHub issues - PR template and CHANGELOG - Reviewing public PRs - Server SDK review and merge git strategy - Server SDK review of internal PRs from engineering and common gotchas: - are added items in alphabetical order? - did they add unit tests for everything? - did they add integration tests? - any added field names/attributes make sense to outside devs? (acronyms, shorthand, any internal jargon that wouldn't be easily understood) - Consolidated list of all the repos we own and what they are for (iOS has this in knowledge repo but missing for Android/others) - Performance - Maybe replace coaching Trello card? - Brag document - Technical step up - Slack - Slack ettiquete, go/slack-etiquette - List of slack channels our team should be in - List of commonly used service channels of other teams and what they're for (see [here](https://engineering.paypalcorp.com/confluence/display/DEV/Interruptions+Overview+-+Product+Ownership) if this is still accurate) - List of automated slack channels we monitor - List of fun channels to join - Interruptions - Overview of interruptions process - [Confluence](https://engineering.paypalcorp.com/confluence/display/CSSE/Managing+interruptions) - Self Directed Learning - Make sure there's time to reviewing knowledge repo, team norms, confluence, getting familiar with repos, slack history - Reading through Braintree developer docs - [set up postman for PP testing](https://engineering.paypalcorp.com/confluence/pages/viewpage.action?spaceKey=postman&title=Postman+Getting+Started) ## Client SDKs - General knowledge - Gateway app & client API ownership - auto-vaulting behavior (validate flag) - GraphQL API - what is it and when to recommend it - sibling teams we often work with: - Fraud Tools Auth (3DS) - Fraud Tools Eval (Fraud Protection/device data) - PP RDA (actual device data collector libraries) - Payment Experiences (formerly known as Wallets) - Apple Pay - Google Pay - Samsung Pay :-/ - Local Payment Methods - Pay With Venmo** - Targeted knowledge - 3D Secure 201 training (what is it, what are the moving parts, where do we fit in, where do support and Fraud Tools Auth need assistance in interruptions channels) - Pay With Venmo 201 training (what is it, what are the moving parts and teams involved, common inbounds and how to troubleshoot) ## Mobile - iOS Setup - Setup Apple developer account with PayPal email - Download Xcode (developer portal) - Certificate setup for simulators - Bundler - Cloning each repo / building each demo app - Module / architecture overview for core repo - Android Setup - Download Android Studio (self service) - Download Android versions - Create emulator - Certificate script for emulators - Download Java versions - Build demo apps - Run unit/integration tests with rake - Download publishing files from 1Pass - Testing - CI overview (GitHub Actions) - Test cards we use frequently (3DS1/3DS2) - Manually testing Venmo - Testing PayPal production - Accounts for testing Google Pay - General knowledge - pop-up bridge repos - what they do and when to recommend them ## JS - Setup - Get NVM setup - JS SDK Integration: what is it and why do I care...also how do I use it! - Setting up and linking sandbox accounts for Paypal and Braintree...Should this be a general item as well? - General - Cpair cont'd: when it is needed, when it is helpful, when you don't have to use it. - [BT] Run drop in demo locally - Northstar: What, where, why, how... - Hosted Fields vs Drop in (this could be general across client platforms to a degree as well) ## Server - Setup - cpair setup, including settings for largest sized cpair - GHE and public GH group membership - setup personal BT and PP sandbox accounts for testing - Visual Studio and .NET repo on local machine - General - walk through BT stack - walk through Gateway app and our code ownership - API ownership vs SDK ownership, learning to tell the difference - Northstar, what is it and where are we in progress - Release process for BT SDKs