VRO Engineer Onboarding - department-of-veterans-affairs/abd-vro GitHub Wiki

Editors: Any new additions to onboarding that require the reverse process for offboarding should be added to VRO Engineer Offboarding.

Scope:

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.

Technical Intro:

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 Apr 2024): VRO supports two partner teams: Contention Classification (CC) and Employee Experience (EE).

Engineer Checklist:

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)
  • Once you have access to VA's Citrix Access Gateway (CAG; a way to access general applications on the VA network), request copy-and-paste permissions from CAG to your dev machine by following the instructions in this article (requires VA-network access).
  • 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, Zach Goldfine
    • 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.
    • Depending on your current status of your GitHub permissions, either ask an engineer to give you or give yourself proper permissions to bypass PR requirements and allow force pushes to the main branch of abd-vro. This permission is used to keep our main and develop branches in sync and maintain a single git history.
  • When you have your VA.gov email, connect it to your GitHub account by adding it 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.
  • When you have your PIV card, set up an Okta account following these instructions
  • Add your name and skills to POCs
  • Read VRO's wiki, in particular the following (some content may need updating):
  • 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:

(Unlikely) If you'll be working in va.gov's codebase (a.k.a. RRD), you should review: