Senior Software Engineer: C++ Developer
Software Engineering
United States · Remote
Careers
Senior Software Engineer: C++ Developer
LOCATION
|
Hydrolix | United States, Remote
Job Description
Hydrolix is looking for an experienced C++ developer who enjoys the challenges and rewards of being a crucial member of a small, experienced team at a fast-growing cloud data platform startup. At Hydrolix, you’ll find a uniquely fulfilling opportunity to see your work in production powering large scale data infrastructure. Your contributions will directly impact our customers on a massive scale, shaping the future of our core product. Our customers, typically processing billions of events a day, value our cloud-native platform for its reliability and scalability. As demand in the market grows, so will the amount of data we need to be able to ingest, store, and query. That’s where you come in. This is a rare opportunity to work on something truly innovative, where your contribution can make a difference for some of the biggest properties on the internet.
Key Responsibilities
- Develop high-quality, scalable C++ software (C++23) for efficient management and processing of large-scale data.
- Address complex database issues and boost performance for stream processing and multithreaded applications using innovative indexing techniques, advanced compression algorithms, and modern asynchronous programming practices.
- Build upon large-scale, well-maintained open-source projects, incorporating bleeding-edge optimizations.
- Participate in product and architecture discussions.
- Collaborate effectively within and across teams to solve challenging technical problems.
- Advocate for and implement industry best practices in software development to ensure high-quality, maintainable, and scalable code.
- Provide guidance and support to team members, fostering their growth through code reviews, regular mentorship, constructive feedback, and sharing expertise.
Qualifications and Skills
- Extensive hands-on experience in modern C++ programming, debugging, and performance tuning distributed and/or highly concurrent low-level software systems.
- Degree in Computer Science or similar field, or equivalent practical experience, with strong competencies in data structures, algorithms, and software design/architecture.
- Demonstrated ability to comprehend and work within large, complex codebases, making precise and impactful modifications.
- Experience in network/socket programming (eventloops, async callback handling) and multi-threaded programming.
- Experience with distributed systems (consistency, availability, scalability, and fault tolerance).
- Experience in designing/developing database systems (query optimizers, query execution engine, storage engine, database indexing).
- Strong communication skills, with a bias towards collaboration, both within and across teams.
- Capability to thrive in small team environments, demonstrating self-motivation and independence in problem-solving.
Bonus Qualifications
- Designing/developing distributed data pipeline processors/flows
- Database indexing and search techniques (inverted, ngram, full-text search, vector search)
- Compression algorithms and methods – (dictionary/FOR/delta encoding)
- Performance optimization techniques, and familiarity with SIMD instructions
- Familiarity with cloud storage solutions (Azure, GCP, AWS).
- Specific experience with modern OLAP databases like ClickHouse, DuckDB, etc
- Proficiency with modern build tools (such as cmake, ninja, clang-18,llvm-18)
- Experience with sanitizers and other static analysis tooling
- Experience in extending and enhancing codebases, including proficiency in forking and integrating changes.
To apply, please fill out the form below and attach your resume. Requirement of cover letter / relevant references are subject to role, please see job description.
We look forward to seeing how you can make an impact at Hydrolix.