Principal Software Engineer - Cloud Engineering Infrastructure Development JoinOCI-APIGBR at Oracle (Bristol, UK)

Principal Software Engineer - Cloud Engineering Infrastructure Development JoinOCI-APIGBR at Oracle (Bristol, UK)

Add To Bookmarks
Location: Bristol, UK
Type: Full Time
Created: 2021-05-05 05:00:28

Apply Here

Preferred Qualifications - External

Principal Software Engineer

Public Cloud

Bristol(remote / flexible working available 1 or 2 days per week)

The Opportunity

A unique opportunity to help design, build and operate public cloud services from the ground up, and learn to be a world-class cloud software engineer, right in the heart of Bristol, UK. Oracle’s product engineering teams are building critical services within Oracle’s next-generation public cloud infrastructure known as Oracle Cloud Infrastructure (OCI) [0]. These services provide the foundation for businesses around the world as well as Oracle’s Cloud (SaaS) Applications.

The Platform

With revolutionary innovations in performance, availability, ease of use and security, we designed OCI for the reliability, predictability and quality that the world’s largest companies and smartest start-ups need. We combined the elasticity and utility of public cloud with the granular control, security, and predictability of on-premises infrastructure. As a result, our customers can run the most demanding workloads, as well as less compute-intensive applications, in a secure and highly available cloud environment.

The Products

OCI API Gateway is a 24x7 enterprise-grade cloud service running at scale in dozens of commercial, government and private data centres around the world. We built it from the ground up on the OCI Platform, and it is the foundation of Oracle’s next-generation API product suite. It serves many diverse customer needs, and we have a long and extensive roadmap of compelling and technically challenging features. OCI Functions is a fully managed, multi-tenant, highly scalable, on-demand, Functions-as-a-Service platform, deployed in dozens of commercial, government and private data centres around the world. The Functions deployment model is extremely flexible, allowing it to support a wide variety of use cases. OCI Functions is rapidly becoming the platform of choice for Oracle SaaS workloads, backs the API Gateway for serving customer applications, as well as supporting Data Science processing use cases.

The Positions

Principal Software Engineer

As we expand and grow our team, we are seeking engineers with varying levels of experience. Those who are starting their career with us will have a hunger and passion for learning. Those who join us with more experience will have diverse skills across programming, networking, storage, internet protocols and operating systems. An engineer at any level can have significant technical and business impact. As a member of our diverse and skilled teams, you will have the opportunity to solve and design solutions to challenging problems in distributed systems, virtualised infrastructure, and highly available services. In addition to working on exciting and challenging projects, you’ll be getting an excellent salary and flexible benefits package, flexible working arrangements, a fun, state-of-the-art development environment and unique opportunities for learning and career growth.

The Responsibilities

On a typical day, you will be working as part of a small, focused, agile team and could be doing one or more of the following: Programming, testing and operating software at the heart of OCI. You might be:

  • Writing backend code in Java, Python, Go Lang or another modern programming language.
  • Writing frontend code in React and JavaScript/TypeScript.
  • Working with containerisation and virtualisation technologies such as Docker, containerd and Kubernetes.
  • Automating lifecycle operations for your project: build, test, health check, deploy, upgrade etc.
  • Deploying and operating your software in data-centres across the globe.
  • Analysing, diagnosing and debugging issues across a full breadth of our stack
  • Debug, maintain and improve existing systems, with a focus on performance and reducing operational burden.
  • Scaling our operations by building tooling and automation.

Participating in the software engineering community at Oracle and beyond. Maybe you will be:

  • Discussing potential solutions to complex technical problems and building consensus among disparate teams.
  • Designing and implementing exciting new features or services for our customers.

In addition to day-to-day responsibilities, all of our engineers participate in operating and supporting the product in production and take part in a 12x7 on-call PagerDuty rotation, typically every 5-7 weeks depending on team size.

Learning and Continued Professional Development

While the responsibility for ongoing learning and development ultimately lies with the individual, we strongly believe in supporting the continuous professional development of our teams in many ways, for example:

  • Regular set-aside learning time.
  • Attending conferences either locally, nationally or overseas.
  • Learning new skills, techniques or trying new ways of working.
  • Mentoring, coaching or teaching someone else a skill.
  • Taking online or offline training courses.
  • Expensing books - paper or electronic.
  • Public speaking training
  • Giving lightning talks or full-length talks at meet-ups or conferences
  • Developing your ideas by working in collaboration with some of the groundbreaking customers, start-ups and universities in Bristol (and customers globally).

About You: Qualifications & Experience

This role is ideally suited to someone with a good Bachelor’s degree or Masters conversion in a software-related subject (or equivalent experience) and significant experience as a software engineer/developer in a senior / lead / principal role. While we don’t stipulate hard minimum requirements, a suitable baseline might include:

  • BS degree in Computer Science or related technical field involving coding or equivalent practical experience.
  • Knowledge of modern Java and experience with scripting languages such as Python, etc.
  • Solid knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals.
  • Systematic problem-solving approach, strong communication skills, a sense of ownership and drive.
  • Experience and knowledge around cloud infrastructure would be great and a definite plus but not essential.


We are an equal opportunity employer and value diversity at all levels of our company. [0]:

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. 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. 7 years of software engineering or related experience.As part of Oracle's employment process candidates will be required to successfully complete a pre-employment screening process. This will involve identity and employment verification, professional references, education verification and professional qualifications and memberships (if applicable).