Building a Kubernetes Platform at Pinterest

3,079
Pinterest
Pinterest is a social bookmarking site where users collect and share photos of their favorite events, interests and hobbies. One of the fastest growing social networks online, Pinterest is the third-largest such network behind only Facebook and Twitter.

By Lida Li, June Liu, Rodrigo Menezes, Suli Xu, Harry Zhang, Roberto Rodriguez Alcala | Pinterest Software Engineers, Cloud Management Platform

Why Kubernetes?

Over the years, 300 million Pinners have saved more than 200 billion Pins on Pinterest across more than 4 billion boards. To serve this vast user base and content pool, we’ve developed thousands of services, ranging from microservices of a handful CPUs to huge monolithic services that occupy a whole VM fleet. There are also various kinds of batch jobs from all kinds of different frameworks, which can be CPU, memory or I/O intensive.

To support these diverse workloads, the infrastructure team at Pinterest is facing multiple challenges:

  • Engineers don’t have a unified experience when launching their workload. Stateless services, stateful services and batch jobs are deployed and managed by totally different tech stacks. This has created a steep learning curve for our engineers, as well as huge maintenance and customer support burdens for the infrastructure team.
  • Engineers managing their own VM fleets is creating a huge maintenance load for the infra team. Simple operations such as an OS or AMI upgrade can take weeks to months. Production workloads are also disturbed during those processes, which are supposed to be transparent to them.
  • It’s hard to build infrastructure governance tools on top of separated management systems. It’s even more difficult for us to determine who owns which machines and if they can be safely recycled.

Container orchestration systems provide a way to unify workload management. They also pave the way to faster developer velocity and easier infra governance since all running resources are managed by a centralized system.

Figure 1: Infrastructure priorities (Service Reliability, Developer Productivity and Infra Efficiency)

The Cloud Management Platform team at Pinterest started their journey on Kubernetes back in 2017. We dockerized most of our production workloads, including the core API and Web fleets, by the first half of 2017. Extensive evaluation on different container orchestration systems was then done by building prod clusters and operating real workloads on them. By the end of 2017, we decided to go down the path of Kubernetes because of its flexibility and extensive community support.

So far, we’ve built our own cluster bootstrap tools based on Kops and integrated existing infrastructure components into our Kubernetes cluster, such as network, security, metrics, logging, identity management and traffic. We introduced Pinterest-specific custom resources to model our unique workloads while hiding the runtime complexity from developers. We’re now focusing on cluster stability, scalability, and customer onboarding.

Kubernetes, the Pinterest way

Running Kubernetes to support workloads at Pinterest scale, while also making it a platform loved by our engineers, has many challenges.

As a large organization, we have invested heavily in infrastructure tools, such as security tools that handle certificates and key distribution, traffic components that enable service registration and discovery, and visibility components that ship logs and metrics. These are components built on lessons learned the hard way, so we want to integrate them into Kubernetes instead of reinventing the wheel. This also makes migration much easier, as the required support is already there for our internal applications.

On the other hand, the Kubernetes native workload model, such as deployment, jobs and daemonsets, are not enough for modeling our own workloads. Usability issues are huge blockers on the way to adopt Kubernetes. For example, we’ve heard service developers complaining about missing or misconfigured ingress messing up their endpoints. We’ve also seen batch job users using template tools to generate hundreds of copies of the same job specification and ending up with a debugging nightmare.

Runtime support for the workloads is also evolving, so it would be extremely hard to support different versions on the same Kubernetes cluster. Just imagine the complexity of customer support if we needed to face many versions of the runtime, together with the difficulties of upgrading or bug-patching for them.

Pinterest custom resources and controllers

In order to pave an easier way for our engineers to adopt Kubernetes and make infra development faster and smoother, we designed our own Custom Resource Definitions (CRDs).

The CRDs provide the following functionalities:

  1. Bundle various native Kubernetes resources together so they work as a single workload. For example, the PinterestService resource puts together a deployment, a service, an ingress and a configmap, so service developer will not need to worry about setting up DNS for their service.
  2. Inject necessary runtime support for the applications. The user only needs to focus on the container spec for their own business logic, while the CRD controller injects necessary sidecars, init containers, environment variables and volumes into their pod spec. This provides an out-of-box experience to the application engineers.
  3. CRD controllers also do life cycle management for the native resources and handle visibility and debuggability. This includes but is not limited to reconciling the desired spec and the actual spec, CRD status updating and event recording. Without CRDs, app engineers must manage a much larger set of resources, and this process has proved to be error prone.

