Data Engineer
This role requires an analytical and business-oriented mindset with the ability to implement rigorous database solutions and best practices in order to produce and influence the adoption of strong quality data insights to drive business decisions in all areas of GitLab. Data Engineers are essentially software engineers who have a particular focus on data movement and orchestration.
Job Grade
The Data Engineer is a grade 6.
Requirements
- 2+ years hands-on experience deploying production quality code
- Professional experience using Python, Java, or Scala for data processing (Python preferred)
- Knowledge of and experience with data-related Python packages
- Demonstrably deep understanding of SQL and analytical data warehouses (Snowflake preferred)
- Hands-on experience implementing ETL (or ELT) best practices at scale.
- Hands-on experience with data pipeline tools (Airflow, Luigi, Azkaban, dbt)
- Strong data modeling skills and familiarity with the Kimball methodology.
- Experience with Salesforce, Zuora, Zendesk and Marketo as data sources and consuming data from SaaS application APIs.
- Share and work in accordance with our values
- Constantly improve product quality, security, and performance
- Desire to continually keep up with advancements in data engineering practices
- Catch bugs and style issues in code reviews
- Ship small features independently
- Successful completion of a background check
- Ability to use GitLab
Responsibilities
- Maintain our data warehouse with timely and quality data
- Build and maintain data pipelines from internal databases and SaaS applications
- Create and maintain architecture and systems documentation
- Write maintainable, performant code
- Implement the DataOps philosophy in everything you do
- Plan and execute system expansion as needed to support the company's growth and analytic needs
- Collaborate with Data Analysts to drive efficiencies for their work
- Collaborate with other functions to ensure data needs are addressed
- This position is always central and reports to the Manager, Data
Senior Data Engineer
The Senior Data Engineer role extends the Data Engineer role.
Job Grade
The Senior Data Engineer is a grade 7.
Responsibilities
- All requirements of an Intermediate Data Engineer
- Understand and implement data engineering best practices
- Improve, manage, and teach standards for code maintainability and performance in code submitted and reviewed
- Create smaller merge requests and issues by collaborating with stakeholders to reduce scope and focus on iteration
- Ship medium to large features independently
- Generate architecture recommendations and the ability to implement them
- Great communication: Regularly achieve consensus amongst teams
- Perform technical interviews
Performance Indicators (PI)
- SLO achievement per data source
- Infrastructure Cost vs Plan
- Number of days since last environment audit
- Mean Time between Failures (MTBF)
- Mean Time to Repair (MTTR)
Hiring Process
Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process. To learn more about someone who may be conducting the interview, find their job title on our team page.
- Selected candidates will be invited to complete an assessment
- Next, candidates will be invited to schedule a screening call with our Global Recruiters
- Next, candidates will be invited to schedule a first interview with our Senior Director, Data and Analytics
- Then, candidates will be invited to schedule two interviews with two separate Peers
Additional details about our process can be found on our hiring page.
Career Ladder
The next step in the Data Engineer job family is to move to the Data Management job family.
About GitLab
GitLab Inc. is a company based on the GitLab open-source project. GitLab is a community project to which over 2,200 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, self-learning, frugality, collaboration, directness, kindness, diversity, inclusion and belonging, 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!
Work remotely from anywhere in the world. Curious to see what that looks like? Check out our remote manifesto and guides.