Senior Software Engineer - Clearing

Remote $98k–$162k senior 3 months ago full-time quality 8.5/10

Role in brief

Alpaca, a self-clearing broker-dealer, is hiring a Senior Software Engineer for its Clearing team. This role involves designing and refining core systems that support post-trade operations and enable new financial products. It suits experienced engineers with a strong understanding of distributed systems and a keen interest in financial markets, who can lead projects from concept to deployment.

GoPostgreSQLKubernetesAPI designDistributed systemsgRPCKafkaDocker

About the role

As a Senior Software Engineer on the Clearing team, your primary focus will be on the essential, non-user-facing systems that manage operations after a trade is executed. This involves taking ownership of projects from their initial concept through to deployment, navigating any complexities to build necessary functionalities. You will contribute to the development of new systems that facilitate new product offerings and revenue streams for the company.

A key part of this role is the continuous improvement of existing systems. While acknowledging that these systems will never be perfect, the expectation is to refine them in ways that yield meaningful and tangible outcomes. This work requires a deep dive into the intricacies of financial markets, learning about the underlying mechanisms that ensure their health and functionality. You will also participate in an on-call rotation to maintain system reliability.

The team operates within Alpaca, a US-headquartered self-clearing broker-dealer with significant funding and a global presence, serving numerous financial institutions across 40 countries. The company emphasizes open-source contributions and a developer-friendly API. Success in this role means independently leading technical initiatives, making sound design choices, and ensuring the robustness of critical financial infrastructure.

The salary for this position ranges from $98,000 to $162,000 annually, complemented by stock options.

Skills that matter here

  • Go: You will use Go as a primary programming language for building and refining systems.
  • PostgreSQL: This role requires proficiency with PostgreSQL for database interactions within the financial systems.
  • Kubernetes: You will work with Kubernetes for orchestrating and managing containerized applications.
  • API design: You will be responsible for designing effective RESTful APIs and identifying suboptimal designs.
  • Distributed systems: A foundational understanding of distributed systems is crucial for building and maintaining reliable infrastructure.
  • Kafka: Experience with Kafka will be applied in managing data streams within the system architecture.

Who this role suits

  • You are a person who takes the responsibility of working with people's finances very seriously.
  • You possess a strong interest in understanding the mechanics of traditional financial markets.
  • You are capable of leading projects independently, from initial problem definition to solution delivery.
  • You thrive in a startup environment where continuous improvement and adaptability are key.

From the employer

Your Role:

As a Senior Software Engineer on the Clearing team you’ll work on what happens after the trade is made. Most of the work we do is not user facing but is very much essential to the day to day operations of a Broker Dealer company.

  • Own projects from ideation to deployment, cutting through ambiguity to build what’s necessary, not just what’s asked for.
  • Design and build new systems that let us enable new products for the company or unlock more revenue.
  • Refine our existing systems. They’re not perfect and will never be, but we believe in improving them as long as the outcome is meaningful and tangible.
  • Learn about things you never knew existed but are instrumental in keeping the financial markets healthy and functioning.
  • Participate in our on-call rotation to ensure our systems are in tip-top shape.

Who You Are (Must-Haves):

  • You understand that we’re working on systems people entrust with their hard earned money and you take that very seriously.
  • You are deeply interested in how traditional financial markets work.
  • You can take the lead on a project: we’ll describe what we’re trying to fix or build, who to reach out to if you need help, and you’ll handle the rest.
  • You take responsibility for the work you do personally, and also collectively, as a team.
  • You understand which design choices matter and which ones can be easily adjusted once we learn more about how the world truly works.
  • You have experience working at startups and know that not everything is perfect and you’re the one who helps us trend towards that goal.
  • You have good foundational knowledge of how computers work, how the internet works, how databases work, how distributed systems behave and misbehave, etc.
  • You’re productive with the following technologies: Go, PostgreSQL, Kubernetes.
  • You have 5+ years of hands-on experience building reliable and distributed systems.
  • You can design good (RESTful) APIs and can spot bad ones.

How We Take Care of You:

  • Competitive Salary & Stock Options.
  • Health Benefits.
  • New Hire Home-Office Setup: One-time USD $500.
  • Monthly Stipend: USD $150 per month via a Brex Card.

Questions about this role

What is the remote work policy for this role?

This is a fully remote position.

What is the seniority level for this position?

This is a senior-level position requiring 5+ years of experience building reliable and distributed systems.

What are the key technologies used in this role?

The primary technologies include Go, PostgreSQL, Kubernetes, and experience with distributed systems, API design, gRPC, Kafka, and Docker is expected.

Similar jobs

Before you apply

  • Legitimate employers never ask you to pay anything to apply or get hired.
  • Never share seed phrases or private keys. No real job needs them.
  • Do not install software ("test tasks", "trading tools", "video call clients") sent during hiring.
  • Check that the application page's domain really belongs to Alpaca.