Lock Applications for this job are now closed
Closing soon

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.

About us

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.

About you

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.

Responsibilities

On a typical day, you will be working as part of a small, focused, agile team and could be involved in a wide variety of opportunities. 

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

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 some commercial experience as a software engineer/developer. 

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.

As a member of the software engineering division, you will apply basic to intermediate knowledge of software architecture to perform software development tasks associated with developing, debugging or designing software applications or operating systems according to provided design specifications. Build enhancements within an existing software architecture and occasionally suggest improvements to the architecture.

Duties and tasks are standard with some variation; displays understanding of roles, processes and procedures. Performs moderately complex problem solving with assistance and guidance in understanding and applying company policies and processes. BS degree or equivalent experience relevant to functional area. 1 year of software engineering or related experience.