Principal Software Development Engineer

Oracle•Nashville, TN
•Onsite

About The Position

This onsite role in Nashville, Tennessee, with relocation assistance available, is for a senior individual contributor who will help design, build, and operate foundational systems for a highly available, durable, globally distributed object storage service. The engineer will solve complex distributed-systems problems at scale and set technical direction across critical storage-platform capabilities, partnering with teams across storage, networking, security, control plane, and observability. The role focuses on delivering resilient storage infrastructure customers can trust with important data. It includes leading architecture and cross-team initiatives, improving service reliability and operability, resolving complex production issues, and establishing engineering standards through design reviews, mentorship, and clear written communication. Oracle notes that certain U.S.-based or customer-facing roles may have applicable immunization, occupational-health, or drug-testing requirements. U.S.-based employees must complete identity verification involving biometric information as part of onboarding; accommodations may be granted following an individualized assessment.

Requirements

  • Strong software engineering experience in Java or a similar programming language.
  • Deep understanding of object-oriented programming principles, including abstraction, encapsulation, inheritance, polymorphism, composition, and appropriate use of common design patterns.
  • Experience designing clean, extensible APIs and service interfaces, emphasizing maintainability, testability, backward compatibility, and operational safety.
  • Demonstrated experience designing and building distributed systems operating across multiple hosts, availability domains, or regions.
  • Strong knowledge of distributed-systems concepts, including 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 in unit, integration, and end-to-end testing practices, including testing failure scenarios and distributed-system edge cases.
  • Experience with 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.
  • Ability to mentor engineers, raise engineering standards, and provide technical leadership without direct people-management responsibility.

Nice To Haves

  • 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 spanning 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 cloud-service security practices, including authentication, authorization, encryption, and secure data handling.

Responsibilities

  • Architect and deliver object-storage infrastructure, 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 and influence architecture and execution beyond the immediate team.
  • Investigate and resolve challenging production issues, using systems expertise to prevent recurrence.
  • Build tooling, automation, and observability to 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.
  • Design, develop, test, debug, and maintain production-quality services.
  • Design clean, extensible APIs and service interfaces with attention to maintainability, testability, backward compatibility, and operational safety.
  • Design and build distributed systems that operate across multiple hosts, availability domains, or regions.
  • Apply distributed-systems concepts including replication, consistency, consensus, partition tolerance, leader election, idempotency, retries, failure handling, and eventual consistency.
  • Design systems for high availability, scalability, fault tolerance, and data durability.
  • Use concurrent and multithreaded programming, performance analysis, and memory-management expertise to diagnose latency or throughput bottlenecks in Java services.
  • Use unit, integration, and end-to-end testing, including tests for failure scenarios and distributed-system edge cases.
  • Use observability practices and tools, including metrics, logging, tracing, alerting, and production debugging.
  • Write technical design documents, evaluate architectural tradeoffs, and lead design reviews for complex services.
  • Collaborate with engineering, security, networking, and operations teams.
  • Mentor engineers, raise engineering standards, and provide technical leadership without direct people-management responsibility.

Benefits

  • Medical, dental, and vision insurance, including expert medical opinion.
  • Short-term and long-term disability coverage.
  • Life insurance and AD&D.
  • Supplemental life insurance for employees, spouses, and children.
  • Health-care and dependent-care Flexible Spending Accounts.
  • Pre-tax commuter and parking benefits.
  • 401(k) Savings and Investment Plan with company match.
  • Paid time off, with flexible vacation for eligible salaried employees and accrued vacation for other eligible employees.
  • 11 paid holidays.
  • Paid sick leave: 72 hours upon hire, refreshed each calendar year, with unused balances carrying over up to a 112-hour maximum.
  • Paid parental leave.
  • Adoption assistance.
  • Employee Stock Purchase Plan.
  • Financial planning and group legal benefits.
  • Voluntary auto, homeowner, and pet insurance.
  • May be eligible for bonus, equity, and compensation deferral.
  • Relocation assistance.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service