Frontend Engineer


Responsibilities

Workflow

Requirements for Applicants

Junior Developers

Junior Frontend Developers are developers who meeting the following criteria:

  1. Technical skills
    • Needs guidance writing modular and maintainable code
    • Has less experience with HTML, CSS & JavaScript
  2. Code quality
    • Leaves code in substantially better shape than before
    • Needs prompting to fix bugs/regressions
  3. Communication
    • Needs help to manage time effectively
    • Participates in frontend technical conversations
  4. Performance & Scalability
    • Needs help writing production-ready code
    • Has little to no experience writing large scale apps

Senior Developers

Senior Developers are experienced developers who meet the following requirements:

  1. Technical skills
    • Write modular, well-tested, and maintainable code
    • Know a domain really well and radiate that knowledge
    • Contribute to one or more complementary projects
    • Take on difficult issues, big or small
  2. Leadership
    • Begin to show architectural perspective
    • Propose new ideas, performing feasibility analyses and scoping the work
    • Capable of leading complicated features, bug fixes, and integrations with limited guidance from leads
    • Should make the entire team more productive through their efforts. This might be through mentoring junior developers, or by improving the team's process, documentation, testing or tooling in a way that helps everyone in the team be more effective.
  3. Code quality
    • Leave code in substantially better shape than before
    • Keep complexity contained as much as possible: if a feature is complex, that's sometimes unavoidable, but Senior Developers show that they can reduce or mitigate complexity in their changes
    • Fix bugs/regressions quickly
    • Monitor overall code quality/build failures
    • Leave tests in better shape than before: faster, more reliable, more comprehensive, etc.
  4. Communication
    • Provide thorough and timely code feedback for peers, leaving minimal work for later reviews / maintainers
    • Able to communicate clearly on technical topics and present ideas to the rest of the team
    • Keep issues up-to-date with progress
    • Help guide other merge requests to completion
  5. Performance and scalability
    • Excellent at writing production-ready code with little assistance
    • Are able to write complex code that can scale with a significant number of users
    • Are able to fix performance issues on GitLab.com with minimal guidance using our existing tools, and improve those tools where needed

Staff Developers

A Senior Developer will be promoted to a Staff Developer when they have demonstrated significant leadership to deliver high-impact projects. This may involve any type of consistent "above and beyond senior level" performance, for example:

  1. 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
  2. Leadership
    • Leads the design for medium to large projects with feedback from other engineers
    • Working across functional groups to deliver the project
  3. Code quality
    • Proactively identifying and reducing technical debt
    • Proactively defining and solving important architectural issues
  4. Communication
    • Writing in-depth documentation that shares knowledge and radiates GitLab technical strengths
  5. Performance & Scalability
    • Leads development of projects that lead to a significant improvement of the overall performance and scalability of GitLab

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.

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.

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

Apply

Please note that if we are actively hiring for a position, you will see it listed on our jobs page, where all of our current openings are advertised. To apply, please click on the name of the role you are interested in, which will take you to our applicant tracking system (ATS), Lever.

Avoid the confidence gap; you do not have to match all the listed requirements exactly to apply. Our hiring process is described in more detail in our hiring handbook.

About GitLab

GitLab Inc. is a company based on the GitLab open-source project. GitLab is a community project to which over 1,000 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, frugality, collaboration, directness, kindness, diversity, 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. Work with helpful, kind, motivated, and talented people.
  2. Work remote so you have no commute and are free to travel and move.
  3. Have flexible work hours so you are there for other people and free to plan the day how you like.
  4. Everyone works remote, but you don't feel remote. We don't have a head office, so you're not in a satellite office.
  5. Work on open source software so you can interact with a large community and can show your work.
  6. Work on a product you use every day: we drink our own wine.
  7. Work on a product used by lots of people that care about what you do.
  8. As a company we contribute more than we take, most of our work is released as the open source GitLab CE.
  9. Focused on results, not on long hours, so that you can have a life and don't burn out.
  10. 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.

Compensation

Annual Compensation
--

How did we calculate your compensation?

NYC benchmark $83,132
x
(
Rent Index --
+
Hot Market Adjustment --
+
0.25
)
x
Level 1.0
x
Experience 0.8 to 1.2
x
Contract Type --
Find out how our calculator works. You are also eligible for stock options and other benefits.