- You are here:
- Frontend Engineer
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:
- 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!
- 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.
- 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.
Requirements for Applicants
- Know how to use CSS effectively
- 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.
Junior Frontend Developers are developers who meeting the following criteria:
- Technical skills
- Needs guidance writing modular and maintainable code
- Code quality
- Leaves code in substantially better shape than before
- Needs prompting to fix bugs/regressions
- 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 Developers are experienced developers who meet the following requirements:
- 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
- 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.
- 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.
- 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
- 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
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:
- 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
- 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
- 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
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.
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 from our Global Recruiters
- 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.
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.
Work remotely from anywhere in the world. Curious to see what that looks like? Check out our remote manifesto. Apply