Most backend developers work on all aspects of GitLab, building features, fixing bugs, and generally improving the application. The Product Planning backend team works on the backend part of GitLab for the Portfolio Management, Design Management, and Certify product categories. Among other things, this means working on GitLab’s functionality around Epics, Roadmaps, Requirements, Quality Management, and Service Desk. Our mission is to build planning tools that users love and allow collaboration between all levels of the organization. You can read more about our long-term vision on our direction page.
The Product Planning team collaborates closely with the rest of the Plan stage, and the wider community, to build and improve features that are in high demand by customers. Features such as Epics are widely used internally in the everyday organization of GitLab.
Responsibilities
- Develop features and improvements to the GitLab product in a secure, well-tested, and performant way
- Collaborate with Product Management and other stakeholders within Engineering (Frontend, UX, etc.) to maintain a high bar for quality in a fast-paced, iterative environment
- Advocate for improvements to product quality, security, and performance
- Solve technical problems of moderate scope and complexity.
- Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment.
- Conduct Code Review within our Code Review Guidelines and ensure community contributions receive a swift response.
- Recognize impediments to our efficiency as a team (“technical debt”), propose and implement solutions
- Represent GitLab and its values in public communication around specific projects and community contributions.
- Confidently ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Participate in Tier 2 or Tier 3 weekday and weekend and occasional night on-call rotations to assist troubleshooting product operations, security operations, and urgent engineering issues.
Requirements
- Significant professional experience with Ruby on Rails
- Professional experience with PostgreSQL or a comparable RDBMS
- 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
- Experience owning a project from concept to production, including proposal, discussion, and execution.
- Self-motivated and self-managing, with strong 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
- Comfort and familiarity with our code review process
Nice-to-haves
- Experience in a peak performance organization, preferably a tech startup
- An understanding of ActiveRecord, GraphQL, and Sidekiq
- Experience with the GitLab product as a user or contributor
- Passionate about/experienced with open source and developer tools
- 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
- Computer science education or equivalent experience