09 Oct
|
Affirm
|
Manitoba
The Data and Storage Services team is responsible for affirm’s data infrastructure across OLTP and OLAP systems, spanning critical online checkout databases, batch orchestration, streaming infrastructure, event-driven frameworks, BI, analytics tooling, large-scale data platforms, and agentic data tools such as semantic layers and internal platform data applications
Our mission is to provide trustworthy, intuitive, and cost-efficient solutions for affirmers to secure, store, analyze, and transform data at exceptional scale
The online storage team provides a set of managed databases as a platform, used to persist data for all affirm services
Our platform enables self-service access to OLTP storage systems, including relational db(mySQL), kv(dynamoDB), distributed sql(tiDB) and cache(redis)
As a team, we are responsible for various data and access patterns, including but not limited to mission-critical financial transactional data, data science models, and any new persistence use case
These responsibilities require us to learn and gain deep expertise in various database systems
We are looking for a talented senior software engineer who can architect, build and scale relational and distributed sql databases identifying opportunities to improve how we build, productionize, operate and improve this mission-critical infrastructure to unlock substantial value within our business
You’ll have the chance to directly influence your team’s roadmap in close collaboration with your peers, share your knowledge and expertise with others and learn from some of the best on our shared mission to deliver honest financial products that improve lives
You will build and operate the control plane for large-scale distributed sql databases such as mysql and tidb, automating provisioning, failover, backups and upgrades end to end
You will design and execute reliability-focused schema and data migrations across multi-tenant database clusters, with zero downtime for the products that depend on them
You will own the networking stack that connects services to storage on kubernetes, including connection proxies such as proxysql, and tune it for latency, resilience and failover
You will be responsible for owning and delivering quarterly goals for your team,
leading engineers on your team through ambiguity to solve open-ended problems, and ensuring that everyone is supported throughout delivery
You will support your peers and stakeholders in the product development lifecycle by collaborating with product management, design & analytics by participating in ideation, articulating technical constraints, and partnering on decisions that properly consider risks and trade-offs
You will proactively identify project, process, technology or business issues, advocate for them, and lead in solving them
You will support the operations and availability of your team’s artifacts by creating and monitoring metrics, escalating when needed, and supporting “keep the lights on” & on-call efforts
You will foster a culture of quality and ownership on your team by setting or improving code review and design standards for your team, and advocating for them beyond your team through your writing and tech talks
You will help develop talent on your team by providing feedback and guidance, and leading by example
Benefits
Compensation: We have a simple, flexible, and transparent remote-first compensation structure so you can make the best decisions for yourself and your family
Spending wallets: Access tech, food, lifestyle, and family planning wallets for your expenses
Supportive communities: Get involved with our employee resource groups and community groups
Remote-first workforce: If your role is remote, you can set up shop anywhere in your home country
Generous time off: Take the time you need when life happens
Health benefits: Get a plan that fits your needs
Mental healthcare: Take care of your mind with great mental health programs
Parental leave: Birth and non-birth parents get 18 weeks’ paid leave. Plus, a 4-week return-to-work transition program, at full base pay
Away days:
We offer 20 company-wide paid days off—which help our teams collectively pause to recharge
Learning & development: Engage in exciting learning programs to level up your growth
You have in-depth, hands-on experience with large-scale database deployments in a production environmentYou have experience defining a technical plan for the delivery of a significant feature or system component with an elegant, simple and extensible design. You write high quality code that is easily understood and used by othersYou understand kubernetes networking, service discovery and tls well enough to debug connection and failover problems between services and databasesYou have built control-plane or automation tooling for databases, such as provisioning, failover, upgrades or schema migrations, ideally on kubernetesYou have expertise in database benchmarking, load testing, and capacity planningYour experience demonstrates that you take ownership of your growth, proactively seeking feedback from your team, your manager, and your stakeholdersSolid understanding of distributed database architecture, data modeling, and performance tuning. Particularly, expertise in sql tuning and performance optimization techniquesYou have expertise in distributed databases and database technologies such as mysql(Preferred), tidb(Preferred), postgres, spanner, vitess, cockroachdb etcYou have executed zero-downtime migrations and major version upgrades on production databases, and have built cli tooling or runbooks to make those procedures repeatableYou are familiar with connection poolers and proxies such as proxysql, rds proxy, pg bouncer, pgdog etcYou are experienced in designing, developing and launching backend systems at scale technologies like python, kotlin, aws, mysql, terraform and kubernetesThis position requires either equivalent practical experience or a bachelor’s degree in a related fieldYou have strong verbal and written communication skills that support effective collaboration with our global engineering teamYou are proficient at making significant changes in a large code base, and have developed a suite of tools and practices that enable you and your team to do so safelyYou have a total of 5+ years of experience as a software engineer
#J-18808-Ljbffr
📌 Senior Backend Software Engineer (Online Storage) (Manitoba)
🏢 Affirm
📍 Manitoba