Frontend Engineer

At GitLab, frontend engineers in UX collaborate closely with product designers, product managers, and engineers. They work on all versions of our product, including open source, enterprise editions, and the GitLab.com service.

Frontend Engineer roles at GitLab

Frontend engineers in UX collaborate closely with product designers, product managers, and engineers to create a productive, minimal, and human experience.

Base Responsibilities

  • Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code reviews.
  • Develop features and improvements to the GitLab product in a secure, well-tested, and performant way.
  • Work with product designers, engineers, and product managers to iterate on and refine the existing UX.
  • Identify areas of improvement in the code base, both within and outside of your group.
  • Guarantee UI components meet design and functionality standards.
  • Be a liaison between design and development, ensuring design guidelines and specifications are implemented accurately in the code.
  • Act as an accessibility ambassador.

Base Requirements

  • A deep understanding of semantic HTML, CSS, and core JavaScript concepts.
  • Professional experience with VueJS or another modern JavaScript web framework (React, Angular, Ember, etc.).
  • Experience with writing automated tests (such as Jest, Karma, Jasmine, Mocha, AVA, tape).
  • A solid understanding in core web and browser concepts (eg. how the browser parses and constructs a web page).
  • Comfort and familiarity with our code review process.
  • Experience with performance and optimization problems and a demonstrated ability to diagnose and prevent these problems.
  • Have deep design system knowledge, understanding, and practice.
  • Demonstrated ability to build accessible products using WCAG guidelines and best practices.

Levels

Frontend Engineer Senior Frontend Engineer Staff Frontend Engineer

Performance Indicators

Frontend Engineer

A Frontend Engineer reports to a UX Engineering Manager or Product Design Manager.

Job Grade

The Frontend Engineer is a grade 6.

Responsibilities

  • Product knowledge: Have working knowledge of the group you are assigned.
  • Deliverables: Develop features and improvements to the GitLab product in a secure, accessible, user-friendly, well-tested, and performant way.
  • Communication: Communicate the results of frontend activities within your product area to the UX department, cross-functional partners within your product area, and other interested GitLab team-members using clear language that simplifies complexity.
  • Iteration: Practice iteration by breaking down design and development efforts to fit the release cadence of your group.
  • Design system: Be a primary contributor to the Pajamas Design System by building components and updating documentation. Ensure components available in GitLab UI follow design specs.
  • Code quality: Craft code that meets our internal standards for style, maintainability, and best practices in a high-scale web environment.
  • Code reviews: Participate in code reviews by giving and receiving feedback in an appropriate manner.
  • Accessibility: Ensure code is written following WCAG guidelines and best practices.
  • Recruiting: Help evaluate candidates during the interview process by participating on the interview panel for other frontend and UX engineers.

Requirements

A Frontend Engineer is expected to meet the base requirements and execute the responsibilities with a commitment to results and agreed actions.

Senior Frontend Engineer

The Senior Frontend Engineer reports to a UX Engineering Manager or Product Design Manager.

Job Grade

The Senior Frontend Engineer is a grade 7.

Responsibilities

  • Product knowledge: Deeply understand the technology and features of the group you are assigned and proactively learn about other groups.
  • Deliverables: Develop features and improvements to the GitLab product in a secure, accessible, user-friendly, well-tested, and performant way. Solve technical problems of high scope and complexity.
  • Communication: Communicate the results of frontend activities with a strong point of view to the UX department, cross-functional partners with your group, and other interested GitLab team-members using clear language that simplifies complexity.
  • Iteration: Practice iteration by breaking down design and development efforts to fit the release cadence of your group. Lead and coach iteration of development work within the validation track of your group.
  • Design system: Be a primary contributor to the Pajamas Design System by building components and updating documentation. Ensure components available in GitLab UI follow design specs. Help organize and drive participation in Pajamas Migration Days and Hackathons.
  • Code quality: Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code reviews.
  • Accessibility: Proactively identify both small and large accessibility issues within your group, and help influence their prioritization.
  • Cross-stage collaboration: Identify dependencies between groups and stages, and advocate for cross-stage collaboration when needed. Help evangelize the use of the Pajamas Design System.
  • Influence: Advocate for improvements to product quality, security, and performance that have particular impact across your group. Exert influence on the overall vision and long-range goals of your group.
  • Mentoring: Mentor other members of the UX department, both inside and outside of your group on how to make changes directly in the product that help accelerate implementing design system components in the product, or to address usability issues.
  • Recruiting: Help evaluate candidates during the hiring process by participating on the interview panel for other frontend and UX engineers.

Requirements

A Senior Frontend Engineer is expected to meet the base requirements and execute the responsibilities while modeling a sense of urgency and commitment to deliver results.

Staff Frontend Engineer

A Staff Frontend Engineer reports to a UX Engineering Manager or Product Design Manager.

Job Grade

The Frontend Engineer is a grade 8.

Responsibilities

  • Product knowledge: Deeply understand the technology and features of the group you are assigned and have a working knowledge of the end-to-end GitLab product.
  • Deliverables: Develop features and improvements to the GitLab product in a secure, accessible, user-friendly, well-tested, and performant way. Define best practices to inform how teams design and build across GitLab. Proactively 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.
  • Communication: Set an example for how to effectively communicate across groups and stages by frequently participating in asynchronous collaboration in issues and merge requests.
  • Iteration: Practice iteration by breaking down design and development efforts to fit the release cadence of your group. Understand long-term goals in your group and help other engineers break down efforts into actionable steps.
  • Design system: Be a primary contributor to the Pajamas Design System by building components and updating documentation. Act as an owner of the “Pajamas component migration” performance indicator. Ensure components available in GitLab UI follow design specs and work with groups to advocate for component usage and compliance.
  • Code quality: Shepherd the definition and improvement of our internal standards for style, maintainability, and best practices for a high-scale web environment. Push forward the craft of high-quality code output by fostering a collaborative peer review process in an all-remote context.
  • Accessibility: Teach and socialize accessibility best practices in the GitLab community, so that product teams can implement WCAG guidelines more efficiently on their own.
  • Cross-stage collaboration: Identify dependencies between groups and stages, and advocate for cross-stage collaboration when needed. Drive adoption of the Pajamas Design System.
  • Influence: Advocate for improvements to product quality, security, and performance that have particular impact across your group. Exert significant influence on the overall vision and long-range goals of your group. Drive innovation on the team with a willingness to experiment and to boldly confront problems of immense complexity and scope. Public presence: Help promote GitLab publicly by writing blog articles, giving talks, publishing videos to GitLab Unfiltered, or responding on social media, where appropriate.
  • Mentoring: Mentor engineers and designers, both inside and outside of your group on how to approach technical problems, solicit feedback, and drive for impactful outcomes.
  • Recruiting: Help evaluate candidates during the hiring process by participating on the interview panel for other frontend and UX engineers.

Requirements

A Staff Frontend Engineer is expected to meet the base requirements and execute the responsibilities while coaching team members to collaborate and work iteratively.

Hiring Process

Candidates can expect the hiring process to follow the below order, although it can change depending on calendar availability. Please keep in mind that candidates can be declined at any stage of the process.

  • 30-minute screening call with one of our global recruiters.
  • 90-minute technical interview with a Frontend Engineer.
  • 60-minute interview with a UX Engineering Manager or Product Design Manager.
  • 50-minute interview with a Group Product Manager.
  • 60-minute interview with a Senior Manager of Product Design.

 


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.

Last modified October 12, 2024: Add file extension (46157921)