QE Onboarding for ievgen
Welcome to the Quality Engineering Department!
This is a guide that can be followed since day one (start on Month 1 section). The checklist in the New Team Member section applies to all Department roles. For the other sections, please complete what is listed under your role:
- SET: Software Engineer in Test
- QEM: Quality Engineering Manager
- EPE: Engineering Productivity Engineer
First Week
Hiring Manager
-
Manager: Create a merge request to add the new team member to the product categories page in the appropriate place(s). - Here is an example MR: gitlab-com/www-gitlab-com!99814 (merged)
-
Product category page update merge request: gitlab-com/www-gitlab-com!128212 (merged)
-
Manager: Set up an introduction between the new team member and their counterpart team. -
Manager: Add the new team member to Geekbot for the Quality weekly standup. -
Manager: Announce the new team member in the #quality slack channel. -
Manager: Add the new team member to the corresponding Team Board -
Manager: Add the corresponding product group to Quad Planning policy - gitlab-org/quality/triage-ops!2365 (merged) - Here is an example MR: gitlab-org/quality/triage-ops!1269 (merged)
Month 1
New Team Member
-
Complete your Onboarding task -
Join the Quality team's timezone.io group -
If you will be working in noisy environments, consider installing an application like krisp.ai. It filters background noise captured on your microphone to make your audio more intelligible to others in online meetings. -
Read about the 5 Gears approach to better manage your calendar -
Finish up your first Merge Request given to you by the Quality Engineer, if applicable. -
Search for the access-request issue titled "/Your Name/ /Your Role/ Entitlements" created by Employment Gitlab Bot for the below mentioned accounts/environments in the access-requests project. Ensure you have access to them: -
Gitlab-QA 1Password Team Vault -
GitLab Dev environment -
GitLab Staging environment. If you don't have access, add a comment to your access-request issue mentioned above and @mention
the person assigned to ask for assistance. Or you can open a new issue in the same project with the appropriate template. -
GCP gitlab-demos
,gitlab-internal
,gitlab-qa-resources
, andgitlab-review-apps
projects via the Google Cloud console. Confirm with your manager, your assigned GCP IAM role and permissions
-
-
Request a license for you to use with GDK and other local GitLab instances when working on EE tests. On the license issue template, request the following: -
License level: Ultimate -
Number of seats: 100 -
Expiration date: 1 year from now -
True Up Count and Previous User Count: Leave blank or add N/A
-
-
Ask your onboarding buddy to add you to the gitlab-org/quality
group as a maintainer in ops.gitlab.net environment. -
Plan to watch the secure coding training videos. Note that they were recorded over two days. It is suggested you break this up by topic and/or by hour over the next couple weeks. They cover secure coding practices in general and also cover security risks and mitigations for Ruby on Rails applications. -
Understand the difference between a section, a stage, a group and categories. -
Read the relevant documentation and group page linked in the devops stages page. -
This page is extremely important to understand how we work at GitLab. Bookmark this page: you will most probably come to it often.
-
-
Review the Product Development Flow -
Review the Product Development Timeline -
Review the release process for GitLab.com (SaaS) and GitLab self-managed -
There is a lot of great information on the GitLab Unfiltered YouTube channel regarding team meetings, feature walkthroughs, AMAs, which can give you a better overview of the work being done.
Suggested learning path
-
Learn about the different teams within the Quality Department -
Join the relevant Quality Department meetings and Slack channels -
GitLab's Quality is everyone's responsibility. Get familiar with Our principles. -
Subscribe to labels that are relevant to your team on different GitLab projects. You will get an email notification for changes on the issue with your subscribed labels. Ask for help during your coffee chats with peer engineers if you're not sure which ones to subscribe. -
Bookmark for further reference the Quality Department Handbook -
YouTube Quality Engineering Department playlist -
Agenda notes, which has links to applicable docs.
-
-
Read about End-to-end Testing -
Have an overview of the GitLab Automated Test Suite -
Once overview is complete, reach out to your assigned buddy to assign 2 MRs for review for an orchestrated test and a non orchestrated test.
-
-
Before writing end-to-end tests, learn how to install your GDK and how to run existing tests against your local development environment. -
Attempt to run specific tests in your local development environment. -
Understand what, and how, tests can be run besides on your local environment. To visualize the orchestration and architecture of the GitLab QA project please refer to the diagram. For a deeper understanding on what happens when you run gitlab-qa
check this how it works doc. Important: To run theTest::Instance::Any
scenario against your local GDK please follow these instructions. -
Watch the AMA session on Gitlab end-to-end testing framework to hear some common questions. -
(Optional) If you prefer to use RubyMine as your IDE, the license server is hosted here: https://gitlab.fls.jetbrains.com. Full instructions can be found here. Or join slack channel #jetbrains-ide -
Feel ready to start writing tests? Check the Beginners Guide to writing end-to-end tests doc. -
Consult the GitLab Development Style Guide and the End-to-end Testing Guide -
Set up lefthook to automatically check for static analysis offenses before committing locally
-
-
Read Debugging Failing Tests and Test Pipelines to become more familiar with our processes around investigating test failures, quarantining, reporting bugs, and more. -
Hold coffee chats with counterpart EM, PM and at least one developer. Ask about validation challenges for department and how Quality can accelerate changes. -
Open at least one handbook or documentation MR to clarify something that you learned which was not in the handbook or docs. -
Add a new test/test framework enhancement. -
Suggest improvements to this onboarding guide.
Month 2
Hiring Manager
-
Manager: Create an interview training issue for them. -
New team member's interview training issue: https://gitlab.com/gitlab-com/people-group/Training/-/issues/2389 - If the team member is in a non-management role:
-
Get familiar with the peer interview for the Software Engineer in Test position. -
If the team member is senior level or above, they should train to perform the technical interview for the Software Engineer in Test position. However, shadowing is not limited to senior level or above, any team member can request to shadow technical interview in their position. -
The team member may also train to perform the direct report interview for the Quality Engineering Manager position, especially if hired onto a team where the manager role is vacant. -
Add the team member to the list of Those who need to shadow interviews.
-
- If the team member is in a management role:
-
They may train to perform the hiring manager interview for the Software Engineer in Test position, especially if hired onto a team where there are direct report vacancies. -
They may also train to perform the peer interview for the Quality Engineering Manager position, especially if there are quality engineering manager vacancies.
-
-
-
Manager: Create a GitLab Learn training issue with the following materials and set due date within 6 months of joining: - Psychological training: https://levelup.gitlab.com/learn/course/psychological-safety-understanding-empowerment-and-self-reflection/psychological-safety-training/introduction-to-psychological-safety
- Reliability training: https://levelup.gitlab.com/learn/course/development-reliability/reliability-and-its-importance-to-customers/reliability-and-its-importance-to-customers
New Team Member
-
Once you are familiar with the framework and processes, create an MR to add yourself to the Pipeline Triage rotation list here in the SETs_name_list.yml. This is a weekly rotating assignment where you'll monitor Slack channels for failures and debug/respond as appropriate when failures occur. Consider a pairing session with the current DRI in the Pipeline rotation to have a better overview of the process. The scheduler bot will assign you a rotation based on your timezone. - Here is an example MR: TODO Add MR after Jason and Jay are added to the schedule.
-
Add yourself as a gitlab-qa
reviewer:-
Make a merge request to the www-gitlab-com
project to add yourself as a reviewer for thegitlab-qa
project within your team.yml entry. - Here is a sample MR so you can see what to do: gitlab-com/www-gitlab-com!82238 (diffs)
-
-
Complete your interview training issue (a link to the issue should be above, on the Hiring Manager section) Work with your manager to get assigned to shadow interviews as needed. -
Review Quality Department shadowing process. If your name is not on any of the Those who need to shadow lists, create a merge request to add your name to the lists to be invited to upcoming technical and peer interviews as shadow.
-
-
Sometimes issues contain links to Zendesk support requests from Customers which can be useful when triaging bugs. All GitLab team members can request a Zendesk light agent account
Edited by Ievgen Chernikov