21 Oct
|
Oracle
|
Bengaluru
Are you interested in building large-scale distributed infrastructure for the cloud? Oracle’s Cloud Infrastructure (OCI) team is building new Infrastructure-as-a-Service technologies that operate at large scale in a broadly distributed multi-tenant cloud environment. Our customers run their businesses on our cloud, and our mission is to provide them with best in class, foundational cloud infrastructure services. The Virtual Networking Team builds the highly customizable Virtual Cloud Networks (VCN) and connectivity services offering predictable and consistent performance, isolation, and availability.
We are a team that builds and maintains the OCI Software Defined Network (SDN) stack. Currently, we are looking for hands-on engineers with expertise and passion in solving difficult problems in high-availability, virtualized networks, and network packet processing. These are exciting times, and our team is undergoing rapid growth while working on many new ambitious initiatives. Join our team and help us build a state-of-the-art SDN network.
Why join VCN Dataplane?
The Virtual Cloud Network (VCN) team has a culture of collaboration which welcomes recent people to their ranks. We not only focus on an excellent customer experience; we also spend the time to make sure that your onboarding and ramp-up experience is a great one. We work together and help each other out, and do not skimp on technical debt, which facilitates reasonable on-call and a good work/life balance.
Career Level - IC4
As a Principal Software Engineer on the Dataplane team, you will design and develop major core components of Oracle’s Virtual Cloud Network. You will be responsible for delivering high-speed packet processing architectures and other distributed systems that provide networking features such as TCP/UDP packet processing, access controls,
metrics and monitoring dashboards.
Qualifications
You are an expert C coder with networking experience. You value simplicity and scale, work comfortably in a collaborative, agile environment, and are excited to learn.
Basic Qualifications:
- Proficient at programming in C/C++
- Proficient with Linux
- Prior development experience with network protocol implementation or network packet process
- Experience in working on performance/scale testing.
- Bachelors in computer science and Engineering or related engineering fields
- Experience in Layer 2,Layer 3 Protocol development
- Experience in DPDK
Preferred Qualifications:
- Experience in CICD environments
- Experience in working on simulating production environment & testing.
- Experience in working on test automation using python.
- Experience with Agile Development
- Prior cloud experience
- Masters / PhD degree in Computer Science or related engineering fields
Key Responsibilities System Design & Architecture - System Scalability:
- Lead the development and implementation, and begin to architect, components of scalable distributed systems that support horizontal and vertical scaling to meet system demands, including leveraging distributed state management tools.
- Optimize code and/or systems for large-scale data processing and high-throughput requirements to support hyper-scale systems.
- Define scalability requirements for owned components and ensure design and implementation requirements are met.
- Design systems to scale with elasticity (e.g., effectively scaling both up and down).
- Leverage data plane platforms to effectively handle large-scale data retrieval, storage, and processing.
- Design performance and load testing. System Design & Architecture - System Reliability Design:
- Build and design fault-tolerant components and systems capable of withstanding in-service updates by implementing redundancy, replication, and automatic failover mechanisms.
- Design systems to effectively handle service disruptions (e.g., network partitions) by prioritizing consistency, availability, or partition tolerance.
- Implement and optimize approaches to handle network unreliability, including load-shedding, throttling, and rate-limiting.
- Design components and systems that are durable and adhere to service level objectives (SLOs), setting expectations for availability and durability of other computing services within the department. System Design & Architecture - System Reliability Performance:
- Define key performance indicators (KPIs) and telemetry to identify gaps or issues in running systems.
- Build and customize moderately complex dashboards, telemetry systems, and alerting mechanisms to proactively monitor components and system health.. System Design & Architecture - Correctness / Availability:
- Design and implement functional and correctness requirements for feature sets and/or systems in new or existing systems.
- Design complex test scenarios (e.g., fault-injection, brown-out) to evaluate system correctness.
- Implement data replication and synchronization techniques to maintain data integrity and availability. Operational
📌 Principal Core Infrastructure Engineer (Bengaluru)
🏢 Oracle
📍 Bengaluru