Here’s an example of PinterestService and the native resource translated by our controller:

Figure 2: CRD to native resources. The left is the Pinterest CR written by user, and the right is the native resource definition generated by the controller.

As shown, to support a user’s container, we need to insert an init container and several sidecars for security, visibility and network traffic. Additionally, we introduced configuration map templates and PVC template support on batch jobs, as well as many environment variables to track identity, resource utilization, and garbage collection.

It’s hard to imagine engineers would be willing to hand-write these configuration files without CRD support, let alone maintain and debug the configurations.

Application Deploy Workflow

Figure 3: Pinterest CRD Overview

Figure 3 shows how to deploy a Pinterest custom resource to the Kubernetes cluster:

  1. Developers interact with our Kubernetes cluster via CLI and UI.
  2. The CLI/UI tools retrieve workflow configuration YAML files and other build properties (such as version ID) from Artifactory and send them to the Job Submission Service. This ensures only reviewed and landed workloads will be submitted to the Kubernetes cluster.
  3. The Job Submission service is the gateway to various computing platforms, including Kubernetes. User authentication, quota enforcement and partial Pinterest CRD configuration validation happens here.
  4. Once the CRD passes the Job Submission service validation, it’s sent to the Kubernetes API.
  5. Our CRD controller watches events on all custom resources. It transforms the CR into Kubernetes native resources, adds necessary sidecars into user defined pods, sets appropriate environment variables and does other necessary housekeeping work to ensure the user’s application containers have enough infrastructure support.
  6. The CRD controller then writes the resulting native resources back to the Kubernetes API so they can be picked up by the scheduler and start to run.

Note: This is the pre-release deploy workflow used by early adopters of the new Kubernetes-based Compute Platform. We are in the process of revamping this experience to be fully integrated with our new CI/CD platform to avoid exposing a lot of Kubernetes-specific details. We look forward to sharing the motivation, progress and subsequent impact in an upcoming blog post — “Building a CI/CD platform for Pinterest.”

Custom Resource Types

Based on Pinterest’s specific needs, we designed the following CRDs that suit different workflows:

  • PinterestService is the long running stateless service. Many core systems are based on a set of such services.
  • PinterestJobSet models the batch jobs that run to completion. A very common pattern within Pinterest is that multiple jobs runs the same containers in parallel, each grabbing a fraction of a workload without depending on each other.
  • PinterestCronJob is widely adopted by teams with lightweight periodic workloads. PinterestCronJob is a wrapper around the native cron job, with Pinterest-specific support such as security, traffic, log and metrics.
  • PinterestDaemon is limited to the infrastructure-related daemons. The family of PinterestDaemon is still growing as we are adding more support on our clusters.
  • PinterestTrainingJob wraps around Tensorflow and Pytorch jobs, providing the same level of runtime support as all other CRDs. Since Pinterest is a heavy user of Tensorflow and other machine learning frameworks, it makes sense to build a dedicated CRD around them.

We also have PinterestStatefulSet under construction, which will soon be adopted for storage and other stateful systems.

Runtime Support

When an application pod starts on Kubernetes, it automatically gets a certificate to identify itself. This cert is used to access the secrets store or talk to other services via mTLS. Meanwhile, the config management init containers and daemon will ensure all necessary dependencies downloaded before the application container starts. When the application container is ready, the traffic sidecar and daemon will register the pod IP to our Zookeeper in order to make it discoverable by clients. Networking has been set up for the pod by network daemon before the pod even starts.

The above are examples of typical runtime support for service workloads. Other workload types may need slightly different support, but they all come in the form of pod-level sidecars, node-level daemonsets or VM-level daemons. We make sure all of them are deployed by the infrastructure team so they are consistent between all applications, which greatly reduces the maintenance and customer support burden for us.

Testing and QA

We built an end-to-end test pipeline on top of the native Kubernetes test infra. These tests are deployed to all clusters. This pipeline has caught many regression before they reach the production cluster.

Besides the testing infra, there is also monitoring and alerting systems that watch the system components’ health status, resource utilization and other critical metrics consistently, notifying us when human intervention is needed.

Alternatives

We considered some alternatives to custom resources, such as mutation admission controllers and templating systems. However, the alternatives all come with major issues, so we chose the path of CRDs.

  • Mutating admission controller has been used to inject sidecars, environment variables and other runtime support. However, it has difficulties bundling resources together as well as managing their life cycle, whereas CRD comes with reconciling, status update and lifecycle management.
  • Templating systems such as Helm charts are also widely used to launch applications with similar configurations. However, our workloads are too diverse to be managed by templates. We also need to support continuous deployment, which would be extremely error prone with templates.

