Open Sourcing Querybook, Pinterest’s Collaborative Big Data Hub

9,072
Pinterest
Pinterest's profile on StackShare is not actively maintained, so the information here may be out of date.

An efficient big data solution for an increasingly remote-working world.

By Charlie Gu | Tech Lead, Analytics Platform, Lena Ryoo | Software Engineer, Analytics Platform, and Justin Mejorada-Pier | Engineering Manager, Analytics Platform

With more than 300 billion Pins, Pinterest is powering an ever-growing and unique dataset that maps interests, ideas, and intent. As a data-driven company, Pinterest uses data insights and analysis to make product decisions and evaluations to improve the Pinner experience for more than 450 million monthly users. To continuously make these improvements, especially in an increasingly remote environment, it’s more important than ever for teams to be able to compose queries, create analyses, and collaborate with one another. Today we’re taking Querybook, our solution for more efficient and collaborative big data access, and open sourcing it for the community.

The common starting point for any analysis at Pinterest is an ad-hoc query that gets executed on a SparkSQL, Hive, Presto cluster, or any Sqlalchemy compatible engine. We built Querybook to provide a responsive and simple web UI for such analysis so data scientists, product managers, and engineers can discover the right data, compose their queries, and share their findings. In this post, we’ll discuss the motivation to build Querybook, its features, architecture, and our work to open source the project.

The Journey

The proposal to build Querybook started in 2017 as an intern project. During that time, we used a vendor-supplied web application as the query UI. There were often user complaints about that tool regarding its UI, speed & stability, lack of visualizations, as well as difficulty in sharing. Before long, we realized there was a great opportunity to build a better querying interface.

We started to interview data scientists and engineers about their workflows while scoping out technical details. Shortly, we realized most were organizing their queries outside of the official tool, and many used apps like Evernote. Although Jupyter had a notebook user experience, its requirement to use Python/R and the lack of table metadata integration deterred many users. Based on this finding, our team decided Querybook’s query interface would be a document where users can compose queries and write analyses all in one place with the power of collocated metadata and the simplicity of a note-taking app.

Released internally in March 2018, Querybook became the official solution to query big data at Pinterest. Nowadays, Querybook on average has 500 DAUs and 7k daily query runs. With an internal user rating of 8.1/10, it’s one of the highest-rated internal tools at Pinterest.

Feature Highlights

Figure 1. Querybook’s Doc UI

When a user first visits, they‘ll quickly notice its distinctive DataDoc interface. This is the primary place for users to query and analyze. Each DataDoc is composed of a list of cells which can be one of three types: text, query, or chart.

  • The text cell comes with built-in rich-text support for users to jot down their ideas or insights.
  • The query cell is used to compose and execute queries.
  • The chart cell is used to create visualizations based on execution results. Similar to Google Docs, when users are granted access to a DataDoc, they can collaborate with each other in real-time.

With the intuitive charting UI, users can easily turn a DataDoc into an illustrative dashboard. You can choose from different visualization options, such as time-series, pie-charts, scatter plots, and more. You can then connect your visualization to the results of any query on your DataDoc and post-process them with sorting and aggregation as needed. To automatically update these charts, you can use the scheduling options and select your desired cadence. The scheduler can notify users of success or failure. Combined with the templating option powered by Jinja, creating a live updating DataDoc is very quick.

Scheduling and visualization features aren’t intended to replace tools such as Airflow or Superset. Rather, these features provide users a simple and fast way to experiment with their queries and iterate on them. Often, Pinterest engineers use Querybook as the first step to compose queries before creating production-level workflows and dashboards.

Last but not least, Querybook comes with an automated query analytics system. Every query executed gets analyzed to extract metadata such as referenced tables and query runners. Querybook uses this information to automatically update its data schema and search ranking, as well as to show a table’s frequent users and query examples. The more queries, the more documented the tables become.

Architecture

Figure 2. Overview of Querybook’s architecture

To understand how Querybook works, we’ll walk through the process of composing and executing a query.

  1. The first step is to create a DataDoc and write the query in a cell. While the user types, the user’s query gets streamed to the server via Socket.IO.
  2. The server then pushes the delta to all users reading that DataDoc via Redis. At the same time, the server would save the updated DataDoc in the database and create an async job for the worker to update the DataDoc content in ElasticSearch. This allows the DataDoc to be searched later.
  3. Once the query is written, the user can execute the query by clicking the run button. The server would then create a record in the database and insert a query job into the Redis task queue. The worker receives the task and sends the query to the query engine (Presto, Hive, SparkSQL, or any Sqlalchemy compatible engine). While the query is running, the worker pushes live updates to the UI via Socket.IO.
  4. When the execution is completed, the worker loads the query result and uploads it in batches to a configurable storage service (e.g. S3). Finally, the browser gets notified of the query completion and makes a request to the server to load the query result and display it to the user.

