Skip to content
Snippets Groups Projects
Commit 1b229811 authored by Valerie Karnes's avatar Valerie Karnes
Browse files

Merge branch 'vkarnes-main-patch-74197' into 'main'

Add frontend engineer job family in UX

See merge request !4748
parents 99e6d331 e918b791
No related branches found
No related tags found
1 merge request!4748Add frontend engineer job family in UX
Pipeline #1451351383 passed
---
layout: job_family_page
title: Frontend Engineer
description: 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](/job-families/product/product-designer/), [product managers](/job-families/product/product-manager/), and [engineers](/job-families/engineering/) 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](/handbook.gitlab.com/handbook/engineering/workflow/code-review/).
- 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](/job-families/product/frontend-engineer/#frontend-engineer)
[Senior Frontend Engineer](/job-families/product/frontend-engineer/#senior-frontend-engineer)
[Staff Frontend Engineer](/job-families/product/frontend-engineer/#staff-frontend-engineer)
## Performance Indicators
- [Pajamas adoption rate](/handbook.gitlab.com/handbook/product/ux/performance-indicators/#pajamas-component-migrations)
- UX Engineering MR rate
- [Deferred UX](/handbook.gitlab.com/handbook/product/ux/performance-indicators/#deferred-ux)
- [Open Deferred UX Age](/handbook.gitlab.com/handbook/product/ux/performance-indicators/#open-deferred-ux-age)
### Frontend Engineer
A Frontend Engineer reports to a UX Engineering Manager or [Product Design Manager](/job-families/product/product-design-management/#product-design-manager).
#### Job Grade
The Frontend Engineer is a [grade 6](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
#### 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](https://design.gitlab.com/) 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-families/product/product-design-management/#product-design-manager).
#### Job Grade
The Senior Frontend Engineer is a [grade 7](http://about.gitlab.com/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
#### 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](/handbook/product-development-flow/#validation-track) of your group.
- **Design system**: Be a primary contributor to the [Pajamas Design System](https://design.gitlab.com/) 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-families/product/product-design-management/#product-design-manager).
#### Job Grade
The Frontend Engineer is a [grade 8](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
#### 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](https://design.gitlab.com/) 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](http://about.gitlab.com/handbook/hiring/interviewing/#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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment