Lead C++ Software Engineer
LOCATION: remote — Portugal, Spain, Cyprus, Poland, Georgia, Serbia, Armenia.ABOUT GRIDGAINWe live in a world that increasingly expects instant gratification. To remain competitive, enterprises must process and analyze extraordinary amounts of information in milliseconds.GridGain's Unified Real-Time Data platform enables a simplified and optimized data architecture for enterprises that require extreme speed, massive scale, and high availability from their data ecosystem. It seamlessly combines streaming data in-motion and historical data at-rest with compute functionality to help companies handle complex analytical, streaming, and transactional data workloads at ultra-low latencies.GridGain is trusted by companies like Citi, Barclays, American Airlines, AutoZone, and UPS to manage mission-critical data operations across their businesses.GridGain is growing! Join the team and play a critical role in a fast-paced Silicon Valley startup that's changing the definition of "real time," and the world's expectations for high-speed data processing, computation, and analytics.ABOUT THE ROLEAs the modern CPUs and GPUs keep evolving, modern databases can take advantage of the massively parallel processing capabilities provided by both of them.
As a database engineer you will design and write the code at the very heart of a distributed database rethinking the way Ignite executes SQL queries and exploiting massive parallelization as well as other CPU/GPU capabilities to dramatically speed the system up.Required Job Duties:
- Design and develop enhancements for query execution runtime: do research, check ideas, design and implement query engine optimizations.
- Develop enhancements for distributed SQL engine based on Apache Calcite™ for both Apache Ignite™ and GridGain™: implement new planner optimization rules, update cost function ro reflect store-specific capabilities, enhance query code generation.
- Contribute to data storage format and transactional protocol development to speed analytical queries up and optimize storage usage and processing times.
- Influence the development of open source Apache Ignite project.
- Mostly write C/C++, but also contribute to the Java part of the project (no prior Java experience is required).
- As we make progress, build and lead the team to further exploit native CPU and GPU capabilities for query execution.
Essential Skills & Requirements:We welcome experienced software engineers who wish to develop and grow as professionals. We expect at least the following from a successful candidate:
- Expert knowledge of C/C++
- Experience with concurrent programming
- Understanding of query execution pipeline (query planning and execution)
- Hands-on experience with vectorized CPU execution (SIMD, SSE, AVX)
- 5+ years experience as a Software Engineer
- Eager to read (in English), understand and present to the team cutting-edge academia field results (SIGMOD, VLDB, etc.)
The following will be a strong plus:
- Experience with building distributed systems/algorithms, experience with distributed/NoSQL/NewSQL databases
- Experience with ClickHouse or RocksDB
- Experience building database query execution pipelines
- Experience building database storage engines
- Experience with Ignite/GridGain
- Experience with Docker, Kubernetes and/or public Cloud (AWS, GCE, Azure, etc.)
- Experience with GPU development (CUDA or OpenCL)
We are an Equal Opportunity Employer. We do not discriminate on the basis of race, religion, sex, age, national origin or disability.