PGX C++ / Distributed Systems Engineer in Oracle Labs
Location: Casablanca, Morocco (onsite work mode)
Project description
Oracle Labs Parallel Graph AnalytiX (PGX) is a toolkit for graph analysis – supporting algorithms, such as PageRank, performing SQL-like pattern-matching against graphs, and performing in-depth analysis with graph machine learning. All workloads are parallelized for extreme performance. The PGX toolkit includes both a single-node in-memory engine, and a distributed engine for very large graphs and it is the core graph engine that powers several Oracle products, including extensions to the Oracle Database.
Graph analysis lets you reveal latent information that is encoded, not as data fields, but as direct and indirect relationships between data elements. This information is typically not obvious to the naked eye, but can have tremendous value once uncovered. Graphs are also a key technology for GenAI workloads, such as Graph RAG that enables more accurate interactions with LLMs.
Read more about PGX
Job description
As a Systems / C++ engineer, you will part of PGX.D, which is a high-performance distributed engine for in-memory graph analysis - PGX.D aims at processing graphs with hundreds of billions edges and achieving great performance by leveraging fast cloud interconnects and the parallelism of modern multi-cores. We publish the latest results of our work at international research and developer conferences.
Candidate Profile
We are seeking a candidate with the following profile:
Main Requirements:
Experience in software systems required, especially in parallel, distributed, and/or high-performance computing. Advanced Masters or PhD graduates highly desirable, or relevant experience in industry. Excellent English verbal and written skills. Knowledge of modern C/C++ including object-oriented programming, design patterns, and algorithms. Experience with unit testing and developing high-quality software.Desirable Experience:
Experience with scripting (Python, Gradle, shell) and working in the Unix environment. Experience with performance analysis, benchmarking, profiling, footprint or low-level code optimization. Solid design skills with a focus on architecture at scale. Experience with big data technologies (such as Hadoop, Spark). Experience with Java / Kubernetes is a plus.Personal Strengths:
Ability to effectively articulate technical challenges and solutions. Adept at handling ambiguous or undefined challenges through abstract thinking. Ability to collaborate within and across teams effectively. Self-motivated with good time management.What we offer
While demand is soaring across the industry, this opportunity at Oracle Labs offers unique possibilities, including:
Challenging and changing tasks in the context of creating new products. To think BIG - it not a joke - we are offering to work on next generation technology and do research in products that Oracle is going to develop in the future. Did you know that Java was originally a product from Labs? International self-organized team with diverse backgrounds. Ability to publish the results of your achievements. Opportunities for career growth. Competitive pay and benefits. Being part of one of the most strategic department of Oracle and cooperate with smart people in Labs globally. Being part of a growing, dynamic, international team across Africa (Morocco), Europe (Zurich, Prague) and the USA (Redwood Shores). Bridging cutting-edge academic research with customer demand by developing novel techniques that address real-world problems.