Software Engineer, Developer Infrastructure

Posted:
11/7/2024, 11:11:14 AM

Location(s):
Dublin, Leinster, Ireland ⋅ Leinster, Ireland

Experience Level(s):
Mid Level ⋅ Senior

Field(s):
DevOps & Infrastructure ⋅ Software Engineering

Pay:
$169/hr or $351,520 total comp

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

The Developer Productivity group is responsible for making Stripe’s developers happy and productive. We work on tools, processes, and code refactoring to accelerate Stripe engineering as Stripe scales.

The ideal applicant will have familiarity with managing large-scale distributed compute infrastructure, tools such as Docker, ECR, Bazel and Firecracker, and a pragmatic approach to iterative problem-solving. Above all, they should be driven by a desire to continuously improve the development process for their fellow engineers.

You’ll collaborate closely with partner teams in Europe, such as CI Infra and CI Services, Test Environments and Frameworks, as well as partner teams based in the US who provide language specific tooling for Engineers who develop in any of Stripe’s supported languages (Ruby, Java, golang, python and more).

What you’ll do

We have a ton of important work to do, which is why we’re hiring! Our active projects change all the time, but here are a few examples of recent projects so you can get an idea of the types of work we do:

  • Improve the reliability, performance and efficiency of Stripe’s multi-region CI platform. If you like thinking about distributed systems, identifying and addressing scaling issues and failure modes, you might find a good home on this team!
  • If you love helping developers be more effective at their jobs, we have a ton of interesting projects around improving build reproducibility and performance using Bazel and related tools, both in a CI context and also in the inner development loop as engineers iterate on bug fixes or new capabilities.
  • Enhance the reliability, speed and efficiency of our largest builds. One of the key ways to execute builds efficiently is to bake incrementality into every aspect of the build process. We have accomplished a significant amount in this area, but have a long way to go!
  • Enhance the ability for Engineers to test new workflows on their local machines, and in CI.

Responsibilities

  • Build large scale distributed systems, tools and libraries that serve as the interface to data infrastructure for all of Stripe’s engineering teams
  • Maintaining and evolving existing distributed, and local, services.
  • Collaborating with engineers on the team, as well as cross-functional stakeholders, to develop prototype solutions for domains which are underserved by existing tooling.
  • Design, build, and maintain distributed cloud infrastructure services
  • Participate in roadmap planning and prioritization. Stripe is an Engineer driven organization, and leans heavily on the expertise of each engineer team to build the roadmap for the future.

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

  • 3+ years of professional, full-time software development experience
  • Experience designing, developing, maintaining and debugging distributed systems built with open source tools
  • Experience building tools to improve developer productivity, and empathy for the end users
  • Experience writing high quality code in a major programming language, preferably golang, Ruby or Java.

Preferred qualifications

  • Experience optimizing the end to end performance and reliability of distributed Systems
  • Proficiency in either golang or Ruby.
  • Familiarity with data privacy best practices
  • Excellent communication skills and the ability to work well in a collaborative environment
  • Experience mentoring and leading other engineers is a plus