Pex is the global search engine for music & video content online. We provide independent analysis for all content creators, marketers, and rights holders to drive outcomes for their business goals.
We are looking for skilled C++ developers to join our team working on PEX C++ backend, which is developing and optimizing algorithms for fingerprinting, indexing, searching and analyzing audio and video data. You will work on absolute core part of what PEX does, hence you will have a tremendous impact on performance and capabilities of the product.
What you'll do:
- Write, profile, optimize and test code enveloping our algorithms for audio and video fingerprinting, indexing, search and for analysis of audio and video data
- Join our effort to optimize the code and algorithms to use the least amount of resources. Your code will run on many thousands of CPUs (we focus on the development of fast and precise single-thread algorithms)
- Help our machine learning team productize their findings and prototypes
- Maintain C++ and C codebase. We use C to bridge C++ to other languages (Java, Go, Python)
- Write extensions for PostgreSQL and FoundationDB (optionally, if you like databases)
- Review code to preserve its reliability, performance, and quality. Cooperate with other developers and researchers
- Work on a large-scale system with micro-service oriented infrastructure
We expect:
- Very good English (you will talk to your US-based colleagues on a daily basis)
- Fluency in modern C++ (we use C++17 and look forward to C++20)
- Ability to write efficient, testable and readable code
- Good knowledge of CMake, version control, unit testing tools, profilers, sanitizers. We target Debian-based systems, but macOS or Windows can be used for the development.
- Ability to work in a team
What we can offer:
- A supportive culture that cares about both excellent work and work-life balance
- 30 days of vacation
- Salary between $69,000 and $87,000 (based on seniority)
- Stock options between 0.001% and 0.1% (based on seniority)
Our C++ stack:
These are the technologies we use. Experience with any of these is an advantage, not a requirement.
- Git, CMake
- Google Test, Google Benchmark
- FFmpeg, OpenCV, TensorFlow, XGBoost, Intel Integrated Performance Primitives
- Bash, Python scripting
- Google Cloud Platform
- Linux (Debian, Ubuntu)
You can learn more about how we do things by listening to
this podcast on
Software Engineering Daily, or by reading case studies on how we span
tens of thousands of servers or store
trillions of rows of data. Should you be interested in our business, a
podcast called
Down the Music Data Rabbit Hole is a great place to start.