Future Work

Currently, we are running mixed workloads on all of our Kubernetes clusters. In order to support workloads of different sizes and types, we are working on the following areas:

  • Cluster Federation spreads large applications over different clusters for scalability and stability.
  • Cluster Stability, Scalability and Visibility that makes sure applications reach their SLA.
  • Resource and Quota Management to make sure applications do not step on each other’s feet and the cluster scale is under control.
  • New CI/CD Platform to support Application Deployment on Kubernetes

Acknowledgements

Many engineers at Pinterest helped build the platform from the ground up. Micheal Benedict and Yongwen Xu, who lead our engineering productivity effort, have worked together on setting the direction of the compute platform, discussing the design and helping with feature prioritization from the very beginning. Jasmine Qin and Kaynan Lalone helped on the Jenkins and Artifactory integration support. Fuyuan Bie, Brain Overstreet, Wei Zhu, Ambud Sharma, Yu Yang, Jeremy Karch, Jayme Cox, and many others helped build the config management, metrics, logging, security, networking and other infra support. Jooseong Kim and George Wu helped build the Submission Service. Lastly, our early adopters Prasun Ghosh, Michael Permana, Jinfeng Zhuang and Ashish Singh provided a lot of useful feedback and feature requirements.

This post was originally posted on the Pinterest Engineering Blog

