Posted 5 years, 11 months ago

Roles

Senior Distributed Systems

Compensation Summary

USD $180k+

Locations

Sunnyvale, CA

Contacts

zac

zac@clover.com

Description

We’re a small team of experienced software engineers tasked with ensuring that Clover’s rapid growth is sustainable over the long term. We solve for cross-cutting non-functional requirements like the security, scalability, and fault tolerance of Clover’s back-end platform and services. We design and develop the core architectural components, libraries, frameworks, tooling, and distributed systems at the heart of Clover’s global payment platform and services. We recently completed a project to horizontally shard our transactional (payment) database cluster, which had grown to 10+ TB in size. Now we’re building a fully autonomous service for rebalancing merchant data across the shards to distribute load and eliminate hot spots. We recently completed a project to lift-and-shift our production infrastructure from private data centers to public cloud in order to streamline our global expansion. Now we’re revisiting our architecture, processes, and tooling in order to more fully leverage the cloud environment. We are actively working on the design, development, and deployment of data pipeline infrastructure to support richer analytics and reporting for our merchants and internal business needs. Our focus is on its security, scalability, reliability, and performance. We are paving the road towards a decomposed architecture of horizontal core services (like authentication, authorization, placement, tokenization, and inter-device replication) and vertical product services (like device management, merchant boarding, inventory propagation, and customer loyalty programs). We already have a healthy suite of functional unit and integration tests, and we are actively enhancing our automated stress tests and supporting infrastructure. That involves building the tools to spin up full production-scale environments, synthesize load, perform fault injection, and to collect, analyze, and surface test results in order to help drive continual improvement of performance and availability.

Similar Jobs

Create your own personalized Job Alert