Frontend Engineer (Lead, Senior, Junior, Internship)

GitLab

Responsibilities

  • Fix prioritized issues from the issue tracker.
  • Write the code to complete scheduled direction issues chosen by our scheduling committee, assigned to you by the frontend lead.
  • Continually improve the quality of GitLab by using discretion of where you think changes are needed.
  • Create high quality frontend code.
  • Frontend Design Specialist: Implement the interfaces in GitLab proposed by UX Engineers and contributors.
  • Frontend Design Specialist: Improve the static website of GitLab based on the collaborations with the the Designer and CMO.

Requirements

  • Know how to use CSS effectively
  • Expert knowledge of JavaScript
  • Basic knowledge of Vue.js is a plus but not a requirement
  • Collaborate effectively with UX Designers, Developers, and Designers
  • Be able to work with the rest of the community
  • Knowledge of Ruby on Rails is a plus
  • You share our values, and work in accordance with those values.

Specialists

Marketing

  • Own the front-end development of about.gitlab.com
  • Work closely with the marketing team to maintain the GitLab website
  • Code all marketing assets like emails, landing pages, etc.
  • Continually improve the quality of about.GitLab.com by using discretion of where you think changes are needed.
  • Focus on mobile responsiveness for about.gitlab.com and all marketing assets.
  • Create high quality frontend code.
  • Improve the static website of GitLab based on the collaborations with the the Designer and CMO.
  • Needs to have extensive knowledge of Rails
  • Relevant link: Marketing Handbook

Internships

We normally don’t offer any internships, but if you get a couple of merge requests accepted, we’ll interview you for one. This will be a remote internship without supervision; you’ll only get feedback on your merge requests. If you want to work on open source and qualify please submit an application. In the cover letter field, please note that you want an internship and link to the accepted merge requests. The merge requests should be of significant value and difficulty, which is at the discretion of the manager. For example, fixing 10 typos isn’t as valuable as shipping 2 new features.

Junior

Junior Frontend Engineers are developers who meeting the following criteria:

Technical skills

  • Needs guidance writing modular and maintainable code
  • Has less experience with HTML, CSS & JavaScript

Code quality

  • Leaves code in substantially better shape than before
  • Needs prompting to fix bugs/regressions

Communication

  • Needs help to manage time effectively
  • Participates in frontend technical conversations

Performance & Scalability

  • Needs help writing production-ready code
  • Has little to no experience writing large scale apps

Senior

Senior Frontend Engineers are experienced developers who meet the following requirements:

Technical Skills

  • Are able to write modular, well-tested, and maintainable code
  • Know a domain really well and radiate that knowledge
  • Contribute to one or more complementary projects

Leadership

  • Begins to show architectural perspective
  • Proposing new ideas, performing feasibility analyses and scoping the work

Code quality

  • Leaves code in substantially better shape than before
  • Fixes bugs/regressions quickly
  • Monitors overall code quality/build failures
  • Creates test plans

Communication

  • Provides thorough and timely code feedback for peers
  • Able to communicate clearly on technical topics
  • Keeps issues up-to-date with progress
  • Helps guide other merge requests to completion
  • Helps with recruiting

Performance & Scalability

  • Excellent at writing production-ready code with little assistance
  • Able to write complex code that can scale with a significant number of users

Staff

A Senior Frontend Engineer will be promoted to a Staff Frontend Engineer when he/she has demonstrated significant leadership to deliver high-impact projects. This may involve any type of consistent “above and beyond senior level” performance, for example:

Technical Skills

  • Identifies significant projects that result in substantial cost savings or revenue
  • Able to create innovative solutions that push GitLab’s technical abilities ahead of the curve

Leadership

  • Leads the design for medium to large projects with feedback from other engineers
  • Working across functional groups to deliver the project

Code quality

  • Proactively identifying and reducing technical debt
  • Proactively defining and solving important architectural issues

Communication

  • Writing in-depth documentation that shares knowledge and radiates GitLab technical strengths

Performance & Scalability

  • Leads development of projects that lead to a significant improvement of the overall performance and scalability of GitLab

Lead

The Frontend Lead leads the implementation of significant frontend features, works with other teams to identify priorities for releases, and assigns frontend engineers direction issues. Other responsibilities include:

  • Identifies hiring needs for frontend group
  • Interviews applicants for Frontend engineers positions
  • Continues to spend part of their time coding
  • Ensures that the technical decisions and process set by the CTO are followed
  • Does 1:1’s with all reports every 2-5 weeks (depending on the experience of the report)
  • Is available for 1:1’s on demand of the report
  • Uses the contributor analytics to ensure that Frontend engineers that are stuck are helped
  • Ensures quality implementation of design materials
  • Prioritize frontend issues which lead to bad user experience
  • Review of the merge requests made by Frontend engineers
  • Delivers input on promotions, function changes, demotions and firings in consultation with the CEO, CTO, and VP of Engineering
  • Defines best practices and coding standards for frontend group

Additional Requirements

  • At least 1 year of experience leading, mentoring, and training teams of frontend engineers
  • Experience working on a production-level JavaScript applications
  • Self-motivated and strong organizational skills
  • Strong understanding of CSS
  • Passionate about testing and design principles

Hiring Process

Applicants for this position can expect the hiring process to follow the order below. Please keep in mind that applicants can be declined from the position at any stage of the process. To learn more about someone who may be conducting the interview, find her/his job title on our team page.

  • Qualified applicants receive a short questionnaire
  • Selected candidates will be invited to schedule a 45 minute screening call with our Global Recruiters
  • Next, candidates will be invited to schedule a 45 minute first interview with a Frontend Engineer
  • Candidates will then be invited to schedule a 1 hour technical interview with the Frontend Lead
  • Candidates will be invited to schedule a third 45 minute interview with our VP of Engineering
  • Finally, candidates will schedule a 50 minute 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.

Workflow

  • You work on issues tagged with ‘Frontend’ on CE and EE.
  • The priority of the issues tagged with this label can be found in the handbook under GitLab Workflow.
  • When done with a frontend issue remove the ‘Frontend’ label and add the next workflow label which is probably the ‘Developer’ label.