Our mission is simple: Make programs run faster and programmers more productive. Our world-class research and advanced development team at Oracle Labs is constantly innovating in the area of compilers, virtual machines, programming languages, and cloud technologies. In the GraalVM project, we are building high-performance implementations for Java, JavaScript, Ruby, R, Python, and C/C++. Our multi-language framework Truffle focuses on interoperability and reuse between different languages. In the Micronaut project, we are building the best microservice framework in the industry. Micronaut is highly optimized for running on GraalVM, leveraging all benefits brought by the GraalVM AOT (Ahead of Time) compiler called Native Image. In addition to that, our Oracle Labs team is developing various productivity tools supporting the whole GraalVM and Micronaut ecosystem. The latest results of our work are published at international research and developer conferences.

Position Overview:

We’re looking for hands-on engineers with expertise and passion in building applications and micro-services using the tools and technologies of Oracle and in doing so, finding issues (bugs to design problems) in the building blocks. These engineers will also work on building ‘Built at Oracle’ software packages for customers who look to Oracle to provide the best of engineering. Engineers will also contribute to Graal and Micronaut, both open-source projects, as appropriate and under guidance from senior engineers. At Oracle, you can design and build innovative new systems from the ground up. These are exciting times in our space – we are growing fast, still at an early stage, and working on ambitious new initiatives. An engineer at any level can have a significant technical and business impact.

Job Responsibilities:

As a Member of the Technical Staff, you will own the software design and development of a) ‘Built at Oracle’ packages for Graal developers and b) full-stack applications and microservices as automation to prevent regressions. You should be both a rock-solid developer and a distributed systems generalist, able to dive deep into any part of the stack and low-level systems, as well as design broad distributed system interactions. You should value simplicity and scale, work comfortably in a collaborative, agile environment, and be excited to learn.

Candidate Profile:

  • Programming experience in Java.
  • Strong knowledge of Java, C, or C++, and experience with scripting languages such as Python, Perl, etc.
  • Strong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals.
  • Working familiarity with networking protocols (TCP/IP, HTTP) and standard network architectures.
  • Working familiarity with databases, NoSQL systems, storage, and distributed persistence technologies.
  • Strong understanding of Linux or desire to learn
  • Strong troubleshooting and performance tuning skills.
  • Experience building multi-tenant, virtualized infrastructure is a strong plus.

Top 3 Skill Sets / Technologies in the Ideal Candidate:

  1. Software Engineering experience with distributed systems within large-scale environments
  2. Experience working on challenging issues with a self-starter / self-motivated attitude (Will vary based on level)
  3. Automation experience will be a huge plus

To apply for these positions send emails with your CV to vojin.jovanovic@oracle.com