Machine Learning Engineering roles

Machine Learning (ML) Engineers at GitLab develop and implement models to support and enable experimental, beta, and generally available AI features in GitLab.

Engineers work as part of a team in the Data Science section, and collaborate with counterparts across Product, Engineering, UX and Data, and work closely with Backend, Frontend, and Fullstack engineers to integrate their work into GitLab.

Levels

Associate Machine Learning Engineer

The Associate level in the Engineering Division is a grade 5.

Responsibilities

  • Develop improvements to models to generate new content using machine learning models in a secure, well-tested, and performant way.
  • Work with highly complex data for feature development using machine learning models.
  • Collaborate with product managers, engineers, and other stakeholders as a machine learning specialist.
  • Advocate for improvements to product quality, security, and performance.
  • Solve technical problems of moderate scope and complexity.
  • Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale machine learning environment. Maintain and advocate for these standards through code review.
  • Confidently ship small features and improvements with guidance and support from other team members.

Requirements

  • 1 or more years of experience in ML, or a Master’s or PhD degree with a focus on Machine Learning
  • Demonstrated capacity to develop and implement deep learning models
  • Experience with Python
  • Comfort working in a highly agile, intensely iterative software development process
  • Positive and solution-oriented mindset
  • Effective communication skills: Regularly achieve consensus with peers, and clear status updates
  • An inclination towards communication, inclusion, and visibility
  • Self-motivated and self-managing, with strong organizational skills.
  • Ability to work closely with other parts of the organization
  • Share our values, and work in accordance with those values
  • Ability to thrive in a fully remote organization
  • Ability to use GitLab

Machine Learning Engineer Intermediate

The Intermediate level in the Engineering Division is a grade 6.

Responsibilities

  • Develop improvements to models to generate new content using machine learning models in a secure, well-tested, and performant way.
  • Work with highly complex data for feature development using machine learning models.
  • Collaborate with product managers, engineers, and other stakeholders as a machine learning specialist.
  • Advocate for improvements to product quality, security, and performance.
  • Solve technical problems of moderate scope and complexity.
  • Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale machine learning environment. Maintain and advocate for these standards through code review.
  • Confidently ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
  • Participate as a reviewer or project maintainer in one or more engineering projects. For more information regarding timelines and exceptions, see this page.
  • Participate in Tier 2 or Tier 3 weekday and weekend and occasional night on-call rotations to assist troubleshooting product operations, security operations, and urgent engineering issues.

Requirements

  • 2 or more years of experience in ML, or a Master’s or PhD degree with a focus on Machine Learning
  • Experience developing and implementing deep learning models
  • Professional experience with Python
  • Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems
  • Comfort working in a highly agile, intensely iterative software development process
  • Demonstrated ability to onboard and integrate with an organization long-term
  • Positive and solution-oriented mindset
  • Effective communication skills: Regularly achieve consensus with peers, and clear status updates
  • An inclination towards communication, inclusion, and visibility
  • Experience owning a project from concept to production, including proposal, discussion, and execution.
  • Self-motivated and self-managing, with strong organizational skills.
  • Demonstrated ability to work closely with other parts of the organization
  • Share our values, and work in accordance with those values
  • Ability to thrive in a fully remote organization
  • Ability to use GitLab
  • Comfort and familiarity with our code review process

Senior Machine Learning Engineer

The Senior level in the Engineering Division is a grade 7.

Senior Responsibilities

  • Design and develop models to generate new content using machine learning models in a secure, well-tested, and performant way.
  • Analyze and interpret highly complex data to arrive at actionable recommendations for feature development using machine learning models.
  • Collaborate with product managers, engineers, and other stakeholders as a specialist and subject matter expert in machine learning.
  • Advocate for improvements to product quality, security, and performance that have particular impact across your team.
  • Solve technical problems of high scope and complexity.
  • Exert influence on the overall objectives and long-range goals of your team.
  • Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale machine learning environment. Maintain and advocate for these standards through code review.
  • Confidently ship moderately sized features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
  • Improves the engineering projects at GitLab via the maintainer program at own comfortable pace, while striving to become a project maintainer.
  • Participate in Tier 2 or Tier 3 weekday and weekend and occasional night on-call rotations to assist troubleshooting product operations, security operations, and urgent engineering issues.

Senior Requirements

The following extend the main requirements for this role.

  • 3 or more years of experience in ML, or a Master’s or PhD degree with a focus on Machine Learning
  • Demonstrated experience developing and implementing deep learning models
  • Significant professional experience with Python
  • Experience with performance and optimization problems for Machine Learning models and a demonstrated ability to both diagnose and prevent these problems

Staff Machine Learning Engineer

The Staff level in the Engineering Division is a grade 8.

Staff Responsibilities

  • Design and develop models to generate new content using machine learning models in a secure, well-tested, and performant way.
  • Analyze and interpret highly complex data to arrive at actionable recommendations for feature development using machine learning models.
  • Collaborate with product managers, engineers, and other stakeholders as a specialist and subject matter expert in machine learning.
  • Advocate for improvements to product quality, security, and performance that have particular impact across your team and others.
  • Solve technical problems of the highest scope and complexity for your team.
  • Exert influence on the overall objectives and long-range goals of your team.
  • Shepherd the definition and improvement of our internal standards for style, maintainability, and best practices for a high-scale machine learning environment. Maintain and advocate for these standards through code review.
  • Drive innovation on the team with a willingness to experiment and to boldly confront problems of immense complexity and scope.
  • Actively seek out difficult impediments to our efficiency as a team (“technical debt”), propose and implement solutions that will enable the entire team to iterate faster.
  • Represent GitLab and its values in public communication around broad initiatives, specific projects, and community contributions. Interact with customers and other external stakeholders as a consultant and spokesperson for the work of your team.
  • Provide mentorship for all Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
  • Confidently ship large features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
  • Improves the engineering projects at GitLab via the maintainer program at own comfortable pace, while striving to become a project maintainer.
  • Participate in Tier 2 or Tier 3 weekday and weekend and occasional night on-call rotations to assist troubleshooting product operations, security operations, and urgent engineering issues.

