Software Engineer, Edge

    • Stripe
  • Posted 54 days ago | Updated moments ago

Overview

On Site
Full Time

Skills

Amazon EC2
C++
Internet
Disaster recovery
Amazon S3
Amazon ElastiCache
React.js
Customer experience
Load balancing
Business requirements
High availability
Incident management
Payment systems
Access control
Data integrity
IT management
Software development
Operational excellence
Programming languages
Finance
Startups
Payments
GDP
Fraud
Cloud computing
DNS
Radar
Taxes
Billing
SaaS
Banking
UI
Data
Amazon Web Services
WAF
Golang
C
Nginx
Python
Memcached
Pivotal
Collaboration
Design
IMPACT
Computer networking
Leadership
Caching
ROOT
Encryption
Mentorship
Streaming
Payment card industry
Metrics
Dashboard
Debugging
Java
Unix
Shell

Job Details

Who we are
About Stripe

Stripe is a financial infrastructure platform for businesses. Millions of companies - from the world's largest enterprises to the most ambitious startups - use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone's reach while doing the most important work of your career.
About the team

Build the infrastructure powering economic growth.

Stripe's infrastructure powers businesses all over the world. We process payments, run marketplaces, detect fraud, help entrepreneurs start an internet business from anywhere in the world, build world-class developer-friendly APIs, and more. If you're an infrastructure engineer here, you'll get to build distributed systems that are extremely reliable and scale-out horizontally on the cloud. At Stripe we care a very great deal about reliability as our users' businesses depend on it.

You'll be on a team that provides a secure, compliant, fast, and reliable infrastructure that connects Stripe's products to users globally. The Edge team abstracts the underlying complexity of the Internet from our users and own tier-0 mission critical systems like Global Ingress, CDNs (and static assets), DNS and Certificates which power all of Stripe products (Payments, Elements, Connect, Terminal, Radar, Stripe Tax, Usage Billing, and other SaaS and BaaS - Banking as a Service offerings etc.). We power Stripe Frontend, which is used by all Stripe services to allow access from users of the internet. Edge drives Stripe wide initiatives like Multi-region support, Disaster recovery, Data locality, End-to-end (E2E) p50/p95/p99 payment latency, and is on the fore-front of enabling any new business or product line for Stripe. The current stack is built (but not limited to) leveraging AWS Infrastructure, AWS EC2, S3, AWS Elasticache, Auto scaling, AWS Shield, WAF, Distributed services built in GoLang, Load balancers in GoLand, C/C++, Nginx, Tooling in Python, React, JS, and memcached.

The Edge team is part of the High Assurance Engineering organization. The High Assurance Engineering organization is part of the Core Infrastructure organization.
What you'll do

As a Software Engineer on the Edge team, you will play a pivotal role in optimizing and enhancing the performance, reliability and security of our global Edge infrastructure and collaborate with product teams to design and deliver micro-services which support business needs. You will work at the intersection of cutting-edge technology and real-world impact, collaborating with talented engineers to tackle complex challenges in distributed systems, and networking. You will also build a great customer experience for internal Stripe product teams that rely on the Edge infrastructure to deliver traffic to their services globally and at scale.

Responsibilities
  • Lead efforts to optimize and enhance the company's edge computing infrastructure, ensuring low-latency, high-performance delivery of payment services to users worldwide through fine-tuning caching strategies, load balancing, and content delivery networks (CDNs) to improve response times and minimize latency.
  • Collaborate with cross-functional teams to scale the company's infrastructure in response to growing demand and evolving business requirements by designing and implementing scalable architectures that can handle spikes in traffic during peak periods, while maintaining high availability and fault tolerance.
  • Lead incident response efforts during security incidents or service disruptions, working closely with internal teams and external partners to investigate and resolve issues in a timely manner and conducting post-mortem analyses to identify root causes and implementing preventive measures to mitigate future risks.
  • Contribute to the design and implementation of robust security architectures for the company's payment systems, incorporating best practices in encryption, access control, and data integrity to protect sensitive customer information and financial transactions.
  • Provide technical leadership and mentorship to junior engineers, helping them develop their skills and expertise in edge computing and high-scale tier-0 mission critical distributed systems.
  • Conduct code reviews, sharing best practices, and fostering a culture of continuous learning and improvement within the team.

Projects you could work on
  • Building infrastructure support millions of requests per second at blazing fast performance with least cost spent on infrastructure
  • Achieving 51/2 9s of availability (which means less than 3 mins of downtime in a year!)
  • Support large Synchronous and asynchronous event streaming at the Edge
  • Supporting the most demanding and high customer impacting Stripe products requiring sub-millisecond latency goals
  • Creating a fast and secure platform which is PCI compliant along with reliability SLOs on which critical product teams within Stripe (Payment, Connect, Accounts, Elements, Terminal, and so on..) can have critical dependency on!
Who you are

We're looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.
Minimum requirements
  • 5+ years of professional experience in a software development role
  • A strong engineering background in building distributed systems at scale, with high reliability
  • Experience with operational excellence and a deep understanding of metrics, alarms and dashboard
  • Experience developing, maintaining and debugging distributed systems
  • Experience using or development of distributed systems in one of the major cloud providers
Preferred qualifications
  • Ability to write high quality code (in programming languages like Go, Java, C/C++ etc)
  • Experience in edge computing (ingress, CDNs) and/or networking
  • Experience in Unix shell

It's not expected that any single candidate would have expertise across all of these areas. For instance, we have wonderful team members who are really focused on their customers' needs and building amazing user experiences, but didn't come in with as much systems knowledge.

Hybrid work at Stripe
Office-assigned Stripes spend at least 50% of the time in a given month in their local office or with users. This hits a balance between bringing people together for in-person collaboration and learning from each other, while supporting flexibility about how to do this in a way that makes sense for individuals and their teams.