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.
Team members can use the Growth and Development Fund to request a subscription by following the process outlined at https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/growth-and-development/.
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:
- Getting started with GitLab GraphQL API
- GraphQL frontend guide
- GraphQL API style guide
- Introduction to GraphQL (graphql.org)
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:
- GitLab Development Channel - for Development-specific training resources
- Recommendations from Learning and Development - a collection of channels recommended by the L&D team, including Mental Wellness and Leadership Development
- All Channels
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
Engineering manager role explained
Resources for Staff+ roles
7bf1f60a
)