Staff Requirements

The following extend the main requirements for this role.

  • 5 or more years of experience in ML, or a PhD degree with a focus on Machine Learning
  • Significant experience developing and implementing deep learning models
  • Significant professional experience with Python in a Machine Learning capacity
  • Experience with performance and optimization problems for Machine Learning models and a demonstrated ability to both diagnose and prevent these problems
  • Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions

Engineering Manager Machine Learning

The Engineering Manager in the Engineering Division is a grade 8.

Engineering Manager Machine Learning Responsibilites

  • Leverage their knowledge to lead teams of machine learning engineers and other engineers to tune, train, and create unique ML models, test 3rd party models using decision science, and create/maintain components to apply machine learning to the GitLab product
  • Lead teams at GitLab develop and implement models to support and enable experimental, beta, and generally available AI features in GitLab.
  • Additional engineering manager responsibilities

Engineering Manager Machine Learning Requirements

  • 5 or more years of experience in ML, or a PhD degree with a focus on Machine Learning

Standard Engineering Manager requirements including

  • Ability to use GitLab

  • Exquisite brokering skills: regularly achieve consensus amongst departments

  • 5 years or more experience

  • 2 years or more experience in a leadership role with current technical experience

  • In-depth technical experience in at least one of the core languages, frameworks, or technologies used by your team

  • Familiarity with other functional areas of your team

  • Any additional experience required by the position’s specialty

  • Excellent written and verbal communication skills

  • You share our values, and work in accordance with those values

  • Demonstrated experience leading teams that are developing and implementing deep learning models

  • Expert level experience with Python

  • Expert experience with performance and optimization problems for Machine Learning models and a demonstrated ability to both diagnose and prevent these problems

  • Ability to map and communicate business requirements to facilitate their implementation in machine learning initiatives

Performance Indicators

Machine Learning Engineers have the following job-family performance indicators.

Machine Learrning Managers have the same engineering manager performance indicators as other engineering managers.

Career Ladder

For more details on the engineering career ladders, please review the engineering career development handbook page.

Hiring Process

Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process.

  • Qualified candidates will be invited to schedule a 30 minute screening call with one of our Global Recruiters.

For Individual Contributors:

  • As part of the application, candidates are asked to complete a short technical questionnaire, with a possibility of additional technical questions being asked if needed after the application is submitted.
  • Next, candidates will be invited to schedule a 30 minute screening call with one of our Technical Recruiters
  • Next, candidates will be invited to schedule a 90 minute technical interview with one of our Backend Engineers
  • Next, candidates will be invited to schedule a 60 minute interview with one of our Backend Engineering Managers
  • Next, candidates will be invited to schedule a 60 minute interview with our Director of Engineering
  • Successful candidates will subsequently be made an offer. Additional details about our process can be found on our hiring page.

For Managers:

  • Selected candidates will be invited to schedule a 30 minute screening call with one of our Technical Recruiters
  • Next, candidates will be invited to schedule a 60 minute first interview with a Director of Engineering
  • Next, candidates will be invited to schedule a 45 minute second peer interview with an Engineering Manager
  • Next, candidates will be invited to schedule a 45 minute third interview with another member of the Engineering team
  • Next, candidates will be invited to schedule a 45 minute fourth interview with a member of the Product team
  • Next, candidates will be invited to schedule a 45 minute fifth interview with our VP of Engineering
  • Finally, candidates may be asked to schedule a 50 minute final interview with our CEO
  • Successful candidates will subsequently be made an offer via email

Additional details about our process can be found on our hiring page.

 


About GitLab

GitLab Inc. is a company based on the GitLab open-source project. GitLab is a community project to which over 2,200 people worldwide have contributed. We are an active participant in this community, trying to serve its needs and lead by example. We have one vision: everyone can contribute to all digital content, and our mission is to change all creative work from read-only to read-write so that everyone can contribute.

We value results, transparency, sharing, freedom, efficiency, self-learning, frugality, collaboration, directness, kindness, diversity, inclusion and belonging, boring solutions, and quirkiness. If these values match your personality, work ethic, and personal goals, we encourage you to visit our primer to learn more. Open source is our culture, our way of life, our story, and what makes us truly unique.

Top 10 Reasons to Work for GitLab:

  1. Mission: Everyone can contribute
  2. Results: Fast growth, ambitious vision
  3. Flexible Work Hours: Plan your day so you are there for other people & have time for personal interests
  4. Transparency: Over 2,000 webpages in GitLab handbook, GitLab Unfiltered YouTube channel
  5. Iteration: Empower people to be effective & have an impact, Merge Request rate, We dogfood our own product, Directly responsible individuals
  6. Diversity, Inclusion & Belonging: A focus on gender parity, Team Member Resource Groups, other initiatives
  7. Collaboration: Kindness, saying thanks, intentionally organize informal communication, no ego
  8. Total Rewards: Competitive market rates for compensation, Equity compensation, global benefits (inclusive of office equipment)
  9. Work/Life Harmony: Flexible workday, Family and Friends days
  10. Remote Done Right: One of the world's largest all-remote companies, prolific inventor of remote best practices

See our culture page for more!

Work remotely from anywhere in the world. Curious to see what that looks like? Check out our remote manifesto and guides.