Principal Software Development Engineer

Oracle Corporation

Nashville (TN)

In loco

USD 180.000 - 240.000

Tempo pieno

12 giorni fa

Una candidatura completa in un minuto

Curriculum e lettera di presentazione personalizzati, pronti da inviare.

Supera i filtri ATS

Vantaggi offerti da questo lavoro

Relocation assistance

Descrizione del lavoro

Oracle Corporation in Nashville, TN is seeking a Principal Software Engineer to design, build, and operate foundational systems for a highly available object storage service. This senior individual-contributor role shapes technical direction across storage-platform capabilities and works across storage, networking, security, control plane, and observability teams.

You will architect core infrastructure, lead distributed systems design for availability and durability, and drive security-by-design

Competenze

  • Strong software engineering experience in Java or a similar programming language.
  • Experience building distributed systems across hosts or regions.
  • Experience with unit, integration, and end-to-end testing.
  • Familiar with observability practices: metrics, logging, tracing, alerting.
  • Ability to write architectural design documents and lead design reviews for complex services.

Mansioni

  • Architect and deliver core infrastructure for object storage, including metadata, data placement, replication, lifecycle management, and durability workflows.
  • Lead the design of distributed systems that provide high availability, consistency, performance, and operational simplicity at scale.
  • Improve service reliability through fault isolation, disaster recovery design, capacity planning, and rigorous operational practices.
  • Drive technical strategy for cross-team initiatives; influence architecture and execution beyond your team.
  • Investigate and resolve production issues, using deep systems expertise to prevent recurrence.
  • Build tooling, automation, and observability to ease operation and evolution of the service.
  • Partner with security and compliance teams to embed secure-by-design practices.
  • Establish engineering standards through design reviews and clear written communication.

Conoscenze

Distributed systems
Java programming
Systems design
Observability tooling
Mentoring engineers
Cross-team collaboration
Technical leadership
Performance tuning

Formazione

Bachelor's degree in Computer Science

Strumenti

Java
Kubernetes
Docker
Cloud

Descrizione del lavoro

*This position is based onsite in Nashville, TN - We are able to provide relocation assistance

We are seeking a Principal Software Engineer to help design, build, and operate the foundational systems behind a highly available, durable, and globally distributed object storage service. In this senior individual-contributor role, you will solve complex distributed-systems problems at massive scale and set technical direction across critical storage-platform capabilities.

You will work with engineers across storage, networking, security, control plane, and observability to deliver resilient systems that customers can trust with their most important data.

What You'll Do
  • Architect and deliver core infrastructure for object storage, including metadata, data placement, replication, lifecycle management, and durability workflows.
  • Lead the design of distributed systems that provide strong availability, consistency, performance, and operational simplicity at scale.
  • Improve service reliability through fault isolation, automated remediation, disaster recovery design, capacity planning, and rigorous operational practices.
  • Drive technical strategy for complex, cross-team initiatives; influence architecture and execution beyond your immediate team.
  • Investigate and resolve challenging production issues, using deep systems expertise to prevent recurrence.
  • Build tooling, automation, and observability that make the service easier to operate, diagnose, and evolve.
  • Partner with security and compliance teams to embed secure-by-design practices into storage infrastructure.
  • Establish engineering standards through design reviews, technical mentorship, and clear written communication.
Internal Responsibilities

Strong software engineering experience in Java or a similar programming language, including designing, developing, testing, debugging, and maintaining production-quality services.

  • Deep understanding of object-oriented programming principles, including abstraction, encapsulation, inheritance, polymorphism, composition, and appropriate application of common design patterns.
  • Experience designing clean, extensible APIs and service interfaces, with an emphasis on maintainability, testability, backward compatibility, and operational safety.
  • Demonstrated experience designing and building distributed systems, including services that operate across multiple hosts, availability domains, or regions.
  • Strong knowledge of distributed-systems concepts such as replication, consistency, consensus, partition tolerance, leader election, idempotency, retries, failure handling, and eventual consistency.
  • Experience designing systems for high availability, scalability, fault tolerance, and data durability.
  • Experience with concurrent and multithreaded programming, performance analysis, memory management, and diagnosing latency or throughput bottlenecks in Java services.
  • Proficiency with unit, integration, and end-to-end testing practices, including designing tests for failure scenarios and distributed-system edge cases.
  • Experience using observability tools and practices, including metrics, logging, tracing, alerting, and production debugging.
  • Ability to write clear technical design documents, evaluate architectural tradeoffs, and lead design reviews for complex services.
  • Strong collaboration skills and experience partnering with engineering, security, networking, and operations teams.
  • Proven ability to mentor engineers, raise engineering standards, and provide technical leadership without direct people-management responsibility.
