Job Description
Responsibilities:
- Develop features and improvements to our products in a secure, well-tested, and performant way
- Work with Product Management and other stakeholders (Backend, UX, etc.) to iterate on new features.
- 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.
- Help improve the overall experience of our product by improving the quality of the Frontend features.
- Help identify areas of improvement in the code base, both specific to your group and outside your group (e.g., component library), and help contribute to make it better
- 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.
- Contribute to and follow our workflow process, alongside the rest of the Frontend Engineers.
- Advocate for improvements to product quality, security, and performance that have 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 a large scale, and a demonstrated ability to diagnose and prevent these problems
- Help 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.
- 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.
- Help develop and own release versioning control and related documentation
- Design and implement testing and quality validation strategies.
Technical & Professional Requirements:
- 5+ years Professional experience with React and another modern JavaScript web framework (VueJs, Angular, etc.)
- Experience with writing automated tests (e.g., Jest, Karma, Jasmine, Mocha, AVA, tape)
- Experience using Git in a professional/workplace environment
- A solid understanding in core web and browser concepts (e.g., how the browser parses and constructs a web page)
- A solid understanding of semantic HTML, CSS, and core JavaScript concepts.
- 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, software development process
- Positive and solution-oriented mindset
- Effective communication skills: [Regularly achieve consensus with peers] [collaboration], and clear status updates
- An inclination towards communication, inclusion, and visibility
- [Self-motivated and self-managing] [efficiency], with great organizational skills.
- Demonstrated ability to work closely with other parts of the organization
- Ability to thrive in a fully remote organization