Software Engineer - Data

Mountain View, CA
Engineering
Full-time

Addepar is the financial operating system that brings common sense and data-driven investing to our financial world. Addepar gives asset owners and advisors a clearer financial picture at every level, all in one place. It handles all types of assets denominated in any currency. With customizable reporting, financial advisors can visualize and communicate relevant information to anyone who needs it. Secure, scalable, and fast, Addepar is purpose-built to power the global financial system. Hundreds of single and multi-family offices, wealth advisors, large financial institutions, endowments, and foundations manage $750 billion of assets on the Addepar platform. Addepar has offices in Silicon Valley, New York, Chicago, and Salt Lake City.

At its core, Addepar is a data company. We collect position, transaction and security information from over 100 custodial banks and market data providers. Bringing in and linking together all of these datasets is hard. It requires Addepar's Data Engineering team to build systems that are reliable and performant while still flexible enough to respond to rapidly changing business requirements. Examples of some of our challenging engineering problems include:

- Growing our systems integration footprint from over 100 to over 1000 integration points in a scalable, maintainable design.
- Building portfolio data systems that can scale up to millions of accounts and an ingestion pipeline that can process tens of millions of holdings and transactions every day.
- Developing pricing and reference data systems that provide coverage for over a half trillion dollars in assets and linking them with positions on Addepar's platform.
- Investing in coupled real time monitoring and analytics infrastructure to support mission and time critical processes.
- Building out robust, flexible asset class support: we encounter public and private assets, funds, debt, equity, derivatives, real estate, art and more on the fly.
- Building mechanisms to redistribute timely data to our client-facing and calculation systems at massive scale on AWS.

As a Software Engineer on Addepar's Data Engineering team, you will be challenged to balance high urgency, mission critical development with quality software engineering practices. The goal is for every Software Engineer on the team to have a maximized impact on Addepar's growing businesses. At times this means taking a step back to rethink some of our problems at their core. At others it means brainstorming practical tradeoffs in order to meet a goal with immediate business impact. We invest deeply in our testing and tools infrastructure in order to decouple the scale of the problems we're solving from the size of the team we need to solve them. Data Engineering's core development language is Java. We also utilize Python and JavaScript frequently. But we're confident that as a great software engineer, if you're not familiar with those technologies, you'll pick them up once you get here. We also value the experience you bring to the table. If you've built complex, scalable systems in the past, we want you to apply the best patterns and concepts you can extract from your experience here. Help us keep raising our bar. More importantly, we're looking for driven engineers who balance technical depth with a desire to understand the big picture. And who care deeply about the success of the entire team.

Engineering is at the core of Addepar and we are looking to add the best, brightest, and most passionate software engineers to our team. If you are excited about doing the best work of your career and you enjoy the rush of shipping high quality code to production every day we’re excited to meet you! Our software engineers come from a variety of backgrounds, ranging from Silicon Valley entrepreneurs to finance tech veterans. What they have in common is tremendous talent and dedication to architecting, implementing, and shipping high quality software.

Requirements

    • B.S., M.S., or Ph.D. in Computer Science or related technical field.
    • 3+ years experience as a professional software engineer.
    • Extraordinary talent in software engineering. Ability to write high quality object oriented code.
    • Familiarity with SQL and relational databases, key-value stores and messaging/queuing frameworks.
    • A passion for implementing best practices and a bias toward smart automation.
    • Experience with the entire development lifecycle: inception to rollout to support.
    • Ability to collaborate with other engineers and mentor others in areas of expertise.
    • Excellent written and verbal communication skills.
    • A bias for thinking about problems objectively from multiple points of view.
    • Linux proficiency, basic shell scripting and a solid grasp of systems level programming is a plus.
    • Expertise in data storage systems, access and distribution mechanisms and ingestion pipelines is a plus.
    • Prior experience in or knowledge of financial data systems is a plus.
    • Knowledge of Java, Python and/or JavaScript are a plus.