Preferred Qualifications
  • Experience with object storage systems, distributed databases, file systems, or other large-scale data platforms.
  • Knowledge of storage-system concepts such as metadata management, object lifecycle operations, data placement, replication or erasure coding, and recovery from hardware or infrastructure failures.
  • Experience designing systems that span multiple regions or availability domains.
  • Experience operating services with demanding availability, durability, latency, or throughput requirements.
  • Familiarity with RESTful APIs, asynchronous processing, message queues, and event-driven architectures.
  • Experience with containerized environments, cloud infrastructure, and automated deployment pipelines.
  • Knowledge of security practices for cloud services, including authentication, authorization, encryption, and secure data handling.
External Responsibilities

Strong software engineering experience in Java or a similar programming language, including designing, developing, testing, debugging, and maintaining production-quality services.

  • Deep understanding of object-oriented programming principles, including abstraction, encapsulation, inheritance, polymorphism, composition, and appropriate application of common design patterns.
  • Experience designing clean, extensible APIs and service interfaces, with an emphasis on maintainability, testability, backward compatibility, and operational safety.
  • Demonstrated experience designing and building distributed systems, including services that operate across multiple hosts, availability domains, or regions.
  • Strong knowledge of distributed-systems concepts such as replication, consistency, consensus, partition tolerance, leader election, idempotency, retries, failure handling, and eventual consistency.
  • Experience designing systems for high availability, scalability, fault tolerance, and data durability.
  • Experience with concurrent and multithreaded programming, performance analysis, memory management, and diagnosing latency or throughput bottlenecks in Java services.
  • Proficiency with unit, integration, and end-to-end testing practices, including designing tests for failure scenarios and distributed-system edge cases.
  • Experience using observability tools and practices, including metrics, logging, tracing, alerting, and production debugging.
  • Ability to write clear technical design documents, evaluate architectural tradeoffs, and lead design reviews for complex services.
  • Strong collaboration skills and experience partnering with engineering, security, networking, and operations teams.
  • Proven ability to mentor engineers, raise engineering standards, and provide technical leadership without direct people-management responsibility.
Preferred Qualifications
  • Experience with object storage systems, distributed databases, file systems, or other large-scale data platforms.
  • Knowledge of storage-system concepts such as metadata management, object lifecycle operations, data placement, replication or erasure coding, and recovery from hardware or infrastructure failures.
  • Experience designing systems that span multiple regions or availability domains.
  • Experience operating services with demanding availability, durability, latency, or throughput requirements.
  • Familiarity with RESTful APIs, asynchronous processing, message queues, and event-driven architectures.
  • Experience with containerized environments, cloud infrastructure, and automated deployment pipelines.
  • Knowledge of security practices for cloud services, including authentication, authorization, encryption, and secure data handling.
Ottieni la revisione del curriculum gratis e riservata.

o trascina qui il file.

Similar jobs

Offerte di lavoro simili che vale la pena confrontare

Principal Engineer, OCI Object Storage
Principal Engineer, OCI Object Storage

Oracle Corporation • Nashville (TN)

In loco
USD 160.000 - 230.000
Principal Software Engineer - Trusted Data Platform
Principal Software Engineer - Trusted Data Platform

Atlassian Corp. • Bellevue (WA)

Remoto
USD 190.000 - 230.000
Senior Engineering Manager, OCI Object Storage
Senior Engineering Manager, OCI Object Storage

Oracle Corporation • Nashville (TN)

In loco
USD 180.000 - 240.000
Senior Staff Storage Engineer
Senior Staff Storage Engineer

DDN • Sacramento (CA)

In loco
USD 180.000 - 240.000
Engineering Mangaer, Object Storage (Remote)
Engineering Mangaer, Object Storage (Remote)

MAP SSG • Stati Uniti

Remoto
USD 204.000 - 289.000
Storage Engineer
Storage Engineer

Selby Jennings • Chicago (IL)

In loco
USD 130.000 - 170.000
Senior Principal Software Engineer, Storage Systems
Senior Principal Software Engineer, Storage Systems

Oracle Corporation • Nashville (TN)

In loco
USD 180.000 - 250.000
Senior Core Infrastructure Engineer, OCI Planning & Capacity
Senior Core Infrastructure Engineer, OCI Planning & Capacity

Oracle Corporation • Nashville (TN)

In loco
USD 140.000 - 190.000
Software Engineer - Storage
Software Engineer - Storage

Jobgether • Oregon

Ibrido
USD 120.000 - 170.000
Lead Architect, Global Object Storage Platform
Lead Architect, Global Object Storage Platform

Oracle Corporation • Nashville (TN)

In loco
USD 160.000 - 230.000