Software Engineer (C++/C#)
About the role
The financial industry is growing at a record pace, but our data providers are still stuck in the past — with cumbersome onboarding processes, complicated APIs, slow infrastructure, and expensive licensing costs.
Databento is the market data platform for modern finance. The company provides real-time and historical data across futures, options, and equities through a unified API. By owning the entire market data stack end-to-end, Databento is the first platform of its kind to combine the performance and reliability demanded by the world's leading trading firms with a dramatically simpler developer experience. Our team includes alumni of Two Sigma, Citadel Securities, Flow Traders, Tower Research, PDT Partners, SIG, and other top quantitative firms.
We're looking for a midlevel or senior IC to join our core engineering team. You'll be responsible for implementing and maintaining our C# client library, and also working alongside our core engineering team on the most performance-sensitive parts of our codebase.
Responsibilities
- Own and maintain our C# client library, ensuring it is robust, well-tested, and easy for external users to integrate with.
- Design, develop, and maintain high-performance server applications in C++.
- Write message parsers and feed handlers for direct market data feeds from trading venues.
- Optimize existing codebase for high throughput (millions of messages per second, up to 40+ gigabits) and low latency (measured in nanoseconds).
- Implement tools and libraries for petabyte-scale data processing and analysis.
- Collaborate with the systems team to implement best practices for build, deployment, CI/CD.
- Implement monitoring and improve application uptime.
- Ensure smooth feature rollouts and updates.
Preferred background
- 5+ years of full-time software engineering experience, preferably at a trading firm, tech company, or high-growth startup.
- Strong proficiency in both C++ and C#.
- Experience with Java is a plus.
- Experience designing APIs with a strong focus on intuitive, developer-friendly interfaces.
- Familiarity with open source best practices, including release management, versioning, changelogs, issue triage, and backwards compatibility.
- Knowledge of systems programming, algorithms, data structures, multithreading, networked I/O, serialization, CPU architecture, kernel, and compilers.
- Experience working with multiprocess environments.
- Comfortable with lldb/gdb.
- Good communication skills and work ethic for a remote workplace.
- An interest in low-level optimization and performance engineering.
- An interest in financial data or algorithmic trading.