For brevity, this section only focused on one user flow of Querybook. However, all the infrastructure used is covered. Querybook allows some of it to be customized. For example, you can choose to upload execution results to either S3, Google Cloud Storage, or a local file. In addition, MySQL can also be swapped with any Sqlalchemy-compatible database such as Postgres.

The Path To Open Source

After noticing the success that Querybook had internally, we decided to open source it. One challenge we bumped into was how to make it generic while preserving some of the Pinterest-specific integrations. For this, we decided to have a two-layer organization through a plugin system and to add an Admin UI.

The Admin UI lets companies configure Querybook’s query engines, table metadata ingestion, and access permissions from a single friendly interface. Previously, these configurations were done inside configuration files and required a code change as well as a deployment to be reflected. With this new UI, admins can make live Querybook changes without going through code or config files.

Figure 3. The Admin UI

The plugin system integrates Querybook with the internal systems at Pinterest by utilizing Python’s importlib. With the plugin system, developers can configure auth, customize query engines, and implement exporters to internal sites. Customized behaviors provided by the plugin system allow Querybook to be optimized for the user’s workflow at Pinterest while ensuring the open-source is generic for the public.

You can check out more of Querybook’s features and its documentation on Querybook.org, and you can reach us at querybook@pinterest.com.

Acknowledgments: We want to thank the following engineers that have made contributions to Querybook: Lauren Mitchell, Langston Dziko, Mohak Nahta, and Franklin Shiao. And to Chunyan Wang, Dave Burgess, and David Chaiken for their critical advice and support.

