Role in brief
Alpaca is seeking a Senior Software Engineer to build and improve brokerage systems for new markets. This remote role involves developing middle and back-office systems, including microservices and UIs, and integrating third-party vendors. Candidates with a background in financial services, particularly online trading platforms and complex financial system design, will find this role a strong match.
About the role
This role focuses on designing and enhancing mission-critical brokerage systems. You will develop middle and back-office components, including gRPC microservices and a React-based internal administration UI. A key part of the work involves integrating third-party vendors and ensuring system integrity through troubleshooting incidents and bugs.
You will collaborate with core teams to evolve Alpaca's framework, enabling support for multiple languages, currencies, and markets. This involves working with tech leads globally, requiring both synchronous and asynchronous communication. The position demands navigating regulatory requirements and building scalable solutions to support international expansion.
Success in this role means contributing to a highly scalable and available financial application that can handle multi-currency transactions. You will apply strong computer science fundamentals and software engineering architecture experience to design robust systems, often acting as an incident commander to resolve issues efficiently. The environment is fully remote and globally distributed, requiring independent work and strategic thinking.
The annual salary for this role ranges from $87,000 to $109,000 USD.
Skills that matter here
- Go: Proficiency in Go or similar backend languages is required for designing robust and efficient system architectures.
- gRPC: You will develop and enhance middle and back-office systems, including gRPC microservices.
- React: The role involves developing a React-based UI for internal administration and API developers.
- financial APIs: Experience working with financial APIs, market data integrations, and trade settlement processes is essential.
- domain-driven design: Experience with domain-driven design is a requirement for developing complex financial systems.
- event-driven design: Experience with event-driven design is also required for building scalable and responsive financial applications.
Who this role suits
- You have a background in the financial services industry, specifically with online trading platforms or brokerage systems.
- You are experienced in designing and developing complex financial systems, including double-entry accounting.
- You are comfortable working independently within a globally distributed, fully remote team.
- You possess strong problem-solving skills and can act as an incident commander when issues arise.
From the employer
Things You Get To Do
- Design a highly scalable, mission-critical brokerage system.
- Develop and enhance the middle- and back-office systems, including gRPC microservices, a React-based UI for internal administration and API developers, and third-party vendor integrations.
- Work closely with Alpaca's core teams to enhance and transform the core framework, enabling support for multiple languages, currencies, and markets.
- Collaborate with tech leads in other regions both synchronously and asynchronously, using Slack and occasional meetings outside of regular working hours to align with global teams.
- Troubleshoot incidents and reported bugs to maintain system integrity and performance.
- Thrive in a global environment, effectively navigating regulatory requirements and building scalable solutions to support Alpaca's international growth.
- You may be asked to be on-call to assist with timely engineering projects.
Who You Are (Must-Haves)
- Proven experience in the financial services industry, specifically with online trading platforms, brokerage systems, or fintech companies.
- Proven experience in designing and developing complex financial systems, preferably including double-entry accounting.
- Understanding of financial transaction processing, trade lifecycle management, and settlement processes.
- Strong experience with online trading systems, including order management, execution, market data processing, and real-time trade processing.
- Experience in building scalable, high-availability financial applications that handle multi-currency transactions.
- Familiarity with regulatory compliance requirements in financial markets.
- Proficiency in Go or similar backend languages, with expertise in designing robust and efficient system architectures.
- Experience working with financial APIs, market data integrations, and trade settlement processes.
- Strong communication skills to collaborate effectively with global teams, local regulators, vendors, and internal stakeholders.
- Strong computer science fundamentals and proven software engineering architecture experience.
- Ability to work independently in a fully remote, globally distributed team, and under pressure in a fast-paced environment.
- Strategic thinking and the ability to translate technical concepts into business strategies.
- Experience with domain-driven design and event-driven design.
- Strong problem-solving skills paired with a proactive mindset.
- Ability to act as incident commander and lead and troubleshoot incidents or bugs with authority.
Questions about this role
What is the remote work policy for this position?
This is a fully remote position, allowing you to work from anywhere globally.
What is the seniority level for this role?
This is a senior-level software engineering position.
What are the key technical skills required?
Key technical skills include Go or similar backend languages, gRPC, React, and experience with financial APIs, domain-driven design, and event-driven design.