Design, develop, troPrincipal Software Developer – Oracle Database Team
About the Team:
Are you curious about what makes technology tick? Do you dream of designing cutting-edge systems that power the world's leading database software? If so, Oracle's Virtual Operating System (VOS) team is the place for you. We are a group of passionate engineers who strive to deliver a portable, high-performance platform for the Oracle Database, ensuring it runs efficiently across a diverse range of hardware and software environments.
The Inter Process Communication (IPC) group within VOS is at the forefront of distributed communication and computing. We build the foundations that enable Oracle's flagship products, such as Oracle RAC and Exadata, to scale and perform exceptionally well. From process management to remote direct memory access, we create the infrastructure that powers Oracle's database solutions, ensuring they are optimized for speed, efficiency, scalability, availability, diagnosability and reliability.
What We're Working On:
• Distributed Synchronization: Developing a highly efficient, low-latency synchronization mechanism for a cluster environment, leveraging RDMA and atomic operations.
• Real-time Database Health Advisor: Building a system that utilizes Kafka to stream database events to applications like Neo4j, providing real-time insights.
• Key-Value Storage Engine: Enhancing Kafka's performance by integrating popular KV stores (RocksDB, Redis, Kvrocks) and adding unique features like size-based compaction.
• In-Memory Embedded KV Store: Crafting a fast, reliable, and replicable KV store for use by Kafka and other clients, ensuring data is readily accessible.
• RDMA-aware Fault Tolerance: Employing consensus protocols like RAFT to build a robust, distributed fault tolerance service across clusters, including Kubernetes.
• Advanced Replication Services: Developing a replication facility for database clients, utilizing consensus protocols (RAFT, Paxos) and transport protocols (TCP, UDP, RDMA) for optimal performance.
• Next-Gen Data Transfer: Integrating Apache Flight and gRPC to enable optimized data transfer into the Oracle Database via the Arrow format, supporting Apache Flight SQL clients.
• Shared-Nothing Cluster Model: Creating a flexible cluster model that supports Kubernetes, Zookeeper, or RAFT, enabling seamless data reconciliation and broadcast within the database.
What We're Looking For:
We are seeking an experienced and passionate Principal Software Developer to join our dynamic team. The ideal candidate will have a strong background in systems programming and a desire to delve into the depths of operating systems, hardware, and compilers. They will collaborate closely with both internal teams and external vendors to gather requirements, design innovative solutions, and develop high-performance database modules.
Qualifications:
• BE / B Tech / MCA / M Tech / ME with 5-20 years of relevant experience
• A deep understanding of systems programming and application development
• Proficiency in C (C++ is Optional and not mandatory)
• Excellent problem-solving and debugging abilities
• Quick learning capabilities and sound judgment
Preferred Qualifications:
• Coursework in Computer Networks, Operating Systems, Computer Architecture, Algorithms, Distributed Systems, and Database Management
• Knowledge of networking protocols (TCP, UDP, IP, RDMA, RoCE, etc.) and distributed programming models (PGAS, MPI, OpenMP)
• Experience with Apache Kafka, Arrow Flight, and consensus protocols (RAFT, Paxos)
• Familiarity with Kubernetes, Neo4j, Elasticsearch, gRPC, Protobuf, and KV stores (Redis, RocksDB, Kvrocks)
If you are excited about the opportunity to work on challenging projects, collaborate with brilliant minds, and push the boundaries of database technology, we want to hear from you!
Career Level - IC4