Design, 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 more years of software engineering or related experience.
Ideal candidate profile
Oracle Public Cloud delivers enterprise grade software defined elastic cloud infrastructure at global scale with IaaS, PaaS and SaaS that provides customers flexibility, agility and room for innovation while fitting more easily into the corporate governance structure, security and availability concerns written by thousands of internal developers and thousands of customers to provide the largest business automation cloud on the planet. The IaaS infrastructure that enables this innovation and value is evolving to fully embrace lights-out operations, single-click deploy to tens of thousands of nodes, and services that self-heal and self-optimize.
Oracle Public Cloud is building out our IaaS cloud service team to redefine the way we deliver, deploy, operate, secure, monitor, and repair our elastic cloud infrastructure at our data centers and the code that runs across them - at consumer web scale. We're looking for engineers who bring fresh ideas from all areas, including software defined networking, distributed computing, large-scale system design, security; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Oracle Public Cloud needs with opportunities to switch projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
You will be responsible for building software defined load balancing and related distributed systems and networking infrastructure to operate and manage Oracle Public Cloud networks. This includes building software for distributed services, abstractions, and the components of the system that operates and powers the OPC network infrastructure, from Virtual Networks, to Network Gateways, to the peering edge of our infrastructure. You will be writing the SDN software that controls this network, to take Oracle Cloud Infrastructure and the networking industry far beyond what industry standard networking systems can deliver. SDN (Software Defined Networking) engineers are expected to solve the most difficult problems of scale, reliability and security in SDN networking and also develop services like Network Gateways, Load Balancers, Fast Connect, VPNaaS, DNS etc.
· Design and develop software defined load balancing and related distributed systems and network software for one of the largest networks in the world.
· Familiarity with crash-only and recovery-oriented software design.
· Excited by building reliable, self-healing services on unreliable hardware.
· Manage individual project priorities, deadlines, and deliverables.
· Capable of driving and delivering thin slices of functionality on a regular cadence with data-driven feedback loops
· MS degree in Computer Science or related technical field or equivalent practical experience.
· Software development experience in one or more of the following programming languages: Java, Python, or Go.
· Experience with distributed services Zookeeper, Messaging Rabbit MQ or Kafka etc.
· Knowledge of No SQL databases like Cassandra or Oracle NoSQL DB or CouchDB etc.
· Experience with Load Balancing (GSLB) and distributed systems development and network fundamentals (e.g., TCP/IP, IP Tables, NAT, routing protocols), UDP, DNS, OSI layers, load balancing, routing, service discovery.
· Knowledge with Software Defined Networking
· Experience with Agile development methodology and Test-Driven Development
· Extensive experience architecting and developing software for scalable, distributed systems
· Experience with Resource Management or scheduling in cloud infrastructure is a plus.