Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Engineering Internship Pilot Program

Engineering Internship Pilot Program

GitLab is establishing an on-going internship program that can offer students, graduates, career switchers, and those returning to the workforce an opportunity to further their careers. We desire to create an inclusive program that will provide a fair and equal opportunity for all qualifying candidates.

We do not yet have a tried and tested program and are undertaking a limited pilot in 2020. This pilot will be used to validate and refine our approach to offering internships at an all-remote company. For this reason, the structure and scope of this program will likely change in the future.

Responsibility

Role Person
Executive Sponsor Eric Johnson (VPE)
Program Lead (DRI) Roos Takken
Recruiting Lead Liam McNally
Program Coordinator Jean du Plessis
Program Coordinator Nick Nguyen

Candidate qualifying criteria

The following criteria are considered required for candidates to be eligible for the internship program:

  1. Ruby on Rails or JavaScript framework (React, VueJS, AngularJS, Ember, etc.) programming experience
  2. Contributor to open source projects
  3. Available full-time during the internship
  4. Able and willing to travel to the United States of America and the Netherlands for one week each
  5. Able and willing to acclimate to, and operate in, an all-remote environment
  6. Interested in fulltime employment after the program (either immediately, or "next semester") - no upfront commitment to GitLab required

Please refer to the Software Engineering Intern job family for further details.

To apply for the internship please complete the application form.

Program Overview

Key dates leading up to internship

Date Event
2019-11-12 Applications for hosting an intern opens
2019-11-13 Applications for applying for internship opens
2019-11-29 Applications for hosting an intern closes
2019-12-09 Successful team applications announced

Duration and timing

A priority for the pilot program is attracting promising university students who are nearing graduation. Therefore, we are choosing dates that align with university academic calendars.

The pilot program will be 16 weeks starting 2020-05-11 until 2020-08-28.

Location

The internship program will primarily be remote, with two weeks of co-location working.

  1. Week 1: Intern Fast Boot - Remote
    • The interns will participate in a week of accelerated onboarding
    • Updated 2020-03-16: This week was originally scheduled as a co-located program. However, due to travel restrictions and public health concerns surrounding the COVID-19 pandemic, we are changing this to a remote program.
  2. Weeks 2-15: Remote internship
    • Interns will work remotely in their assigned team
  3. Week 16: Intern send-off - San Francisco
    • The interns will co-locate for their final week in San Francisco to process their experience and socialize with each other

Internship day-to-day activities

  1. Week 1: Intern Fast Boot
    • The program coordinators and mentors will facilitate a pre-defined program. The aim is to onboard the interns, prepare them for their 16 weeks of remote working, and set them up for success.
    • By the end of Week 1, we expect an intern will:
      • Have completed key Day 1-5 onboarding tasks
      • Understand remote work and communication best practices
      • Set up their development environment
      • Work with their mentor to understand the development workflow and submit a small MR
      • Complete a Skill Gap Analysis with their engineering manager
      • Learn team specific processes
  2. Weeks 2-15: Remote internship
    • An intern's daily schedule will generally reflect how GitLab team members work, which is to say we will not impose a rigid schedule.
    • Interns will be encouraged to favor async communication and to set their own work schedule.
    • Mentors and program coordinators will provide coaching if an intern needs help in adjusting to remote work.
    • Interns will participate in the following pre-determined activities
      • Weekly 1:1 with their manager
      • Weekly 1:1 with a mentor
      • Weekly 1:1 with an internship program coordinator
      • Weekly intern coffee chat
      • 2-3 group meetings per week moderated by a program coordinator.
      • Regular pair programming sessions with a mentor and other team members.
  3. Week 16: Intern send-off
    • The program coordinators and mentors will facilitate a pre-defined program. The aim is to process the experience, gather feedback, and share learnings.
    • During the Week 16 program, an intern will:
      • Complete offboarding tasks and hand-off projects if they are not continuing employment with GitLab.
      • Participate in retrospectives to help improve the internship program.
      • Complete final Skills Gap Analysis with their engineering manager
      • Share experiences and learnings with the company and wider-community through media such as blog posts and GitLab Unfiltered.
      • Have the opportunity to meet GitLab leaders local to the San Francisco bay area (depending on availability).

Compensation

Internships at GitLab offered in the framework described in this page will be paid and follow the same logic as that depicted in our Compensation Calculator and according to our Global Compensation Principles. This means that, as usual, the San Francisco benchmark, location and experience factors will be taken into account during the recruitment process and before making an offer. Depending on country regulations, we will have to align with national labor laws.

Recruitment

For the pilot, we will primarily target our advertising and promotion of the program at university students. However, we are not limiting candidate intake to university students and are open to all qualifying candidates. We exclusively focus all our active sourcing activities on candidates from underrepresented groups.

Advertising

We advertise on all the traditional recruiting platforms as well as the GitLab vacancies page. Additional advertising is done on internship focussed job boards (e.g. Youtern, angel.co etc.)

University Recruitment

We proactively reach out to and engage with universities/colleges to hold a Virtual Careers Talk to encourage students at those universities to apply. Also, we reach out to any associations within these universities that represent underrepresented groups and hold Virtual Careers Talk with them.

We hold virtual talks at a minimum of five universities in the following regions: North America, Europe, APAC, MENA.

Interviewing

We are setting the bar high at the application stage and introducing an automated online assessment to help with screening candidates. These steps will allow us to work with a manageable number of candidates during the face-to-face interview stages.

Interview process

  1. Comprehensive Application form including
    • Technical assignment
    • Situational questions rather than STAR, as candidates may not have any direct work/relatable experience.
    • Cover letter asking for candidates to specifically address defined areas.
  2. Automated online technical assessment
  3. Behavioral/Values interview panel *
    • Hiring manager
    • Recruiter/HR
    • Misc Interviewer

* Candidates must score a strong yes to move on to the panel interview stage.

Criteria for teams requesting an intern

GitLab teams are able to apply for an intern to join their team.

Applications get evaluated on the following criteria:

  1. Mentorship
    • Does the team have a manager and 1-2 engineers willing to serve as mentors for the duration of the program?
    • Do the mentors have previous experience mentoring interns or junior engineers? Previous experience is a nice-to-have, but not a must-have.
  2. Workload
    • Does the team have a roadmap containing low weight issues with few dependencies suitable for an intern?
  3. Team Size and maturity
    • How established is this team? Will they be able to take on an intern without risking a decrease in velocity?

The team manager and mentors will also need to be able to actively participate in the interview process.

The Program Lead, Program coordinators, and VP of Engineering will evaluate the applications, and successful teams will be announced on 2019-12-09. With the selection of hosting teams attributes of diversity (teams, locations, roles/function) will be taken into account. If it comes to a tie-break the VP of Engineering will be the DRI for the selection.

Measuring success

Team Retrospective

Upon the completion of the pilot, participating teams will be asked to complete a retrospective. This will follow the process used for GitLab's monthly team retrospectives. Engineering managers should create an issue in the gitlab-com/engineering-internships project using the Retrospective template and customize it for their team. This issue will initially be confidential.

During the retrospective all team members should be encouraged to contribute, even if they didn't work directly with the intern, so that a complete picture of the effect on the team can be built.

Following the retrospective period the issues will be made public.

Exit Survey

The exit survey provides interns with the opportunity to freely express views about working at GitLab. People Operations will send the CultureAmp survey to all interns when the pilot programme is complete. The People Business Partner & the intern may proactively set up time to discuss their responses and ask for further information. Exit interviews are not mandatory, however your input will help provide GitLab with information regarding what worked well and what can be improved in future iterations.