Oracle Cloud Infrastructure (OCI) builds and operates cloud services that help customers solve complex technical and business challenges. OCI Queue provides managed, durable messaging that enables applications to communicate asynchronously, absorb traffic spikes, and process work reliably.
We are seeking a Principal Software Engineer who enjoys building distributed systems and solving challenging problems in messaging, storage, concurrency, and production reliability. You will help shape OCI Queue’s architecture and develop capabilities that balance durability, correctness, performance, scalability, and operational simplicity.
You will work across customer-facing APIs, queue management workflows, request routing, and replicated storage. This is a hands-on technical leadership role with ownership from design and implementation through testing, deployment, and production operations.
In this role, you will:
- Lead the design and implementation of distributed messaging capabilities, including ordered delivery, deduplication, message lifecycle management, and workload isolation.
- Improve service performance, capacity utilization, availability, and recovery under failures.
- Design reliable APIs and durable workflows, maintaining compatibility across service components and deployments.
- Drive automated testing, failure injection, performance qualification, and safe production rollouts.
- Investigate complex production issues, contribute to on-call operations, and deliver lasting reliability improvements.
- Partner with product management and engineering teams to evaluate tradeoffs, establish technical direction, and mentor engineers through design and code reviews
Required Qualifications
- Bachelor’s or master’s degree in computer science or a related technical discipline, or comparable professional experience.
- At least six years developing production software, with substantial experience delivering distributed systems or cloud services.
- Proficiency in Java or Go, including concurrent programming, debugging, and performance analysis.
- Solid understanding of algorithms, data structures, operating systems, networking, and storage fundamentals.
- Practical knowledge of distributed-system behavior, including consistency, replication, retries, idempotency, partial failures, and recovery.
- Experience designing service APIs and evolving interfaces without disrupting existing consumers.
- Experience establishing automated unit, integration, and performance tests, supported by CI/CD practices.
- Experience operating production services: monitoring, troubleshooting, incident response, and participation in on-call rotations.
- Demonstrated ability to lead complex engineering work, communicate architectural decisions, and collaborate across teams.
- Sound engineering judgment when using AI-assisted development tools, including independent verification of correctness, security, and maintainability.
Preferred Qualifications
- Experience building messaging systems, distributed storage, event-processing platforms, or similar infrastructure services.
- Familiarity with technologies such as Apache Kafka, RabbitMQ, Amazon SQS, Azure Service Bus, or OCI Queue.
- Experience with consensus protocols such as Paxos or Raft, replicated state machines, durable logs, checkpoints, and crash recovery.
- Understanding of ordering guarantees, producer deduplication, delivery acknowledgements, visibility timeouts, and dead-letter handling.
- Experience with partitioning, load balancing, backpressure, resource quotas, capacity planning, and online workload migration.
- Experience with gRPC, Protocol Buffers, metadata caching, and asynchronous control-plane workflows.
- Experience profiling JVM or Go applications and diagnosing Linux networking, CPU, memory, and storage bottlenecks.
- Familiarity with containers, infrastructure automation, Terraform, and staged deployment practices.
- Experience designing secure multi-tenant services, including authorization, encryption, tenant isolation, and operational safeguards.
- A record of influencing architecture across teams and improving engineering practices through mentoring, reviews, and clear technical documentation.