-
Notifications
You must be signed in to change notification settings - Fork 7
VRO Engineer Onboarding
Diana Griffin edited this page Oct 6, 2023
·
31 revisions
Editors: Any new additions to onboarding that require the reverse process for offboarding should be added to VRO Engineer Offboarding.
This document is specifically designed for Engineers onboarding to the VRO (Virtual Regional Office) software project with the intent of streamlining and reducing the startup time for ramping up on VRO.
For offboarding process, see VRO Engineer Offboarding.
VRO Software uses the following:
- Mostly Java - heavy use of the Spring Framework
- Many microservices are written in Python (under the service-python folder)
- Apache Camel - important to learn
- RabbitMQ - used to communicate with microservices
- Gradle - heavily used; also see the buildSrc folder
- Docker - heavily used locally and for deployments
- Note that for most use cases, this contract does not supply a Docker Desktop license, meaning that you will need a different container runtime to use Docker locally. Colima is one option that is emerging as a good alternative.
- Postgres - learn as needed
- Redis - learn as needed
- Kubernetes (for DevOps) - LHDI provides the infrastructure
- Current state (as of May 2nd, 2023): VRO is being updated to support partner teams, such as the Contention Classification team.
Below are actions you should take or links with resources to review. As you are going through onboarding, feel free to add other pages to this list if you think they'd be useful.
- Get added to recurring team meetings such as Weekly VBA Stakeholder Sync, Daily VRO Team Sprint Standups, Biweekly VRO Sprint Planning / Review / Retrospective, etc.,
- Join relevant slack channels -- you don't have to join ALL these channels; start with the #benefits-vro-* and #benefits-cft-* and you can expand from there as you get more involved in the work. Feel free to ask the team in #benefits-vro if you're wondering about whether to join a particular channel.
- Most relevant channels for you: #benefits-vro (our team channel for coordination across the VRO team), #benefits-vro-engineering (engineering-specific collaboration for the VRO team), #benefits-cft (cross-team collaboration channel for the 3 teams in the Claims Fast-Tracking Crew)
- Watch "The Way We Work" presentation
- Go through Benefits Portfolio onboarding materials and onboarding buddy meetings (see #benefits-onboarding channel in Slack; you'll be tagged there with your onboarding buddy assignments and materials to review)
- Set up team 1:1s (See their slack profiles for a calendar URL where you can find available times):
- VA Product Owner, Premal Shah
- OCTO engineering leads, Steve Albers and Cory Sohrakoff
- VA / VRO onboarding buddy meetings (likely initiated by them)
- Get added to the VA GitHub organization (ask someone who is already in the org)
- Get added to the OCTO-VRO GitHub team to have access to VRO's GitHub repos
- Get added to the OCTO Benefits Portfolio roster
- If you need access to VRO's LHDI deployment environments, get added to the VA-ABD-RRD GitHub team
- If you need access to potentially "dangerous" actions (such as deploying to prod or deleting packages), get added to VRO-RESTRICTED.
- When you have your VA.gov email, connect it to your GitHub account by adding as an email in your settings. You must also make sure the name on your profile matches your name. This will allow you to perform SSO to various apps through GitHub on the VA's network, e.g. Aqua.
- Add your name and skills to POCs
- Read VRO's wiki, in particular the following (some content may need updating):
- Problems being solved and Roadmap provides context
- Routing-API-requests, Code structure, and Development process (from Slack thread)
- (Optional) If interested in the initial incarnation of VRO (before Amida touched it), watch old recording '2022-06 VRO code walk-through.mp4' in Shared Meeting Notes
- Gradle projects
- Current Software State is a good intro to the codebase history
- LHDI's Boilerplate Instructions and if needed Setup on Windows. Amida wrote up some setup instructions for Windows in Software Design Document (linked from Roadmap#references)
- External APIs to interact with other systems
- Review the materials on this wiki page for walkthroughs of the code
- Watch this demo from the Lighthouse Delivery Infrastructure (LHDI) team on the SecRel pipeline and SD Elements
- Remember to periodically add what you're working on (or responsible for) to the Engineering POCs spreadsheet (pinned at the top of the #benefits-rrd-engineering Slack channel)
- For background, context, and motivation, read VA Automated Benefits Delivery Team - Team Onboarding as a lower priority (whenever you have downtime between meetings or waiting on blockers to be resolved). Important topics from that document include:
- Teams and vision: various responsibilities of various teams (requires sharepoint)
- Slack usage
(Unlikely) If you'll be working in va.gov's codebase (a.k.a. RRD), you should review:
- Technical onboarding
- RRD technical overview
- VA DevOps Release Process (may be out of date)
- Currently, Yang and Yoom are familiar with va.gov's RRD codebase, which should be sufficient.