DescriptionDesign, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. Define specifications for significant new projects and specify, design and develop software according to those specifications. You will perform professional software development tasks associated with the developing, designing and debugging of software applications or operating systems.
Provide leadership and expertise in the development of new products/services/processes, frequently operating at the leading edge of technology. Recommends and justifies major changes to existing products/services/processes. BS or MS degree or equivalent experience relevant to functional area. 8 or more years of software engineering or related experience.
ResponsibilitiesSkills & Requirements
Experience and/or interest in database internals, distributed systems, replication technologies, load balancing algorithms, and design trade-offs among consistency, availability, and performance in distributed systems is required, as are the following skills:
- Highly proficient in C
- Proficiency in SQL, PL/SQL a plus
- Background in relational database and operating system concepts
- Good understanding of concurrent programming concepts
- Strong software engineering and debugging skills
- Ability to work under tight deadlines and yet deliver a quality product
- Ability to work with a group that is geographically dispersed
The Database Sharding team is working on a globally-distributed, elastic, cloud-native relational database. This database combines the best of NoSQL and NewSQL technologies with the enterprise capabilities of Oracle RDBMS. Our projects go across all layers of the database kernel and external components, such as client-side drivers, intelligent query routers, and load balancers. We are also responsible for integrating the sharded database with new technologies, such as microservices and Spark. We are looking for motivated and talented individuals who want to make significant contributions to a highly visible and strategic project by solving complex problems in distributed computing, high availability, and extreme scalability.
The Database Sharding team is part of the Database Systems group, which is responsible for scalability, high availability, replication, and system technologies.