Pinterest
Pinterest is a social bookmarking site where users collect and share photos of their favorite events, interests and hobbies. One of the fastest growing social networks online, Pinterest is the third-largest such network behind only Facebook and Twitter.
Tools mentioned in article
Open jobs at Pinterest
Full Stack Engineer - Identity
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;">We are looking for a Fullstack Engineer to join the Identity &amp; Compliance team, with a focus on product privacy, authentication and identity data management, to help us build the application that allows everyone to seamlessly and securely access Pinterest. You will specialize in building elegant product features with cutting-edge technology.</span></p> <p><strong>What you’ll do:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Build out end-to-end features to protect user privacy and ensure privacy compliance&nbsp; such as minor safety features, blocking functionality</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Build out end-to-end features for Identity products </span><span style="font-weight: 400;">to make things easy, seamless, and secure for our pinners</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Knit across teams by collaborating with product managers and designers and other functions to build a holistic experience that’s right for all pinners, creators, merchants and advertisers</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Contribute to 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 can scale to support millions of users</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Analyze and visualize data to drive product insights and to inform our decisions</span></li> </ul> <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 application development experience</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Proficiency in a dynamic programming language such as Javascript or Python</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 partnering with designers to implement design</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with A/B experiments and data analysis</span></li> </ul> <p><strong>US Applicants:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">The minimum and maximum salary for this position is $155,300 to $258,700 in the US;</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">This position is eligible for equity; and</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Information regarding the culture at Pinterest and benefits available for this position can be found at </span><a href="https://www.pinterestcareers.com/pinterest-life/"><span style="font-weight: 400;">https://www.pinterestcareers.com/pinterest-life/</span></a><span style="font-weight: 400;">.</span></li> </ul> <p><em><span style="font-weight: 400;">* This compensation and benefits information is based on Pinterest’s good faith estimate as of the date of publication and may be modified in the future. The level of pay within the range will depend on a variety of job-related factors that may include location, travel, shift requirements, relevant prior experience and/or education, or particular skills and expertise.</span></em></p> <p><span style="font-weight: 400;">#LI-REMOTE</span></p> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;#LI-KK6&quot;}" data-sheets-userformat="{&quot;2&quot;:8705,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0,&quot;16&quot;:12}">#LI-KK6</span></p> <p>&nbsp;</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>
IT Enterprise Architect
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>&nbsp;</p> <p><span style="font-weight: 400;">The IT Enterprise Architect will provide digital thought leadership for Pinterest’s IT organization. This individual will be the authoritative expert for business systems supporting Finance, HR, Sales, Marketing, Learning and Employee Enablement solutions. You will have a collaborative nature that facilitates strong partnering with Pinterest business units, particularly with the Engineering org. The IT Enterprise Architect will have a vast knowledge of and experience delivering technical capabilities across multiple technologies/platforms - you’ve walked a mile in the shoes of other technologists. You will use your vast knowledge and experience to drive excellence through standards in agile delivery practices. You will indirectly lead teams of technologists to advance Pinterest’s solutions delivery roadmap, providing guidance and oversight. You will solve complex technical challenges by rolling up your sleeves and taking part in the delivery, always focusing on the end user experience.&nbsp; You will partner with the IT leadership community to communicate the solutions and roadmap to business stakeholders. In short, you are an inspiring leader with an insatiable need to learn and grow, and an engineer at heart.</span></p> <p>&nbsp;</p> <p><strong>What you’ll do:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Evaluate projects from a technical perspective, ensuring alignment with business needs, IT roadmap, architecture and security standards, internal controls, and IT methodology</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ensure solution designs and implementation meet architecture quality standards</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ensure solutions improve overall information flow, reduce cost of service whenever possible, and do not duplicate existing functionality or diverge from business and IT strategies. Your focus will be on delivering high quality solutions and high reuse of solutions</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Foster innovation and implement creative out-of-the-box ideas by conducting brainstorming sessions, hackathons and other innovation events and elevate the thinking of Pinterest’s technologists</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Be the champion for a security-first mindset and elevate the overall security competency within IT</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Assist in the development of policies, standards, and guidelines that direct the selection, development, implementation, and use of Information Technology within the enterprise</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Guide Solutions Architects / Tech Leads to ensure that application and integration architecture aligns with system design guidelines and enterprise architecture standards.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Participate in business, data, application and infrastructure planning, providing insight into the future of the technology footprint within the assigned functional area</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Evaluate new technologies and create proposals for their adoption based on business goals, investments, benefits and risks</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Coach, mentor and guide solution delivery and operations teams to effectively leverage the technology footprint</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Build and maintain effective working relationships with business stakeholders as well as technical leaders within IT and other engineers throughout the organization (product engineering, data platforms, etc.)</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;">10+ years of experience in IT and stakeholder relationship management</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">7+ years of experience leading organizations through major change initiatives</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">10+ years product management and engineering experience utilizing agile development methodologies</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Track record of successfully establishing and implementing transformation programs in an Agile and DevOps environment</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Demonstrated knowledge of SaaS, infrastructure, and cloud computing architectures</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Demonstrated knowledge of data security and compliance controls</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience designing/engineering Identity Access Management solutions a plus</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Demonstrated knowledge of advanced automation (bots, AI, low-code platforms)</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Ability to respond effective to ambiguity and change, and keeps teams and strategic initiatives moving forward even when things are not certain or the path forward is not clear</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Track record of evaluating plans to identify risk, ensure alignment of goals, plans, and priorities across teams and functions, and meet commitments; ability to create clarity about what success looks like and inspire velocity in self and others to achieve results that accelerate functional impact</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Capable of stepping up to address difficult issues and saying what needs to be said</span></li> </ul> <p>&nbsp;</p> <p><strong>Colorado based applicants only:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">The minimum and maximum salary for this position is $222,300 to $344,500 in Colorado;</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">This position is eligible for equity; and</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Information regarding the culture at Pinterest and benefits available for this position can be found at </span><a href="https://www.pinterestcareers.com/pinterest-life/"><span style="font-weight: 400;">https://www.pinterestcareers.com/pinterest-life/</span></a><span style="font-weight: 400;">.</span></li> </ul> <p><em><span style="font-weight: 400;">* This compensation and benefits information is based on Pinterest’s good faith estimate as of the date of publication and may be modified in the future. The level of pay within the range will depend on a variety of job-related factors that may include location, travel, shift requirements, relevant prior experience and/or education, or particular skills and expertise.</span></em></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">#LI-REMOTE</span></p> <p><span style="font-weight: 400;">#LI-AJ2</span></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, Core Engin...
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;">With more than 400 million users around the world and 300 billion ideas saved, Pinterest Machine Learning engineers build personalized experiences to help Pinners create a life they love. With just over 3,000 global employees, our teams are small, mighty, and still growing. At Pinterest, you’ll experience hands-on access to an incredible vault of data and contribute large-scale recommendation systems in ways you won’t find anywhere else.</span></p> <p><strong>What you’ll do:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Build cutting edge technology using the latest advances in deep learning and machine learning to personalize Pinterest</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Partner closely with teams across Pinterest to experiment and improve ML models for various product surfaces (Homefeed, Ads, Growth, Shopping, and Search), while gaining knowledge of how ML works in different areas</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Use data driven methods and leverage the unique properties of our data to improve candidates retrieval</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Work in a high-impact environment with quick experimentation and product launches</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Keeping up with industry trends in recommendation systems&nbsp;</span></li> </ul> <p><strong>What we’re looking for:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">2+ years of industry experience applying machine learning methods (e.g., user modeling, personalization, recommender systems, search, ranking, natural language processing, reinforcement learning, and graph representation learning)</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">End-to-end hands-on experience with building data processing pipelines, large scale machine learning systems, and big data technologies (e.g., Hadoop/Spark)</span></li> <li><strong>Nice to have:</strong> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">M.S. or PhD in Machine Learning or related areas</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Publications at top ML conferences</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Expertise in scalable realtime systems that process stream data</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Passion for applied ML and the Pinterest product</span></li> </ul> </li> </ul> <p>&nbsp;</p> <p><span style="font-weight: 400;">#LI-HYBRID<br>#LI-LA1</span></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>
Salesforce BSA, IT Sales Systems (Con...
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>Do you like using your skills to improve internal business tools? Pinterest is looking for a Business Systems Analyst (BSA) to help accelerate the use of technology on our Salesforce implementation. You will work with a fast-paced team of engineers, portfolio leads, and business partners where you will continue to develop your skills while helping ensure that Pinterest has an effective and scalable platform for our business-critical departments. This role will have a direct influence on the company by helping drive productivity, efficiency and insights on behalf of our Sales organization.&nbsp; You will provide valuable contribution as a bridge between Sales teams and IT delivery.&nbsp; You should be able to utilize your time by testing key features &amp; functionality before they are production ready. This is an exciting opportunity to join a collaborative, inclusive team that manages a growing Salesforce implementation.</p> <p><strong>What you'll do:</strong></p> <ul> <li>Provide strong analytical, problem solving, and technical skills to effectively collect requirements, identify alternatives, and design and deploy quality solutions.</li> <li>Own functional tasks and deliverables, including: process definition and reengineering, high and detailed-level requirements gathering, functional design, testing, and continuous improvement of business applications.</li> <li>Collaborate with business stakeholders to gather requirements, deliver solutions with engineers, conduct Quality Assurance Testing (QA), facilitate User Acceptance Testing (UAT), and provide post-production support.</li> <li>Use and recommend best practices while delivering scalable high quality solutions.</li> <li>Perform Salesforce configurations and guide developers on advanced customization.</li> </ul> <section class="skills-section"> <p><strong>What we're looking for:</strong></p> <ul> <li>3+ years of hands-on work as a SFDC Admin and have Business Systems Analyst experience.</li> <li>5+ years of professional work experience.</li> <li>You consider yourself detail-oriented, organized, self-motivated, hard working, and a great team player with excellent interpersonal skills.</li> <li>You have strong written/verbal communication skills and can translate business requirements and engage directly with business stakeholders.</li> <li>You have extensive experience analyzing, designing, configuring and supporting Salesforce implementations.</li> <li>You are a certified SalesforceAdministrator and you have experience with Sales Cloud, Service Cloud, and SFDC Lightning framework.</li> <li>You can manage and implement advanced configurations such as custom objects, fields, formulas, validation rules, and workflow rules.</li> <li>You have experience with SFDC data management tools, SOQL queries, Microsoft Excel, JIRA, Visual Diagrams, and Google Suite.</li> <li>Preferred, but not required: You have experience with sales processes and tools ideally in the advertising/media/e-commerce industries.</li> </ul> <p class="p2"><span class="s1"><strong>More about contract roles at Pinterest:</strong></span></p> <ul class="ul1"> <li class="li3"><span class="s1">This is a temporary contract position at Pinterest. As such, the contractor who fills this role will be employed either by our staffing partner (PRO Unlimited) or by an agency supplier partner, and not an employee of Pinterest.</span></li> <li class="li3"><span class="s1">All interviews will be scheduled and/or conducted by the Pinterest assignment manager. When a finalist has been selected, PRO Unlimited or the agency supplier partner will extend the offer and provide assignment details including duration, benefits options and onboarding details.</span></li> <li class="li1"><span class="s1">The estimated salary range for this contract position is $88 - $108/hour based on experience and location. To learn more about the benefits offered to contractors through Pro Unlimited please visit: <a href="http://www.hrconnection.com/"><span class="s3">www.hrconnection.com</span></a>&nbsp;(username: generalinformation)</span></li> </ul> <p><span class="s1">#LI-REMOTE</span></p> </section><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>
Verified by
Software Engineer
Sourcer
Software Engineer
Talent Brand Manager
Tech Lead, Big Data Platform
Security Software Engineer
You may also like