Pinterest
Pinterest's profile on StackShare is not actively maintained, so the information here may be out of date.
Tools mentioned in article
Open jobs at Pinterest
Software Engineer
Warsaw, POL
<div class="content-intro"><p><strong>About Pinterest</strong><span style="font-weight: 400;">:&nbsp;&nbsp;</span></p> <p>Millions of people across the world come to Pinterest to find new ideas every day. It’s where they get inspiration, dream about new possibilities and plan for what matters most. Our mission is to help those people find their inspiration and create a life they love.&nbsp;In your role, you’ll be challenged to take on work that upholds this mission and pushes Pinterest forward. You’ll grow as a person and leader in your field, all the while helping&nbsp;Pinners&nbsp;make their lives better in the positive corner of the internet.</p> <p><em>Our new progressive work model is called PinFlex, a term that’s uniquely Pinterest to describe our flexible approach to living and working. Visit our </em><a href="https://www.pinterestcareers.com/pinflex/" target="_blank"><em><u>PinFlex</u></em></a><em> landing page to learn more.&nbsp;</em></p></div><p><strong>What you’ll do</strong></p> <ul> <li style="font-weight: 400;"><strong>Impact &amp; Mission. </strong><span style="font-weight: 400;">Join a small team that works to implement a wide range of techniques to deliver value for Pinners and Creators&nbsp;</span></li> <li style="font-weight: 400;"><strong>Fast iterations</strong><span style="font-weight: 400;">. Prototype through fast iteration to explore various opportunities for all of Pinterest’s global Pinners and Creators.</span></li> <li style="font-weight: 400;"><strong>Collaboration</strong><span style="font-weight: 400;">. Integrate with many other internal engineering teams across Pinterest to support the end-to-end user journeys. Work in dynamic and diverse environments alongside engineering (closely with iOS/Android teams), products and designers. Evangelization across engineering to implement and adopt best practices to simplify our codebase and promote growth</span></li> <li style="font-weight: 400;"><strong>Ownership</strong><span style="font-weight: 400;">. Take ownership of product quality and release processes to deliver high quality user experiences.</span></li> <li style="font-weight: 400;"><strong>Feature Development. </strong><span style="font-weight: 400;">Work across all parts of the stack and be flexible working with different technologies. Adding a new functionality on both the backend and Web sides to bring the value for millions of users</span></li> <li style="font-weight: 400;"><strong>Pinterest Video Actionability. </strong><span style="font-weight: 400;">To bring the maximum contribution by developing features that increase our video actionability for Pinners around the world</span></li> </ul> <p>&nbsp;</p> <p><strong>What we’re looking for</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">3+ years of full stack development (Web/Mobile Web) building successful products and/or systems, preferably on customer-facing products.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Proficiency in common backend tech stacks for RESTful API, storage, caching and data processing.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience/familiarity with Javascript, Python, React, GraphQL, mysql, bash/scripting or similar</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Strong command of SQL-like query languages to be used for processing data and automated workflows</span><span style="font-weight: 400;">.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Self-driven and openness to learn quickly, explore, flexibility without being afraid to dig deep</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Strong communication skills and great product intuition</span><span style="font-weight: 400;">.</span></li> </ul> <p>This position is not eligible for relocation assistance.</p> <p>&nbsp;</p> <p>#LI-HYBRID</p> <p>#LI-DL2</p><div class="content-conclusion"><p><strong>Our Commitment to Diversity:</strong></p> <p>At Pinterest, our mission is to bring everyone the inspiration to create a life they love—and that includes our employees. We’re taking on the most exciting challenges of our working lives, and we succeed with a team that represents an inclusive and diverse set of identities and backgrounds.</p></div>
Machine Learning Engineer, Tech Lead ...
San Francisco, CA, US; , CA, US
<div class="content-intro"><p><strong>About Pinterest</strong><span style="font-weight: 400;">:&nbsp;&nbsp;</span></p> <p>Millions of people across the world come to Pinterest to find new ideas every day. It’s where they get inspiration, dream about new possibilities and plan for what matters most. Our mission is to help those people find their inspiration and create a life they love.&nbsp;In your role, you’ll be challenged to take on work that upholds this mission and pushes Pinterest forward. You’ll grow as a person and leader in your field, all the while helping&nbsp;Pinners&nbsp;make their lives better in the positive corner of the internet.</p> <p><em>Our new progressive work model is called PinFlex, a term that’s uniquely Pinterest to describe our flexible approach to living and working. Visit our </em><a href="https://www.pinterestcareers.com/pinflex/" target="_blank"><em><u>PinFlex</u></em></a><em> landing page to learn more.&nbsp;</em></p></div><p><span style="font-weight: 400;">The Advanced Technologies Group (ATG) is Pinterest’s advanced machine learning team. It keeps Pinterest at the forefront of machine learning technology across multiple application areas including recommendations, ranking, content understanding, and more. It is a high impact applied team that works horizontally across the company on state of the art AI and ML and works on directly bringing that technology to the product in collaboration with product engineering teams. The team publishes its work in applied research conferences, but the main contribution of the team's work is to drive top line metric impact across the company for our 400M+ monthly active users.</span></p> <p><strong>What you'll do:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Lead projects that involve developing and deploying state of the art (and beyond) ML models in production systems across the company at scale for hundreds of millions of users.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Help to define and drive forward looking ML strategy for the team and across the company.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Collaborate with other engineering teams (infrastructure, user modeling, content understanding) to leverage their platforms and signals and work with them to collaborate on the adoption and evaluation of new technologies.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Mentor junior engineers on the ATG and partner teams and help to uplevel ML talent across the company.</span></li> </ul> <p><strong>What we're looking for:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with state of the art ML modeling techniques and approaches like transformers, self supervised pre-training, generative modeling, LLMs, etc.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with large scale data processing (e.g. Hive, Scalding, Spark, Hadoop, Map-reduce)</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Hands-on experience training and applying models at scale using deep learning frameworks like PyTorch or Tensorflow. Successful candidates in this role need to be able to build bridge state of the art approaches to real world impact.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">8+ years working experience in the engineering teams that build large-scale ML-driven user-facing products</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">3+ years experience leading cross-team engineering efforts.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Strong execution skills in project management</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Masters or PhD in Comp Sci or related fields</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Understanding of an object-oriented programming language (Java, C++, Python)&nbsp;</span></li> </ul> <p><strong>Desired skills:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience in working on, backend and ML systems for large-scale user-facing products, and have a good understanding of how they all work.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience in closely collaborating with other engineering teams to ship new ML technologies to improve recommendation, content understanding, and ranking systems at scale.</span></li> </ul> <p>This position is not eligible for relocation assistance.</p> <p><span style="font-weight: 400;">#LI-SA1</span></p> <p><span style="font-weight: 400;">#LI-REMOTE</span></p><div class="content-pay-transparency"><div class="pay-input"><div class="description"><p>At Pinterest we believe the workplace should be equitable, inclusive, and inspiring for every employee. In an effort to provide greater transparency, we are sharing the base salary range for this position. The position is also eligible for equity. Final salary is based on a number of factors including location, travel, relevant prior experience, or particular skills and expertise.</p> <p><em><span style="font-weight: 400;">Information regarding the culture at Pinterest and benefits available for this position can be found <a href="https://www.pinterestcareers.com/pinterest-life/" target="_blank" rel="noopener">here</a>.</span></em></p></div><div class="title">US based applicants only</div><div class="pay-range"><span>$296,400</span><span class="divider">&mdash;</span><span>$459,400 USD</span></div></div></div><div class="content-conclusion"><p><strong>Our Commitment to Diversity:</strong></p> <p>Pinterest is an equal opportunity employer and makes employment decisions on the basis of merit. We want to have the best qualified people in every job. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic under federal, state, or local law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you require an accommodation during the job application process, please notify&nbsp;<a href="mailto:accessibility@pinterest.com">accessibility@pinterest.com</a>&nbsp;for support.</p></div>
Staff Software Engineer, Ads ML Infra...
Palo Alto, CA, US; , CA, US
<div class="content-intro"><p><strong>About Pinterest</strong><span style="font-weight: 400;">:&nbsp;&nbsp;</span></p> <p>Millions of people across the world come to Pinterest to find new ideas every day. It’s where they get inspiration, dream about new possibilities and plan for what matters most. Our mission is to help those people find their inspiration and create a life they love.&nbsp;In your role, you’ll be challenged to take on work that upholds this mission and pushes Pinterest forward. You’ll grow as a person and leader in your field, all the while helping&nbsp;Pinners&nbsp;make their lives better in the positive corner of the internet.</p> <p><em>Our new progressive work model is called PinFlex, a term that’s uniquely Pinterest to describe our flexible approach to living and working. Visit our </em><a href="https://www.pinterestcareers.com/pinflex/" target="_blank"><em><u>PinFlex</u></em></a><em> landing page to learn more.&nbsp;</em></p></div><p><span style="font-weight: 400;">Pinterest is one of the fastest growing online advertising platforms. Continued success depends on the machine-learning systems, which crunch thousands of signals in a few hundred milliseconds, to identify the most relevant ads to show to Pinners. You’ll join a small team with high impact, which designs high-performance and efficient ML systems, in order to power the most critical, revenue-generating algorithms and models at Pinterest. </span><span style="font-weight: 400;">Ads ML Infra team</span><span style="font-weight: 400;"> holds a mission of accelerating machine learning velocity and quality for Pinterest Ads by providing simple, efficient and performant infrastructure, which includes:&nbsp;</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Ads ML Feature Systems - Streaming &amp; batch feature engineering infrastructure, to efficient&nbsp; feature governance systems and high quality signal for Pinterest ads.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ads ML Serving Systems - Building highly efficient, scalable and performant ads online inference systems on top of most advanced technologies including GPU and model quantization.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ads ML Training systems - Use the principles of </span><a href="https://www.youtube.com/watch?v=06-AZXmwHjo"><span style="font-weight: 400;">data-centric AI </span></a><span style="font-weight: 400;">to speed up developer velocity and tackle the most challenging problem in the online advertising industry - privacy preserve ML.&nbsp;</span></li> </ul> <p><strong>What you’ll do:</strong></p> <ul> <li><span style="font-weight: 400;">Build ML system solutions (training, inference and feature infra) that directly power new machine learning models to uplevel Pinterest monetization business to 100X+ scale.</span></li> <li><span style="font-weight: 400;">Tackle unique challenges in the online advertising industry including ML data privacy, conversion/clickthrough modelling systems and high performance ML training and serving.</span></li> <li><span style="font-weight: 400;">Work closely with Ads quality teams, build ML ecosystem solutions and tools to improve Ads machine learning innovation velocity.&nbsp;</span></li> <li><span style="font-weight: 400;">Partner with data and infrastructure teams, to up-level the deployment and ML monitoring tools for all Ads Serving engineers.</span></li> </ul> <p><strong>What we’re looking for:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">7+ years of relevant industry experience in leading the design of large scale &amp; production ML infra systems.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Strong communicator and collaborative team player.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Expertise with at least one state-of-art programming language (Java, C++, Python).&nbsp;</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with building distributed systems or recommendation infrastructure</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with at least one ML dev framework (Tensorflow, Pytorch)&nbsp;&nbsp;</span></li> </ul> <p>This position is not eligible for relocation assistance.</p> <p>#LI-REMOTE <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;#LI-CL5&quot;}" data-sheets-userformat="{&quot;2&quot;:8705,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0,&quot;16&quot;:12}">#LI-CL5</span></p><div class="content-pay-transparency"><div class="pay-input"><div class="description"><p>At Pinterest we believe the workplace should be equitable, inclusive, and inspiring for every employee. In an effort to provide greater transparency, we are sharing the base salary range for this position. The position is also eligible for equity. Final salary is based on a number of factors including location, travel, relevant prior experience, or particular skills and expertise.</p> <p><em><span style="font-weight: 400;">Information regarding the culture at Pinterest and benefits available for this position can be found <a href="https://www.pinterestcareers.com/pinterest-life/" target="_blank" rel="noopener">here</a>.</span></em></p></div><div class="title">US based applicants only</div><div class="pay-range"><span>$207,500</span><span class="divider">&mdash;</span><span>$311,200 USD</span></div></div></div><div class="content-conclusion"><p><strong>Our Commitment to Diversity:</strong></p> <p>Pinterest is an equal opportunity employer and makes employment decisions on the basis of merit. We want to have the best qualified people in every job. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic under federal, state, or local law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you require an accommodation during the job application process, please notify&nbsp;<a href="mailto:accessibility@pinterest.com">accessibility@pinterest.com</a>&nbsp;for support.</p></div>
Backend Engineer
Mexico City, MX; , MX
<div class="content-intro"><p><strong>About Pinterest</strong><span style="font-weight: 400;">:&nbsp;&nbsp;</span></p> <p>Millions of people across the world come to Pinterest to find new ideas every day. It’s where they get inspiration, dream about new possibilities and plan for what matters most. Our mission is to help those people find their inspiration and create a life they love.&nbsp;In your role, you’ll be challenged to take on work that upholds this mission and pushes Pinterest forward. You’ll grow as a person and leader in your field, all the while helping&nbsp;Pinners&nbsp;make their lives better in the positive corner of the internet.</p> <p><em>Our new progressive work model is called PinFlex, a term that’s uniquely Pinterest to describe our flexible approach to living and working. Visit our </em><a href="https://www.pinterestcareers.com/pinflex/" target="_blank"><em><u>PinFlex</u></em></a><em> landing page to learn more.&nbsp;</em></p></div><p><span style="font-weight: 400;">We are looking for inquisitive, well-rounded Backend engineers to join our Core Engineering teams. Working closely with product managers, designers, and backend engineers, you’ll play an important role in enabling the newest technologies and experiences. You will build robust frameworks &amp; features. You will empower both developers and Pinners alike. You’ll have the opportunity to find creative solutions to thought-provoking problems. Even better, because we covet the kind of courageous thinking that’s required in order for big bets and smart risks to pay off, you’ll be invited to create and drive new initiatives, seeing them from inception through to technical design, implementation, and release.</span></p> <p>&nbsp;</p> <p><strong>What you’ll do:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Write high-quality, performant Python/Java code to build out workflows leveraging API’s that enable our systems that maintain Pinner trust from a Privacy and regulatory compliance perspective</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Contribute to and lead each step of the product development process, from ideation to implementation to release; from rapidly prototyping, running A/B tests, to architecting and building solutions that leverage large-scale data</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Partner with design, product, and backend teams to build end-to-end functionality</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Put on your Pinner hat to suggest new product ideas and features</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Employ automated testing to build features with a high degree of technical quality, taking responsibility for the components and features you develop</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Grow as an engineer by working with world-class peers on varied and high-impact projects</span></li> </ul> <p>&nbsp;</p> <p><strong>What we’re looking for:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Deep understanding of API/workflow&nbsp; development and best practices in Python or Java</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">3+ years of industry API and backend development experience, building API endpoints for consumer or business-facing products</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Proficiency in common backend tech stacks for RESTful API, storage, caching, and data processing</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience in following best practices in writing reliable and maintainable code that may be used by many other engineers</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ability to keep up-to-date with new technologies to understand what should be incorporated</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Strong collaboration and communication skills</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with GraphQL large data processing is a plus</span></li> </ul> <p>&nbsp;</p> <p><span style="font-weight: 400;">This position is not eligible for relocation assistance.</span></p> <p>#LI-REMOTE</p> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;#LI-MM&quot;}" data-sheets-userformat="{&quot;2&quot;:8705,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0,&quot;16&quot;:12}">#LI-MM</span></p><div class="content-conclusion"><p><strong>Our Commitment to Diversity:</strong></p> <p>Pinterest is an equal opportunity employer and makes employment decisions on the basis of merit. We want to have the best qualified people in every job. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic under federal, state, or local law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you require an accommodation during the job application process, please notify&nbsp;<a href="mailto:accessibility@pinterest.com">accessibility@pinterest.com</a>&nbsp;for support.</p></div>
You may also like