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.
The materials from an earlier Ruby on Rails performance workshop can be found on internally shared Google drive.
Video Sessions
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.
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 |
Step 2: Carousel DRI Approves the Request
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.
- 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)
- The Carousel DRI must complete the course or have confidence that it will contribute to professional development
- Upon evaluating the course, the Carousel DRI concurs that this course should be added to the carousel
What is a 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.
What is a Carousel DRI?
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:
- Become a GitLab Learn Curator
- Open an MR to this page to assign yourself as the DRI for a given carousel
- Get approval from at least 2 DRI’s
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
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.
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 October 29, 2024:
Fix broken links (455376ee
)