Development Department Learning and Development

Resources

Secure coding best practices

It is important that all developers are aware of secure coding best practices and refresh this knowledge periodically. This is tracked via Secure Coding Training Guidelines.

Ruby on Rails Performance Training

The materials from an earlier Ruby on Rails performance workshop can be found on internally shared Google drive.

Video Sessions

Day Topics Video Links
Session - Day 1 Intro and overview Monday Wednesday
Session - Day 2 Tools Monday Wednesday
Session - Day 3 SQL and N+1 Troubleshooting Monday Wednesday
Session - Day 4 Queueing Theory Monday Wednesday

Database

Here is the information of a PostgreSQL query optimization bot at GitLab - Joe: Blueprint and Design.

Frontend

Frontend Masters

Frontend Masters allows you to advance your skills with in-depth, modern frontend engineering courses.

GitLab has an account with Frontend Masters and team members can gain access to it by creating an Access Request and select the best option for your situation (single user, bulk user, etc.) and, once approved by your manager, assign to the Access Request Provisioner listed in the Tech Stack for this system. Once your access has been provisioned, you will receive an email to activate your account.

You can also join the #frontendmasters Slack channel for course recommendations and discussion.

GraphQL

We use GraphQL alongside our REST API at GitLab and are increasingly adding new features to the GraphQL API over time.

The GraphQL API can be added to by anyone, including community members. We have a group of self-selected team members who are willing to help with any GraphQL questions you may have. You can get in touch with them by mentioning @gitlab-org/graphql-experts in any GitLab issue or merge request.

You can read more information about GraphQL at GitLab here:

We also run GraphQL office hours, which is a place where GitLab team members can ask questions and chat amongst peers about GraphQL at GitLab.

These meetings are currently run on a weekly cadence, alternating between timezones.

Time in UTC Organisers
+4:30 @ntepluhina
+16:30 @seanarnold, @cablett

Engineering Management

One of the paths for engineers to progress in their career is a Management path. To explain more about the role of Engineering Managers in GitLab, there is a series of conversations with team members explaining details of their work and their experience transitioning to management here.

IC Leadership

Staff+ engineers and ICs aspiring to become Staff can benefit from resources and recommendations described here.

Edcast / GitLab Learn

GitLab Learn is a Learning Experience Platform (LXP) meant to provide training and professional development for team members. We will continue being handbook first, and use this platform to organize, surface, and promote relevant content that exists today.

We encourage you to browse all of the channels offered in GitLab Learn, as new ones are regularly being added and updated. Here are some resources to start:

Process for Contributing

Step: 1: Submit a Request

Submit a request to the lxp-contributions project using this issue template to the appropriate GitLab Learn Carousel DRI based on the table below:

Development Channel Carousels DRI
Values @pcalder
Mentoring @whaber
Go @steveazz
Ruby/Rails @tkuah
Monitoring & Visualization @andrewn
GraphQL @m_gill
Apollo @xanf
Vue @ntepluhina
Redis @igorwwwwwwwwwwwwwwwwwwww
Sidekiq @reprazent
Elasticsearch @dgruzd
Deploys / Releases @nolith
Management @dsatcher
New Managers @jeromezng
Leadership @dsatcher
Security @joernchen
Future Carousels DRI
Gitaly and Git TBD
GitLab Runner @tmaczukin

The Carousel DRI will review the request and approve or deny the request. Once approved, the recommended content will be added to the channel.

Note: Carousel DRI’s can only add content that exists in the platform already. If the content does not exist, the Carousel DRI will need to request that it be added first by consulting the learning and development team

Criteria for approval

The following should be true for all content approved.

  1. A carousel cannot have more than 10 courses (There can be exceptions to the rule, however we only want to highlight the most impactful courses here)
  2. The Carousel DRI must complete the course or have confidence that it will contribute to professional development
  3. Upon evaluating the course, the Carousel DRI concurs that this course should be added to the carousel

Carousels are defined here by the Learning and Development Team. For the Development channel, they are used to collect different content (courses, videos, handbook pages, journeys) on the same subject.

Carousel DRI’s are responsible for curating the content for a carousel within the Development channel in GitLab Learn. They are formally GitLab Learn Curators and will organize and maintain learning content while encouraging professional development.

If you are interested in becoming a Carousel DRI:

  1. Become a GitLab Learn Curator
  2. Open an MR to this page to assign yourself as the DRI for a given carousel
  3. Get approval from at least 2 DRI’s

Development Department Learning and Development - Reliability
Goal of this training As we have a renewed focus on reliability in engineering to reduce outages, we have made many changes to the handbook, production documentation, and our processes. While we have announced them via multimodal communication (EWIR, slack, email, meetings), not everyone has likely seen and internalized all of the important changes. We want to gather all the crucial changes, explain why we made them, discuss a summary, and link to where you can find more information.
Engineering manager role explained
Engineering manager role explained Introduction The goal of this page is to provide bite-sized materials for Engineers who are interested in the Engineering Manager role. An IC’s guide to managerial work A short article about What does your manager do all day? What would it mean to become one?. Videos In the videos below different team members explained intricacies of the EM role, specifically from the perspective of the Engineer and transitioning from the Individual Contributor track to the Management track.
Resources for Staff+ roles
Overview This page provides resources for Staff+ engineers and aspiring Staff engineers. How to stay up to date As Staff+ engineer it’s important to stay up to date with what’s happening in engineering. By staying up to date you can better understand where problems and inefficiencies can be and what we could do or explore to make things better. Here are various activities that can be useful for this purpose:
Last modified December 13, 2023: Move development files in place (c26f66f9)