Frontend Engineering Roles at GitLab
Frontend Engineers at GitLab work on our product. This includes both the open source version of GitLab, the enterprise editions, and the GitLab.com service as well. They work with peers on teams dedicated to areas of the product. They work together with product managers, designers, and backend engineers to solve common goals.
Unless otherwise specified, all Frontend Engineering roles at GitLab share the following
requirements and responsibilities:
- Experience with writing automated tests (eg. Jest, Karma, Jasmine, Mocha, AVA, tape)
- Experience using Git in a professional/workplace environment
- A solid understanding in core web and browser concepts (eg. how the browser parses and constructs a web page)
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions
- 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
- Self-motivated and self-managing, with great 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
Nice to have:
- Working knowledge of Ruby on Rails and Haml
- Experience in a peak performance organization, preferably a tech startup
- Experience with the GitLab product as a user or contributor
- Product company experience
- Experience working with a remote team
- Enterprise software company experience
- Developer platform/tool industry experience
- Experience working with a global or otherwise multicultural team
- Experience contributing to open source software
- Domain knowledge relevant to the product stage in which you are looking to join (eg. someone with CI/CD experience applying for the Verify & Release team)
- Develop features and improvements to the GitLab product in a secure, well-tested, and performant way
- You’ll work with Product Management and other stakeholders (Backend, UX, etc.) to iterate on new features within the GitLab product.
- 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 review.
- Consistently ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- You'll help improve the overall experience of our product through improving the quality of the Frontend features both in your group and features that benefit other groups.
- You’ll help identify areas of improvements in the code base, both specific to your group and outside your group (eg. component library) and help contribute to make it better
- You’ll learn, collaborate and teach other Frontend Engineers. Everyone can contribute something new to the team regardless of how long they’ve been in the industry.
- You’ll fix prioritized issues from the issue tracker. These are typically bugs listed in a GitLab issue with an attached severity and priority label.
- You’ll contribute to and follow our workflow process, alongside the rest of the Frontend Engineers and the GitLab community as a whole.
Frontend Engineer Performance Indicators
Frontend Engineers have the following job-family performance indicators.
Read more about levels at GitLab here.
Junior Frontend Engineer
Junior Frontend Engineers, while sharing the same requirements and responsibilities outlined above, typically join with less or alternate experience than typical Frontend Engineers.
Intermediate Frontend Engineers are expected to meet the requirements and execute the responsibilities with minimal assistance.
Senior Frontend Engineer
The Senior Frontend Engineer role extends the Frontend Engineer role.
- 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 vision and long-range goals of your team. This could be technical and/or product focused.
- Experience with performance and optimization problems, particularly at large scale, and a demonstrated ability to both diagnose and prevent these problems
- 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 review.
- Represent GitLab and its values in public communication around broader initiatives, specific projects, and community contributions.
- Provide mentorship for Junior and Intermediate Engineers in your section to help them grow in their technical responsibilities and remove blockers.
- Consistently 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 maintainer trainee program at own comfortable pace, while striving to become a project maintainer.
A Senior Frontend Engineer may want to pursue the engineering management track at this point. See Engineering Career Development for more detail.
Note: Staff and above positions at GitLab are more of a role than just a "level". We prefer to bring people in as Senior and let the team elevate them to Staff due to an outstanding work history within GitLab.
Staff Frontend Engineer
The Staff Frontend Engineer role extends the Senior Frontend Engineer role.
- 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 significant influence on the overall vision 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 web 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.
- Proactively seeks 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.
- Consistently ship large features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
Distinguished Frontend Engineer
The Distinguished Frontend Engineer role extends the Staff Frontend Engineer role.
- At this level the person's contribution plays to their strength and role on the team. These contributions come in different forms such as: Ship large feature sets with team, completes feature discovery independently, publishes technical blogs and speaks at conferences, interfaces with customers and provides technical direction to stakeholders (Product, Sales, others)
- Generate technical and process improvements
- Contribute to the sense of psychological safety on your team
- Work cross-departmentally
- Be a technical mentor for other frontend engineers
- Author architecture documents for epics
- Hold team members accountable within their roles
Frontend Engineering Fellow
The Frontend Engineering Fellow role extends the Distinguished Frontend Engineer role.
- Advocate for improvements to product quality, security, and performance that impact all of Engineering at GitLab.
- Solve technical problems of the highest scope and complexity for the entire
- Exert significant influence on the overall objectives and long-range goals of GitLab.
- Ensure that our standards for style, maintainability, and best practices are suitable for the unique problems of scale and diversity of use represented by the GitLab product. Maintain and advocate for these standards through code review.
- Drive innovation across Engineering with a willingness to experiment and to boldly confront problems of immense complexity and scope.
- Actively seek out and prioritize our toughest technical challenges with a goal of creating significant improvement for GitLab's use, ease of development, and/or technical efficiency.
- Represent GitLab and its values in public communication in all aspects of our software development lifecycle and public relations. Interact with customers and other external stakeholders as a consultant and spokesperson for critical projects and aspects of our technical architecture.
- Provide mentorship for Senior and Staff Engineers at the company to help them grow in their technical responsibilities and to share your great expertise across the organization.
- Confidently ship immense or otherwise extremely high-impact features and improvements with minimal guidance and support from other members of the organization.
- Help create the sense of psychological safety in the department
Candidates for a Frontend Engineering 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. To learn more about someone who may be conducting the interview, find their job title on our team page.
- Selected candidates will be invited to complete a short written assessment.
- Next, candidates will be invited to schedule a 30 minute screening call with our Global Recruiters
- Next, candidates will be invited to schedule a 90 minute technical interview with either a Frontend Engineer or a Frontend Hiring Manager
- Next, candidates will be invited to schedule a 45 minute behavioral interview with a Frontend Hiring Manager
- Candidates will then be invited to schedule a 60 minute interview with a Director of Engineering
- Successful candidates will subsequently be made an offer.
Additional details about our process can be found on our hiring page.
Engineering Management Roles at GitLab
View the engineering management job family page for more details on engineering management roles.
As a frontend engineer, in one of the following team specialities, you should expect to …
Increase user productivity by improving the user experience across the entire GitLab UI,
driving initiatives such as internationalization and analytics, as well as refreshing the design across well-trafficked parts of the UI.
Enable people in any size organization the ability to manage and analyze projects, from ideation to execution.
You will work on our project management applications, including Issue Management, Kanban Boards, and Agile Portfolio Management.
Build and improve features related to creating projects using GitLab. This includes dealing with Source Code of projects including Snippets, Code Reviewing (Merge Requests), the Web IDE, projects' Wiki and Design Management.
Focus on building functionality related to the Continuous Integration stage of the DevOps lifecycle. This includes contributing to Performance and Testing tools, Cross-Project Pipelines, Visual Review Apps, and CI Recipes. Our mission is to help developers feel confident in delivering their code to production.
Create a consistent user experience for developers to interact with our integrated universal package management solution. Our focus is to simplify package sharing within organizations and teams while providing an extra layer of confidence in external dependencies.
The tools you build will be used by developers and security engineers alike, to help their teams to detect and mitigate potential vulnerabilities before they hit production.
This involves displaying results of our automated security scanning, for example Dependency Scanning.
The UI we build display aggregated data of scanning results in a user-friendly way.
Focus on building functionality related to the Continuous Delivery stage of the DevOps lifecycle. This includes contributing to Review Apps, Feature Flags, Merge Request Pipelines, and GitLab Pages. Our mission is to provide the best experience to developers as they deliver their changes to production with zero-touch software delivery.
Become an expert in Auto DevOps, Kubernetes and Serverless. You should also expect to create fantastic
user experiences that help guide users through configuring their application and infrastructure in an intuitive way.
Build charts and dashboards to help users monitor metrics so that users know how changes in their code impacts their production environment.
You should expect to become a leader in charting and data visualizations at GitLab and to become very familiar with our charting library, ECharts.
Defend is a new group which will be bootstrapped during 2019.
Secure helps to improve security during the development of an application,
while Defend does so during the production phase of an application.
You should expect that there are a lot of interfaces to be built from scratch in Vue and VueX, potentially with real time updates and charting capabilities.
Geo is an enterprise product feature, built to help speed up the development of distributed teams by providing one or more
read-only mirrors of a primary GitLab instance. This mirror (a Geo secondary node) reduces the time to clone or fetch
large repositories and projects, or can be part of a Disaster Recovery solution.
Move data-driven product decisions forward by working on telemetry initiatives, understanding how users interact with GitLab. Work at the core of how GitLab earns revenue, working on our licensing and transaction applications.
The Ecosystem team is responsible for seamless integration between GitLab and 3rd party products as well as making GitLab products available on cloud service providers’ marketplaces such as AWS. The team plays a critical role in developing APIs and SDK and expanding GitLab market opportunities.
The Distribution team closely partners with our greater engineering organization to build, configure and automate GitLab deployments.
GitLab's distribution team is tasked with creating a seamless installation and upgrade experience for users across a multitude of platforms.
What it’s like to work here at GitLab:
The culture here at GitLab is something we’re incredibly proud of. Because GitLab team-members are currently located in 50+ different countries, you’ll spend your time collaborating with kind, talented, and motivated colleagues from across the globe.
Some of the benefits you’ll be entitled to vary by the region or country you’re in. However, all GitLab team-members are fully remote and receive a "no ask, must tell" paid-time-off policy, where we don’t count the number of days you take off annually. You can work incredibly flexible hours, enabled by our asynchronous approach to communication.
Also, every nine months or so, we’ll invite you to our Contribute event.
For more details on the engineering career ladders, please review the engineering career development handbook page.
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:
- Work with helpful, kind, motivated, and talented people.
- Work remote so you have no commute and are free to travel and move.
- Have flexible work hours so you are there for other people and free to plan
the day how you like.
- Everyone works remote, but you don't feel remote. We don't have a head
office, so you're not in a satellite office.
- Work on open source software so you can interact with a large community and
can show your work.
- Work on a product you use every day: we drink our own wine.
- Work on a product used by lots of people that care about what you do.
- As a company we contribute more than we take, most of our work is released
as the open source GitLab CE.
- Focused on results, not on long hours, so that you can have a life and
don't burn out.
- Open internal processes: know what you're getting in to and be assured
we're thoughtful and effective.
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.