Principal Core Infrastructure Engineer
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.Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. BS or MS degree or equivalent experience relevant to functional area. 10+ years of software engineering or related experience.
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.
https://cloud.oracle.com/en_US/networking
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 new 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:
· 10+ years of experience with systems/application development
· 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
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.
- Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 5-9 years of software engineering or related experience.
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 Troubleshooting & Incident Management:
–Take a proactive role in diagnosing, debugging, and resolving issues in active components and systems to support ongoing operation, and mentor others in these processes.
–Implement strategies to prevent interruptions, ensuring no maintenance windows are required for customers and users when resolving issues.
–Maintain expertise in owned components and systems to ensure effective troubleshooting and performance.
–Meet operational readiness expectations through design and implementation.
–Serve in operational support rotations, providing guidance in incident response and root cause investigations.
Compliance & Security:
–Implement robust security measures to protect data and applications in multi-tenant environments, including encryption techniques and access controls.
–Execute remediation plans to address identified security gaps.
–Ensure cloud infrastructure is in compliance with industry standards and regulations and that documentation is up to date.
Automation & Change Management:
–Develop and maintain automation scripts and tools (e.g., Infrastructure as Code (IaC)) to manage cloud infrastructure.
–Create and adhere to change management plans for patching, updating, and rolling back applications, and begin designing systems and components to allow for automation of these processes.
Core Responsibilities
Planning & Execution:
–Manages and coordinates moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately-sized project or initiative. Efficiently delegates, monitors, and prioritizes work across multiple projects, providing technical oversight and adjusting plans to address shifts in resources or timelines.
Collaboration & Partnership:
–Collaborates across the organization to align on expectations and achieve shared objectives. Leverages understanding of business leaders, stakeholders, and/or customers to ensure proposed solutions meet their needs. Supports inclusivity by actively seeking and listening to diverse perspectives, ensuring others feel heard and respected.
Problem Solving:
–Identifies and addresses moderately complex issues by analyzing a wide range of data and/or information to identify solutions in accordance with standard practices. Proactively escalates unresolved or critical issues with a thorough assessment and suggests potential solutions. Reviews, contributes to, and documents problem solving strategies.
Continuous Learning:
–Pursues learning opportunities to expand knowledge and skills and/or tools in new areas and stays abreast of the latest industry trends and best practices. Proactively seeks and leverages ongoing feedback and training to improve skills. Coaches and mentors junior team members, fostering continuous learning and knowledge sharing within and across teams.
Continuous Improvement:
–Develops ideas, recommends updates, and/or collaborates on the implementation of process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluates the impact on key stakeholders. Solicits feedback from others on ideas for alternative approaches and methods for continued improvement.
Performance and Development:
–Contributes to the talent development pipeline by participating in candidate interviews, assessing candidates, and providing hiring recommendations.
Career Level - IC4